Can I develop a program in C# for my calculator? - processor

Does those calculators have some type of a processor like a computer? Is it possible to program to them? And finally, is it somehow possible to run the .NET Micro Framework on it?
Thank you.
(source: made-in-china.com)
(source: ecarepackage.org)

The more expensive TI's have general purpose processors such as Z80 or m68000, which can be programmed (usually in BASIC or assembly). There are no current implementations of the .Net framework that run on them - you could be the first to create it!
The cheaper ones have the logic built directly into the IC, and are not programmable in any way.

There are some programmable calculators out there but I am not aware of any that will run the .NET Framework.

Related

How to generate executable across platforms

in case i have a source code and an api to generate windows executable version, is there any possibility or any easy approach to convert it into something that can be executed across Linux /mac or Solaris platforms?
If your code is in a .NET language, there are online and offline translators that can convert the code to Java.
This is just language translation, and doesn't convert the API calls, but it would be a first step in the process.
Another way to handle the problem would be to choose a cloud-based web service or bridge solution. If you have a significant amount of program logic, exposing APIs in this way would allow you to maintain much of the code in its existing language, while making it invocable on other platforms.

Is it possible to create an application WITHOUT a framework?

I was just thinking. C# has Winforms/WPF, Java has Swing and other frameworks, C++ has QT and so on; is it possible to create an application without using a Framework?
Putting aside the practicality of it, I'm just curious. How would one create an application that Just Works(tm) without needing external frameworks?
Two options come to mind:
Classical Win32 applications written in C. I don't know if standard Windows SDK API also counts as an "external framework" in your book, but that's as low as it gets.
DirectX/OpenGL games written from scratch with your own homebrew framework (not external, right?) There you get to do all the drawing yourself - although again, you use a pretty big library of primitive drawing functions.
If you want even less "framework", you'll have to code your own OS and drivers. :P
C# needs .NET Framework, not WinForms (which is an optional library used by some application). The same with Java.
Unmanaged (native) applications usually use some runtime library - the library of common functions. You can write a native application without any library - the compiler lets you do this, but you will need to (re)write lots of common functions, eg. for string manipulation etc..
Firstly, what is a framework?
Really a framework is just a bunch of code that is provided to you. You could, at least in theory, write the same code yourself. In that case you wouldn't be using a framework.
Your application can only do what the operating system allows it to do. Your program cannot directly manipulate the graphics card for example. So you have to use the APIs of your operating system in order to do anything.
So you are going to be calling into other code. (unless you write your own operating system). You will also being using another framework or api to get stuff done.
Yes. How: in the way that the frameworks you mentioned are implemented.
From a Windows point of view, you would register your window with Windows, then listen to window messages and react as required. Everything would be up to you - from drawing the window to building controls.

Windows GUI Programming - C + SDK or C# + Windows Forms

I'm a C programmer with lots of server code experience (AIX, HPUX, some Linux) I need to write a GUI program for Windows (2000, XP, Vista, 7) which requires CAD-like drawing functions and lots of data entry forms (it's a specialised engineering app). I've written some Win32 code many years ago using Gupta SQLwindows (now Centura Builder). The bosses have decreed that it "must be" compiled code. My perception is that C+SDK could do the job but with considerable effort and that C# + Windows Forms would be more capable, but I'm a bit concerned about the .Net framework requirement.
Based upon your experiences, What would you suggest?
If .Net, which version? 2.0, 3.0, 3.5 ??
I'm not familiar with Centura Builder, so I am not sure at what level of abstraction your prior Windows programming experience is. If you choose the native code route using C/C++ and Win32, be sure to buy a copy of Programming Windows by Charles Petzold. Reading the first few chapters of this book can help you decide if you want to go the native code route as well.
If you choose the .NET Framework and C#, and if you do not need the version 3.5-specific features (such as LINQ for database access), I recommend choosing version 3.0. It is a built-in component on Windows Vista, so you don't have to package the runtime with your program installer unless you have to support Windows XP (which you probably do, so never mind :). With version 3.0, you get Windows Presentation Foundation (to use instead of or along with Windows Forms), which gives you a lot of graphical capability without a lot of effort. I'm not knowledgeable about CAD, so I don't know if WPF would provide the drawing functions that you need, but it may provide a great platform upon which you can write your own drawing routines.
EDIT: I missed your Windows version requirements on first reading, particularly the Windows 2000 requirement. I guess you'd have to go with .NET Framework version 2.0 and Windows Forms. I have to ask, though: Wouldn't it be cost-effective to improve your engineers' productivity by upgrading their eight-year-old machines to something newer and faster and therefore get rid of your Windows 2000 support requirement?
If you're going the .NET route, you will have to use .NET 2.0 because .NET 3.0 and above is only supported for Windows XP and above (Vista, 7, 2003, 2008).
I personally wouldn't sweat the .NET framework requirement. It's a one time install on each machine, that can be streamlined through Windows updates if needed.
If you don't want .NET, Qt + C++ is definitely the way to go; it certainly beats C and Win32. .NET still allows much faster development than even Qt though. Qt has the advantage of being fast and easy to deploy (no .NET requirement), and makes portability much easier (if you want to port to Linux or Mac).
If you must use native code then I would strongly suggest RAD Studio from Codegear / Embarcadero, it's a studio product that ships with Delphi (the object oriented language that evolved from Turbo Pascal) and C++ Builder, if you are already familiar with C/C++ then it's going to be very simple for you to pick it up. The Visual Component Library that is shared by both languages is extendable, powerful and RAD.
If you are able to use Managed code, then C# with Winforms is easy to use, WPF may be a better UI choice long term, but it has a steeper learning curve.
Depending on the complexity requirements of the CAD-like drawing, I'd go with C# + Windows Forms, or even more preferrably, C# + WPF.
WPF would make the drawing much, much cleaner than trying to do it in GDI. This is especially true if you're going to do some 3D "drawing", as you can do a lot of (simple) 3D objects directly in WPF. C# will make your GUI programming much more productive than trying to do it in C/C++ with the windows API directly (or even MFC).
Personally, the .NET requirement is minimal in my opinion, but that's really up to the powers that be in your organization...
If it must be compiled code than I would recommend WTL of MFC but it would be much more faster (in terms of develeopment cost) to use C# + WinForms or WPF.
You can do everything with C or C++ / Win32 api
(Win32 samples for CAD-like drawing are in MSDN..)

