Click here to Skip to main content
15,867,453 members
Articles / Mobile Apps
Article

SmartCalc, A scientific calculator for SmartPhone.

Rate me:
Please Sign up or sign in to vote.
2.86/5 (19 votes)
17 Nov 2007CPOL2 min read 55.6K   1.6K   39   13
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)


Written By
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 Pin
Member 227776610-Nov-08 3:52
Member 227776610-Nov-08 3:52 
Questionis it working just by windows mobile ??? Pin
Member 22777662-Sep-08 20:26
Member 22777662-Sep-08 20:26 
AnswerRe: is it working just by windows mobile ??? Pin
Mehran Ghanizadeh7-Sep-08 0:17
Mehran Ghanizadeh7-Sep-08 0:17 
GeneralRe: is it working just by windows mobile ??? Pin
Member 22777667-Sep-08 18:58
Member 22777667-Sep-08 18:58 
QuestionHow do i install this on my blackberry curve Pin
dexter8526-Nov-07 10:32
dexter8526-Nov-07 10:32 
AnswerRe: How do i install this on my blackberry curve Pin
Mehran Ghanizadeh28-Nov-07 9:06
Mehran Ghanizadeh28-Nov-07 9:06 
GeneralPalm Treo 700 wx Pin
DarkStarHarry23-Nov-07 16:38
DarkStarHarry23-Nov-07 16:38 
GeneralRe: Palm Treo 700 wx Pin
Mehran Ghanizadeh25-Nov-07 0:59
Mehran Ghanizadeh25-Nov-07 0:59 
Generalinteresting, but a bit unpolished Pin
GCRTA20-Nov-07 8:34
GCRTA20-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 Pin
Mehran Ghanizadeh20-Nov-07 9:58
Mehran Ghanizadeh20-Nov-07 9:58 
GeneralVery nice application Pin
Mohamamd Oweis20-Nov-07 1:39
Mohamamd Oweis20-Nov-07 1:39 
GeneralRe: Very nice application Pin
Mehran Ghanizadeh20-Nov-07 2:30
Mehran Ghanizadeh20-Nov-07 2:30 

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

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