|
Did you do the dictionary create bit after you loaded the word?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Do you mean this:
letters = shuffled_word.GroupBy(c => c).ToDictionary(g => g.Key, g => g.Count());
|
|
|
|
|
Show me the code that reads the word and includes that.
Add the code of your textbox handler.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
private Dictionary<char, int> letters;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
letters = promesana_rec.GroupBy(c => c).ToDictionary(g => g.Key, g => g.Count());
if (char.IsLetter(e.KeyChar))
{
char keyPressedByUser = char.ToUpper(e.KeyChar);
if (!promesana_rec.Contains(keyPressedByUser))
{
e.Handled = true;
return;
}
int inputCount = textBox1.Text.ToUpper().Where(c => c == keyPressedByUser).Count() + 1;
if (inputCount > letters[keyPressedByUser])
{
e.Handled = true;
return;
}
e.Handled = false;
}
}
|
|
|
|
|
So look at what is in promesana_rec and check that it is all uppercase. Use the debugger inside the KeyPress handler to check it.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
promesana_rec is shuffled word loaded from database and I converted it to uppercase and it's working now!!!!
|
|
|
|
|
Glad to hear it!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Thank you very much for help!!!!
|
|
|
|
|
You're welcome!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I am writing a CAD type program using spheres and other simple shapes. I once wrote something similar in vb6 with openGL (or it could have been XNA). I enjoyed 3d function set as the commands were similar to AutoCAD. Now that vb6 is gone and vb.net is on its way out, I am now learning/using c#. My goal is to distribute software freely with a product. There are tons of add-ons such as XNA, openGl and others.
Some of these are also on their was out. When the user installs my software, I do not want to get a conflict with their existing software structure or have the user go to a support site to get the 3d engine. Is C# comprehensive enough to not need an outside 3d function set? Is it now inclusive in c# or is it much simpler to use a 3d function set? If so, what function set is simple. I was very pleased with vb6 and the added 3d class. I could spin hundreds of objects on the screen with no lag time. On the same PC, it was much faster than Autocad
|
|
|
|
|
Member 1956108 wrote: vb.net is on its way out To where? I hadn't heard that. Visual Basic | Microsoft Docs[^]
Member 1956108 wrote: Is C# comprehensive enough to not need an outside 3d function set? I really doubt it, but do not know for sure.
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
PS, also delete your duplicate question. It irritates some people.
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Member 1956108 wrote: XNA, openGl and others.Some of these are also on their was out OpenGL is not on its way out. It has been here for more than 20 years, but that does not make it "obsolete".
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
|
Thank you Gerry. The title says it all...
Easy 2D and 3D programming with WPF
|
|
|
|
|
Glad I could help. This is the guy who wrote the most on WPF graphics that I could find:
Dr. Xu | WPF Graphics[^]
|
|
|
|
|
I am in a search for a specific user in the Active Directory, I use this method but I give me a error in the FindAll , that I have not found solve.
This is the mistake: An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in System.DirectoryServices.dll
SearchResultCollection sResults = null;
try
{
string path = "LDAP:
DirectoryEntry dEntry = new DirectoryEntry(path);
DirectorySearcher dSearcher = new DirectorySearcher(dEntry);
dSearcher.Filter = "(&(objectClass=user))";
sResults = dSearcher.FindAll();
foreach (SearchResult searchResult in sResults)
{
if (searchResult.Properties["CN"][0].ToString() == "Administrator")
{
ResultPropertyValueCollection valueCollection =
searchResult.Properties["manager"];
foreach (Object propertyValue in valueCollection)
{
Console.WriteLine("Property Value: " + (string)propertyValue.ToString());
}
Console.WriteLine(" ");
}
}
}
catch (InvalidOperationException iOe)
{
}
catch (NotSupportedException nSe)
{
}
finally
{
if (sResults != null)
sResults.Dispose();
}
Console.ReadLine();
}
|
|
|
|
|
Member 12893928 wrote: dSearcher.Filter = "(&(objectClass=user))";
So...no, this does not do what you think it does. You're throwing an LDAP query at the DirectorySearcher that is broken; it's looking for all objects with objectClass==user and nothing, which is a syntax error. If you wanted to search based on a username you need to first determine which name is appropriate, which will vary from domain to domain. Do you want the SAM Name, or do you want the UPN? Do you want a list based on last name?
First you need to inject a variable into this whole thing, then you need to modify your filter to specify a username. For instance:
dSearcher.Filter = string.Format("(&(objectClass=user)(samaccountname={0}))",userNameVariable);
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
HI Team,
Label text is not updating.Here is the check I am doing.If the label = 1234,i am trying to update the label.It is entering the if condition,but the label is not getting updated with the new one i.e 100.
this.lblPos.Text = "1234";
if (this.lblPos.Text == "1234")
{
this.lblPos.Text = "100";
this.lblPos.Update();
this.lblPos.Refresh();
}
Thanks in Advance
|
|
|
|
|
Works fine in my program. Where exactly is this code being executed?
|
|
|
|
|
Use the debugger: put a breakpoint on the first line of that code and step it through.
At a guess, I'd say it probably isn't being executed at all for some reason and the debugger will never hit the breakpoint as a result. If that happens, put another breakpoint at the start of the method containing that code and try again.
When you hit a breakpoint the debugger will stop and let you take control, stepping lines of code and looking at variables to see what is going on.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
If it is a winform try adding a line Application.DoEvents after you alter the value.
|
|
|
|
|
Generally speaking, if you need DoEvents then there is something very wrong with your application design!
In this case it won't help anyway: the Text property is just a string, if you look at ethe reference source:
[
Editor("System.ComponentModel.Design.MultilineStringEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
SettingsBindable(true)
]
public override string Text {
get {
return base.Text;
}
set {
base.Text = value;
}
}
And the base class implementation (Control):
[
SRCategory(SR.CatAppearance),
Localizable(true),
Bindable(true),
DispId(NativeMethods.ActiveX.DISPID_TEXT),
SRDescription(SR.ControlTextDescr)
]
public virtual string Text {
get {
if (CacheTextInternal) {
return(text == null) ? "" : text;
}
else {
return WindowText;
}
}
set {
if (value == null) {
value = "";
}
if (value == Text) {
return;
}
if (CacheTextInternal) {
text = value;
}
WindowText = value;
OnTextChanged(EventArgs.Empty);
if( this.IsMnemonicsListenerAxSourced ){
for( Control ctl = this; ctl != null; ctl = ctl.ParentInternal ) {
ActiveXImpl activeXImpl = (ActiveXImpl)ctl.Properties.GetObject(PropActiveXImpl);
if( activeXImpl != null ) {
activeXImpl.UpdateAccelTable();
break;
}
}
}
}
} Doesn't do anything exotic with it either, certainly nothing that DoEvents would affect.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Of course, however if DoEvents shows an improvement and the label updates then you know there's an issue somewhere else.
|
|
|
|
|
OriginalGriff wrote: nothing that DoEvents would affect
Are you sure about that?
Have a look at the WindowText property setter[^]:
if (value == null) value = "";
if (!WindowText.Equals(value)) {
if (IsHandleCreated) {
UnsafeNativeMethods.SetWindowText(new HandleRef(window, Handle), value);
}
else {
if (value.Length == 0) {
text = null;
}
else {
text = value;
}
}
}
That call to UnsafeNativeMethods.SetWindowText will require the message loop to pump events before the control is updated.
Which is exactly what DoEvents was intended for.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|