How do you port a Windows-based application written in Delphi to different platforms such as Mac, iPhone and into a web-based application?

Currently, it is just a windows-based application (slowed down guitar software) written in Delphi. However, I do have plans to port them to the following platforms :
Mac
iPhone
Web-based
How do I go about this? What is the bes programming language to use? What kind of developers do I need to look for? And how long will these projects be?
If you want to keep the Delphi code, then take a look at Lazarus/FreePascal. I have to say that I don't have used it for more than a Hello World yet, so you have to evaluate yourself if it can help you, but it's free and it supports Windows/Mac/Linux. Windows Mobile is also supported.
For 1 and 2 you'd be looking at Cocoa, for 3 you could either go Flash/Java Applet/Silverlight depending on how complex the software is. Obviously Flash would not be the best to use for large projects. But Silverlight and Java Applets are capable platforms that can suite just about any need.
I'm afraid you can not simply "port" Delphi code into all those enviroments. Ok, moving Delphi logic via Delphi.NET to web based may be simple, but using delphi code for Mac or iPhone... Harder. Probably you will have to rewrite it from scratch, most probably in Java.
Thanks for that. I was already thinking along those lines. Yeah, I am thinking of dropping Delphi for the Web-based and start from scratch for the web-based because I have heard so much of the power of Java. Although my only constraint is the whole Delphi (windows) application will be put to waste, especially now that its being enhanced on some features. Aren't there some codes in Delphi that can be salvaged for Java?

Visual-small size language

I need to develop a simple Windows application with 6 or 7 forms. Its main purpose is to manage files and launch a external program.
These are my wishes, in descending importance order
Free
Be Visual, I mean, the possibility to paint forms and object in the screen.
Possibility to carry it in a USB pen-drive.
I need a light/small size language, not a very complex one. My program is going to have very few forms and its functionality is simple.
Is there any language that meet this wishes? If not, is there any commercial one?
I would use Visual C# Express if I were you.
As others have suggested, C# isn't a bad choice.
Personally I'd use wxPython. If you want a GUI to help you lay out the forms, wxDesigner is very good.
Take a look at Visual Basic Express. IMNTBHO, the learning curve for VB.Net is shallower than the C# equivalent.
Failing that (as much as it pains me to say this) take a look at MS-Access (and a runtime install for carrying it around with you). It's not free, but it's also not terribly expensive. The learning curve is even shallower than VB.Net.
You mentioned wanting your program to be portable on a USB drive, so the previous answers suggesting C# and VB.Net are good as long as all of the machines you'll be using your program on have the .Net framework installed.
If you need to run your program on systems without .Net, you'll need to look at programming environments that can either make a native .exe or can wrap scripts in an executable. Which of those is right depends on your needs and programming experience, but I'd take a look at Lazarus/Free Pascal, C++, or Python (with py2exe).
Visual Studio Express editions seems good for your requirement.
Check: http://www.microsoft.com/Express/
Another vote for Lazarus/Free Pascal. It works from stick, and generates (on Windows 32/64/CE) standalone binaries, and you have full access to the windows api and other windwos specific gadgets (COM)
I'd recommend Turbo Explorer. It's a free RAD IDE that'll generate native win32 apps in C++ or Delphi without the need for a managed framework like .NET.
It couldn't be simpler to use. Just drag and drop your components on your form, compile, and run.
I'd ordinarily push for C# or something on the .NET framework but the stipulation of running on a flash disk means you need something that compiles natively. In addition to Lazarus/FreePascal mentioned above you might also want to investigate CodeGear Delphi

Resources