|
ah, ok you use the TableLayoutPanel thats one possiblity.
Thanks for that example!
cheers
Tiefe Brunnen muss man graben wenn man klares Wasser will,
tiefe Wasser sind nicht still.
|
|
|
|
|
youp, heres a example.
<br />
Point newLocation = new Point();<br />
newLocation.X = (int)(this.Width - groupBox1.Width) / 2;<br />
newLocation.Y = (int)(this.Height - groupBox1.Height) / 2;<br />
groupBox1.Location = newLocation;<br />
Tiefe Brunnen muss man graben wenn man klares Wasser will,
tiefe Wasser sind nicht still.
|
|
|
|
|
Hi Guys. I need a little help with calculating a list of numbers. I'm importing a list of numbers and I would like to calculate the sum of these.
an example of this list of numbers is as follows.
<br />
300145639<br />
2240154504<br />
53370705579<br />
1984209469<br />
540191077<br />
1322660604<br />
I have this small bit of code which I know is wrong. Could somebody please guide me on how to do this corretly? I don't seem to get the correct total when running this. Any help would be greatly appreciated.
foreach (imphash hsh in res)
{
CalculateNum(hsh.Field1.ToString());
}
}
void CalculateNum(string list)
{
int sum = 0;
for (int i = 0; i < list.Length; i++)
{
sum += Convert.ToInt32(list);
txtboxdsptxt.Text =(sum.ToString() + Environment.NewLine);
}
}
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
This would be my solution... I don't know how large the file is, so you may end up with an overflow exception
<br />
foreach (line in file)<br />
{<br />
Sum += String2Long(line);<br />
}<br />
<br />
private long String2Long(string Input)<br />
{<br />
long Value = 0;<br />
if (Input == null)<br />
throw new Exception("Input is empty");<br />
<br />
if (!long.TryParse(Input, out Value))<br />
throw new Exception("Conversion failed");<br />
<br />
return Value;<br />
}<br />
|
|
|
|
|
Your code is right, except that because you have so many large numbers, your number will overflow and thus come out with too small a result. Try using long instead of int, if it still happens, then you need to look into libraries that support super large numbers.
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Thanks Christian. I did this and for some strange reason I only get the last number in the list returned instead of the sum of all the numbers.
foreach (imphash hsh in res)
{
txtboxdisplay.Text += hsh.Field1 + Environment.NewLine;
CalculateNum(hsh.Field1.ToString());
}
}
void CalculateNum(string list)
{
long sum = 0;
for (long i = 0; i < list.Length; i++)
{
sum += Convert.ToInt32(list);
txtboxdsptxt.Text =(sum.ToString() + Environment.NewLine);
}
}
I have also noticed that it seems to itterate throught the CalculateNum function a number of times before returning to foreach(imphash hsh in res) .
These are the values in the file that I'm importing. (Just a few numbers for testing)
300145639
1984209469
540191077
1322660604
The sum returned is 13226606040. I'm expecting it to return 4147206789.
Anything else I might be missing?
Thanks for helping.
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
Your code is summing up 10 times the last string passed (i.e. 1322660604).
(10 is the number of characters the string has). Probably you need something similar to
long sum = 0;
foreach (imphash hsh in res)
{
txtboxdisplay.Text += hsh.Field1 + Environment.NewLine;
sum += Convert.ToInt32( hsh.Field1.ToString());
}
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
HI mate. I am doing that in the calculation functions. I pass the hsh.Field1.ToString() to the CalculateNum function.
void CalculateNum(string list)
{
long sum = 0;
for (long i = 0; i < list.Length; i++)
{
sum += Convert.ToInt32(list);
txtboxdsptxt.Text =(sum.ToString() + Environment.NewLine);
}
}
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
That's wrong, I already pointed out why.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Cool. I have ammended and now I get an OverflowException was unhandled error. Value was either too large or too small for an Int32. Is there something else I can cast the value to?
I used Int64 and that worked but I still get the result 10* the actual answer? Any ideas?
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
|
I am using Int64 and long but It appears to itterating 10 times. Not sure why.
long sum = 0;
foreach (imphash hsm in res)
{
sum += Convert.ToInt64(hsm.Field1.ToString());
CalculateNum(sum);
}
}
void CalculateNum(long list)
{
long sum = 0;
for (long i = 0; i < list.ToString().Length; i++)
{
sum += Convert.ToInt64(list);
txtboxdsptxt.Text =(sum.ToString() + Environment.NewLine);
}
}
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
Kwagga wrote:
long sum = 0;
foreach (imphash hsm in res)
{
sum += Convert.ToInt64(hsm.Field1.ToString());
CalculateNum(sum);
}
}
void CalculateNum(long list)
{
long sum = 0;
for (long i = 0; i < list.ToString().Length; i++)
{
sum += Convert.ToInt64(list);
txtboxdsptxt.Text =(sum.ToString() + Environment.NewLine);
}
}
long sum = 0;
foreach (imphash hsm in res)
{
sum += Convert.ToInt64(hsm.Field1.ToString());
}
txtboxdsptxt.Text =(sum.ToString() + Environment.NewLine);
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Ah, now I understand. You said this earlier. It works now.
Thanks
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
One last question. What if Int64 and long is too short? What I am doing is the following.
I have a list of 100 000 records which are all long numbers and can be upto 11 digits long some of them. Now, I need to calculate a total for them, add them all together. The ansrew I think can be upto 16 digits long but it seems like Int64 only returns 13 digits.
Anyway, I can use something else that would return a much bigger value?
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
Christian Graus wrote: Your code is right,
No, its not. Look again!
|
|
|
|
|
I think my problem here is the foreach loop. DO I need to use foreach ? Can I structure this different to not use a foreach loop and avoid it from itterating so many times?
Code again:
long sum = 0;
foreach (imphash hsm in res)
{
sum += Convert.ToInt64(hsm.Field1.ToString());
CalculateNum(sum);
}
}
void CalculateNum(long list)
{
long sum = 0;
for (long i = 0; i < list.ToString().Length; i++)
{
sum += Convert.ToInt64(list);
txtboxdsptxt.Text =(sum.ToString() + Environment.NewLine);
}
}
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
Kwagga, this has been answered 3 times now. Im not sure what it is you're not getting about this seemingly simple task. You have a list of numbers as strings, parse each number into an integer (as discussed you may need a bigger integer than int so use long) and sum them.
What your code does:
1) for each number in the list
2) parse it to a long
( good so far but... )
3) send the long to a method which converts it back to a string (list.ToString() )
4) go character by character of the number and convert the original long back to a long (sum += Convert.ToInt64(list); )
( its getting worse... )
5) sum the number again.
For the final time (i hope) the second method is supervlous.
long sum = 0;
foreach (imphash hsm in res)
{
sum += Convert.ToInt64(hsm.Field1.ToString());
}
txtboxdsptxt.Text =(sum.ToString());
|
|
|
|
|
Thanks mate. However,Int64 is not bog enough for the result. Anything else that would be big enough? Int64 only returns a 13 digit number causing it not to calculate correctly.
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
iam devoloping both ftp server and client in c# (windows application)
i have two doubts
1. in ftp client when set sslenable=true for security then server receive
"AUTH" command server returns "226 authenticated" then server recieve
some encoded character. my qustion is what is that chracter and which code returns by server
2.when uploading a file asynchronously server receive "OPTS" command
which code returns for this by server
please help me
with advance thanks
|
|
|
|
|
About your first question I am not sure where this information would help you. This is handled by the protocol itself and if there is an error/exception, it would be shown.
However if you still want the information, you can use any ftp client like Filezilla etc and enable tracing capabilities (to create a trace log) which would show you the data sent and received.
For OTPS command, please refer the RFC.
http://apps.mrochek.com/rfc/rfc2389.html#sec-4
~Dave
Dave Traister
Software Engineer
ComponentOne LLC
www.ComponentOne.com
|
|
|
|
|
I have created a service which keep track of c:\program files folder and record all the creation & deletions of in the folder. I have created a setup too to install it, And i know how how to set the service type to automatic and restart the machine, But i want to know the place where the restart code should be placed in the project. means after installation i want the computer to restart itself.
|
|
|
|
|
Write an installer that installs the service and then prompts the user to restart the machine. BTW, you should do everything you can to avoid requiring a reboot. Users hate that.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
i have two forms one fills from datasource
the second form have number of textboxs
i want to copy the text from textboxs on the first form to the textboxs on the second form
i'm using C#.net 2005
regards
|
|
|
|
|
Depending on how many tere are, you can have properties on the form that set the values and set them before showing it, or pass them through on the constructor. It also depends if you want to force your user to provide the values.
If the second form is already visible and you want to set it, then properties or using a delegate are your options
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|