I’ve been trying to learn a some Visual Basic within the last couple months. Still pretty far from being a 733T HaXX0R by any stretch of the imagination, but I did manage to create a pretty basic Windows application that may be of use to someone.
For a long time I’ve been disillusioned with the standard calculator accessory that comes with Windows. I’m sure there’s some reason they designed it like they did, but the thing seems like such a dinosaur to me. For one thing it has a key pad that you use a mouse to click. Sure you can type in the numbers as well, but in a day and age when nearly every computer has a keyboard, what’s the point of having a slow mouse-click interface for the number keys? I mean arithmetic functions I could understand having an on-screen icon for, but numbers?
Then there’s the fact that you can only do a square root with the thing. A handy function at times I’m sure, but what about the cubed root? Or every other root? Plus the only provision for raising numbers to other powers is to multiply them multiple times. All well and good if you want to raise an integer power, but what about fractional powers? Or negative ones?
And, it’s my own personal quibble, but I like to see what’s going into an arithmetic problem as well as the result, either to check my entries for errors, or to copy some value for later use. Of course a traditional calculator overwrites any entries when it returns the answer. Coming from a world of hand calculators we generally take this for granted, but on a computer that’s storing various values in memory anyway you may as well keep that information accessible to the user for later use.
Generally the way I get around this is by opening up an Excel shreadsheet and just doing the math there (or OpenOffice.org Calc). But since I’m trying to get a handle on Visual Basic anyway and this issue has always bugged me I figure may as well give a shot at a solution to the issue.
So here’s the result. Pretty crude. And I’m sure it’s got a bug or two, but in case anyone else might find the thing of use here it is:
Updates will probably be along at some point. I figure eventually I’ll add a few more functions. We’ll see.