Click here to Skip to main content
Click here to Skip to main content

SmartCalc, A scientific calculator for SmartPhone.

, 17 Nov 2007 CPOL
Rate this:
Please Sign up or sign in to vote.
This lite calculator, written in VB.NET, not only can be useful for installing on your smartphone as a real powerful scientific calculator, but also, can be used for learning some good ideas which I've learnt while developing it.

SmartCalc : Screenshots

Introduction

This lite calculator, written in VB.NET, not only can be useful for installing on your smartphone as a real powerful scientific calculator, but also, can be used for learning some good ideas which I've learnt while developing it.

Background

Although I have no Smartphone, Once I decided to develop a nice and useful calculator to see how .NET compact framework works on a real Smartphone, [ since after a while i could find a real Smartphone to get this tiny calculator installed on. ].

the result can be interesting, specially for those decided to write their first .NET compact framework application.

Points of Interest

When I decided to develop, I was thinking that .NET compact framework, has some namespaces and classes, which might be used for runtime compiling, in-memory compiling, and runtime evaluating mathematics [ codes, in general ], just like .NET framework has. but I'd found out that there is no !, so decided to find a solution for doing that. many many classes were written in VB.NET and C#, which could do that, but all of them have dependencies to Microsoft.NET, not Microsoft Compact.NET. after searching and searching and searching ... I finally found Math.NET library, which was developed in C# and under license of GPL [open source]. yupp ! this one, finally solved my problem.

I used Math.NET Classic cause of its simplicity and lightness. More and more functions and routines could be found in this framework, and could be used to extend SmartCalc's functionalities.

I'll be glad to be informed of any changes you may make in SmartCalc. Also, I would be very thankful if you could share the changed source with me.

References

History

Version 1.0 : 12th Feb. 2007

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Mehran Ghanizadeh
Web Developer
Iran (Islamic Republic Of) Iran (Islamic Republic Of)
I was born in 1982, Tehran, IRAN. I have been Programming since I was 11, and I'm experienced in :
 
1) Software Designing, Programming, Developing and Implementing.
2) Windows Forms based Solutions & Apps
3) Component Designing & Programming
4) Web Solutions and Apps
5) Webservices, XML platform developing
6) Smart Device Solutions & Apps
7) Database Solutions & Programming
8) ...
 
Some of programming languages and techniques, I've experienced :
 
[Most, are microsoft based. ]
 
*) BASICA [ Can you remeber ?! ]
*) GWBASIC
*) Microsoft Assembler
*) Turbo Assembler
*) Turbo Pascal 7.0
*) QuickBasic v4.5, v7.0
*) VBDOS v1.0
*) VB4WIN v1.0
*) VB v2.0 upto VB v6.0
*) VB.NET v1.0, v1.1, v2.0, 3.5, 4.0
*) C#.NET v1.0, v1.1, v2.0, 3.5, 4.0
*) ASP v3.0
*) ASP.NET v1.0, v1.1, v2.0, 3.5, 4.0
*) HTML, DHTML
*) VBScript
*) Javascript
*) jQuery
*) AJAX
*) CSS 1.0, 2.0, 3.0
*) XML
*) LINQ
*) SQL Server 2000, 2005, 2008
*) ...

Comments and Discussions

 
Generalerror PinmemberMember 227776610-Nov-08 3:52 
Questionis it working just by windows mobile ??? PinmemberMember 22777662-Sep-08 20:26 
AnswerRe: is it working just by windows mobile ??? PinmemberMehran Ghanizadeh7-Sep-08 0:17 
GeneralRe: is it working just by windows mobile ??? PinmemberMember 22777667-Sep-08 18:58 
QuestionHow do i install this on my blackberry curve Pinmemberdexter8526-Nov-07 10:32 
AnswerRe: How do i install this on my blackberry curve PinmemberMehran Ghanizadeh28-Nov-07 9:06 
GeneralPalm Treo 700 wx PinmemberDarkStarHarry23-Nov-07 16:38 
GeneralRe: Palm Treo 700 wx PinmemberMehran Ghanizadeh25-Nov-07 0:59 
Generalinteresting, but a bit unpolished PinmemberGCRTA20-Nov-07 8:34 
I think it's a good start, but if I may recommend some enhancements/improvements:
 
no start icon is installed, so program can only be started by running the .exe (a minor point, but I'm lazy Big Grin | :-D )
 
program is not landscape-screen aware (I have a Motorola Q, 320px wide x 240px tall, and half of my screen is unused when running the application, although it does scale what is displayed quite nicely)
 
ideally, the program should default to activating the ALT lock for a full QWERTY keyboard, since the interface assumes a numeric keypad will be used
 
mode switching via the * key is a novel way to work all of the functions onto that many keys, but I'm still torn between whether or not the mode should always switch back to default numeric entry after using a function from another mode screen (I could foresee instances of wanting to nest multiple trigonometric functions, and having to constantly mode switch to get back to the trigonometric functions and parentheses input mode could be tedious)
 
take my critiques for what they're worth... overall, I think this is a very cool first go-round, and I'm happiest about the fact that it's responsive and not crashing (always a good thing for a first release)... I'd love to see you tweak it a bit further and release it into the public domain, as there is a definite need for something like this...
GeneralRe: interesting, but a bit unpolished PinmemberMehran Ghanizadeh20-Nov-07 9:58 
GeneralVery nice application Pinmembermoh_oweis20-Nov-07 1:39 
GeneralRe: Very nice application PinmemberMehran Ghanizadeh20-Nov-07 2:30 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web03 | 2.8.141022.1 | Last Updated 18 Nov 2007
Article Copyright 2007 by Mehran Ghanizadeh
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid