|
Hi Jeff,
Two points to clarify what I said earlier:
1.
for big integers the theory on division algorithms can fill many books; there
are ways much more appropriate than the shift-and-try-to-subtract approach,
especially for *large* numbers. Of course for 128-bit or so, it probably does
not matter much.
2.
I did my ToString() long before I even attempted to do a general divide;
after all, dividing by 10 is a very simple special case, since the divisor
is both small and a known constant. So the easiest approach is by repeated MOD10/DIV10
operations. Your divide-by-a-large-power-of-10, then let .NET take care of
the details, is viable too, of course, provided your division is correct...
Cheers.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Found it. In my Divide method, my logic was as follows:
1. If divisor == 0, throw DivideByZeroException
2. If divisor > dividend, return (0 R dividend)
3. If divisor == dividend, return (1 R 0)
4. Shift the divisor left until Log2(divisor) == Log2(dividend)
5. While the dividend > ulong.MaxValue, do repeated subtraction
6. Use the built-in ulong division / modulo methods to obtain the result. My error was in step #5. In my divide method, I continued doing repeated subtraction until the number of bits in the shifted divisor was < 64. However, just because the base-2 log of the divisor was < 64 does not mean that the partial difference is as well. I simply changed the condition "divBits >= 64" to "divBits >= 63", and it now works just fine, as the partial difference is now guaranteed to be <= ulong.MaxValue. Thanks for the help,
Sounds like somebody's got a case of the Mondays
-Jeff
|
|
|
|
|
This seems simple but I have a background image on my MDIparent form. The imagelayout is set to center. Now when the form is resized I have the form refresh() so the image will appear back in the center of the form after it has been resized. This works fine, but when you use the control boxes at the top right (minimize, maximize, exit) it does not work. What function is called when those buttons are used? The way I have it when you click Maximize the center image will stay at where it was before it was maxed, but then it looks like it tries to put the same image in the center.. so I have half of a image under the full image before the form was maximized???
If the refresh() trying to repaint the image again? Is this why it is doing this? This does not happen when I resize the form instead of using the max button.
|
|
|
|
|
I figured it out... ClientSizeChanged
|
|
|
|
|
Hello,
I want to change the gradient background of my button. It's easy to change the background color, but using a custom gradient is obviously less straight forward.
Could someone point me in the right direction?
Thanks!
Ian
|
|
|
|
|
well, i´d say create a custom control, inherit from button
and try something like his in the overridden OnPaint Method
<br />
Graphics g = pe.Graphics;
Rectangle bg = new Rectangle(0, 0, this.Width, this.Height);<br />
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(bg, PageStartColor, PageEndColor, 0.0);<br />
g.FillRectangle(brush, bg);<br />
brush.Dispose();
|
|
|
|
|
Thanks for taking the time! I appreciate it!
I'll try this solution.
|
|
|
|
|
here is code for you !!!!
<br />
Bitmap bmp = new Bitmap(500, 500);<br />
Graphics G = Graphics.FromImage(bmp);<br />
LinearGradientBrush Lb = new LinearGradientBrush(new Point(0, 0), new Point(100, 100), Color.Red, Color.Green);<br />
G.FillRectangle(Lb, new Rectangle(0, 0, 100, 100));<br />
button1.BackgroundImage = bmp;
|
|
|
|
|
Thanks for taking the time! I appreciate it!
I'll give it a shot.
|
|
|
|
|
|
Thanks for the link! I'll check it out.
|
|
|
|
|
I need some assistance resolving this issue. In the DragOver method I need to identify the column panel that a control was assigned to before assigning it back again to the main form for the application. The question is, what is the correct approach to assign the control back to the application main form so that the NewLocation() function can assign it to a new location on the main form? Currently, the control only stops dragging when I attempt to drag the control onto the control on that Panel object. I need the control that is dragged to be able to identify which panel the control is being dragged onto and then to reassign the control back to the main form using the PointToScreen() method. Is this even possible?
private static void _ctrlParent_DragOver(object sender, DragEventArgs e)
{
...
ctrl.Parent.Controls.Remove(ctrl);
ctrl.Parent = cthis;
cthis.Controls.Add(ctrl);
Control ctrlPanelContainer = getPanelContainerName(ctrl);
string strPanelContainerName = ctrlPanelContainer.Text;
int intPanelContainerX = ctrlPanelContainer.Left;
int intPanelContainerY = ctrlPanelContainer.Top;
Point pt_parent = new Point(intPanelContainerX, intPanelContainerY); Control panelContainer = ctrl.TopLevelControl.GetChildAtPoint(pt_parent);
strPanelContainerNameMouseUp = panelContainer.Name;
frmSolitaireMainForm frm = new frmMainForm();
ctrl.Parent.Controls.Remove(ctrl);
ctrl.Parent = cthis;
cthis.Controls.Add(ctrl);
string strCthisNew = cthis.Name;
Point NewLocation = cthis.PointToScreen(new Point(e.X, e.Y));
ctrl.Left = NewLocation.X;
ctrl.Top = NewLocation.Y;
ctrl.BringToFront();
...
}
modified on Sunday, February 10, 2008 4:26 PM
|
|
|
|
|
hello!
I need any article on the topic "Application/ Benifits or Advanteges of a Digital Dictionary".Please any one help me to search this topic at least five pages.
i'll b very thankfull.
my email id is: abdul_bu@yahoo.com
|
|
|
|
|
Don't double-post. It's rude. Read the forum guidelines.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
I am recreating a collectable card game and need to make the game easily updatable.
Each card has its own effects which i will have to write specific functions for and
the problem arises when new cards need to be added and the application will obviously
not have the functionality for them.
Could i somehow write a dll for each card including the new functions or add the new
functions to an existing dll, but then how would the app know about the new functions. As you can tell i have not got a clue
|
|
|
|
|
In a situation like this where it's impossible for the calling application to know what changes you are going to implement in the callee, you need to provide a standardised method for managing it. You ensure that the card actually handles all of the effects and knows how to call them in response to some stimulus from the calling application. Take a look for plug in articles on this site to get an idea as to how others have handled this in the past.
|
|
|
|
|
|
Hello!
I would like to create a windows explorer toolbar in .NET Framework.
I read an article about it, but it is a little difficult.
Maybe there is a simple way of creating a toolbar that will be able to do
some simple functions?
Thanks in advance!
|
|
|
|
|
|
Thank you, I will try that.
Have a nice day!
|
|
|
|
|
Hi
I have a Start/Stop button in my toolstrip, where I would like change the icon according to the state. I'm all ready changing the Alt. text and I've imported the two icons I need. But when it comes to the dynamic change I'm stock.
if (controller.Status == ServiceControllerStatus.Stopped)
{
btnServiceControl.Text = "Start";
etc...
Thank you in advance.
/Lars
|
|
|
|
|
ToolStripButton class has a property called Image which allows you to set the image you wish to be displayed.
|
|
|
|
|
Super, thanks...
If others should want to do the same:
btnServiceControl.Image = Properties.Resources.stop;
* stop is imported image
|
|
|
|
|
You are welcome
|
|
|
|
|
Hi
I want to open other file types using my form
I used (Process.start("sth.exe","sth.sth"); )
it works some times but some times when(I think) the path name have space within it ,it causes error like this (Process.start("wmplayer.exe","track 01.mp3");)
if I write this one (Process.start("wmplayer.exe","track01.mp3");) instead of the above one it works
can any one explain it to me and a solution please.
|
|
|
|