|
Message Closed
modified 23-Nov-14 6:34am.
|
|
|
|
|
Thank's for the suggestion. There are a few thousand nodes in the treemap. I don't if that changes things? Also, I'm still stuck with the problem of how to make one form invisable and the next form visable when moving between nodes?modified on Friday, March 12, 2010 4:46 PM
|
|
|
|
|
Really bad idea. Creating a few thousand forms?? Seems a bit overkill.
|
|
|
|
|
Can't you do that with just the one form; hide it when not needed, make it show the data of the object of interest when hovering something. So have it invalidate when moving over another object, rather than closing one and opening another one. If doable, should be much cheaper and snappier.
|
|
|
|
|
Thank you that's a very good idea.
|
|
|
|
|
i made a remote desktop, when the client remote the server, server will be send update every time.
how to make it update every time(source code)?
thankQ..
|
|
|
|
|
I am having some problem with my c# program. The program was meant to ask a user for their age and a pin code, if the user is over 18, it ask them for their pin code and how many times they want their name displayed btw 5 and 20 but if they are not, a particular message comes up.
I am having problem setting up the variables. Do I have to store the age, pincode and numbers in int ?
This is what I have done so far and i have tried entering a wrong pin code but it didn;'t give me the messages i wanted.
class Program
{
static void Main(string[] args)
{
int age;
long pinCode;
int number;
age = 18;
pinCode = 1965;
number = 5;
What am I doing wrong?
|
|
|
|
|
Janded wrote: I am having problem setting up the variables. Do I have to store the age, pincode and numbers in int ?
You don't have to, you can store them in a string, which is how they come in from the user. However, if you what to do useful comparisons, then you do indeed need to convert them to int, long or similar.
The code below should give you the basics: Prompt, read in, convert, and show again.
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter your age:");
string userAge = Console.ReadLine();
int age;
if (int.TryParse(userAge, out age))
{
Console.WriteLine("In ten years you will be {0}", age + 10);
}
else
{
Console.WriteLine("{0} is not a number!", userAge);
}
}
} The TryParse examines a string and attempts to convert it to an int (in this case, long, double etc. are all available). There is also Parse, but that will throw an exception if the user enters "Hello" when you want a number. TryParse doesn't - it just returns false.You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy
|
|
|
|
|
OriginalGriff wrote: However, if you what to do useful comparisons, then you do indeed need to convert them to int, long or similar.
Not really. If you want to compare two strings you can do so.
If you want to do some arithmetic (e.g. adding 10 to age) then you need to convert to a numeric.Regards
David R
---------------------------------------------------------------
"Every program eventually becomes rococo, and then rubble." - Alan Perlis
|
|
|
|
|
Picky, picky, picky!
I didn't want the OP to assume that string comparisons would be the most useful things he could do - and I believe in converting from string to more useful formats as early as possible, and converting back as late as possible. You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy
|
|
|
|
|
Who voted you one for that? Perfectly reasonable comment, I thought. Balance redressed as best I can... You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy
|
|
|
|
|
Your balancing caused a voting war
|
|
|
|
|
I don't really take any notice of the voting but thanks anyway.
My comment was triggered in part because I've seen horribly complex code to display the leading 0s when using numerics to store phone numbers and such like. All done in the name of saving a couple of bytes per record.
The worst was a warehouse management system (in VMS Basic) where store numbers in some files had three chars, some had integers, some longs, some four chars (with leading or trailing space) and one with six chars (commented 'For expansion'). So a simple comparison of store numbers in two files could not be done in one line. Regards
David R
---------------------------------------------------------------
"Every program eventually becomes rococo, and then rubble." - Alan Perlis
|
|
|
|
|
riced wrote: I don't really take any notice of the voting but thanks anyway.
Yeah, but a one vote implies to someone reading "this answer contains garbage" - since yours doesn't, I thought it should be corrected.
riced wrote: My comment was triggered in part because I've seen horribly complex code to display the leading 0s...
Don't you just love internal consistancy?
With telephone numbers I do tend to leave them as strings - there is no useful manipulation to do most of the time, and people do get protective of their favourite format: "+44 (0)1111 1111111" is "better" than "011111111111" and vice versa. If you can get a company wide format for these things, great - but too many will see that as the IT dept trying to "run their lives"! You can't win either way... You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy
|
|
|
|
|
Most important question:
How are you comparing the variables?
Obviously the incoming data has to be string, and not so obviously the comparison values can be stored in any format you like, however the format should be picked dependant on the data contained. So integer for a pin number may be perfect, as long as you can only have integer pin numbers.
So, show us the comparison code and we can advise you further.
|
|
|
|
|
|
Firstly, all input from Console.ReadLine or from parameters passed to the exe are strings.
Secondly, in your code you are never capturing the input, and you have your logic back to front. For starters you never prompt for the age, and also you seem to refer to the name a lot, which is also never input.
Here is an example of how the code should start, showing the logic for the input and validation of the age. Apply the same locig throughout and you are home and dry.
int age;
string input;
Console.WriteLine("Please enter your age:");
input = Console.ReadLine();
if (!int.TryParse(input, out age)){
Console.WriteLine("{0} is not a number!", input);
Console.ReadLine();
return;
}
if (age < 18) {
Console.WriteLine("Sorry, Come back when your older");
Console.ReadLine();
return;
}
|
|
|
|
|
Can I use the technique below to ask a user for their security code as well. Assuming the scurity code is 2090, If the user enter a wrong code...a message comes up.
if (!int.TryParse(input, out code)){
Console.WriteLine("{0} is not a number!", input);
Console.ReadLine();
int code;
string codeInput;
I tried it using the technique above, but I had to press the enter key twice before I got any message from it
|
|
|
|
|
Can I use the technique below to ask a user for their security code as well. Assuming the scurity code is 2090, If the user enter a wrong code...a message comes up.
if (!int.TryParse(input, out code)){
Console.WriteLine("{0} is not a number!", input);
Console.ReadLine();
int code;
string codeInput;
or can I just do it this way int code = 2090;
I tried it using the technique above, but I had to press the enter key twice before I got any message from it
|
|
|
|
|
It will work if you use the same syntax as the example I gave you before.
The code you have posted is back-to-front and upside-down. You appear to be using the variables before you declare them. This is the same problem you had at the start, where you were testing the variables before inputing them!
|
|
|
|
|
Got it working, but I now need to enter numbers between 5 and 20 and print the users name requested the number of times.
This is what i intend to do..
Random random = new Random();
int randomNumber = random.next(5,20);
|
|
|
|
|
Or can I just say
int number;
number = int.Parse((console.Readline)); ?
|
|
|
|
|
i found a code segment to write new name/value pairs to app.config, but it doesn't work properly. means it doesn't change the app.config file permanently.
following is the code segment
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Add("name", t2.Text);
config.Save();
ConfigurationManager.RefreshSection("appSettings");
when i restart the program again only the default values are there .
any help,
|
|
|
|
|
If you are running your app from visual studio :
Not your app.config gets changed, in bin/<debug/release>-directory <YourAppName>.exe.config is altered.
|
|
|
|
|
Hi
What are the things i need to look into when i use serial port class?
My issue is I am getting a Timeout Exception every now and then in Reading the port.
My understanding about the serial port class is as below
1. We need to set the baud rate, parity etc once
2. Timeout value (read timeout and write timeout) every time you read or write.
a. Read timeout timer starts when the first characeter arrives at the hardware buffer and code will wait till all the characters arrived as per the code
comPort.Read(buffer, 0, 100); here it will wait for 100 bytes or timeout value whichever is earlier. ie. if it read 100 bytes it will return even if timeout (say 100mS) not reached. but what happens if there is lesser bytes? is there a interbyte timeout as in CPP here in C#? how to set it?
b. Write timeout functions in same fashion with writing to port. it will return after specified bytes have written unless timeout is not reached.
Am i correct in these assumptions?
Do I have to use some sort of thread locking in DataReceived event thread for proper displaying of the data? (I assume that the DataReceived event thread is system handled thread and does not have control over it. Am i correct?)
|
|
|
|