You are here

Looking for suggestions: "Visual" IDE to create portable apps

10 posts / 0 new
Last post
kykdidge
Offline
Last seen: 14 years 4 months ago
Joined: 2009-12-19 21:09
Looking for suggestions: "Visual" IDE to create portable apps

Hi, I'm hoping you can give me some ideas...

I'm building a "game" to train pollution control operators. The game must have the following characteristics:
* Run off a USB drive on Windows machines (not a web-based app)
* Contain a main window that shows equipment operations and contains 10-15 data entry fields (some textboxes, some drop downs, maybe a slider or two)
* Intensive background calculations (calculus)
* Several tabs or popups to collect info about transactions (eg, purchasing inputs, selling/disposing waste)
* Optimization engine to "play" the rest of the market for fuel, electricity, inputs, outputs, etc...

So here are my questions:
1. I know C/++ (it's been 10 years, though) so I'm more comfortable with that than another language. Are there any visual IDEs that allow me to "draw" windows instead of coding everything? (you can suggest other languages, but it's likely to be a tough sell since I don't have time to learn a new language) [UPDATE: The IDE does not need to be portable]
2. Are there any decent sample code libraries out there that might provide some useful snippets based on the limited info I gave you above?
3. What compiler would you suggest?
4. I noticed on code::blocks web site that you can import Visual Studio C++ code (at least I think that's what I read). Can I build the GUI in Visual Studio and import it into code::blocks?

I've tried to find equivalent requests in the forum, but haven't seen anything (perhaps I'm not looking for the right phrases). Thanks for your help.

RPG Man
RPG Man's picture
Offline
Last seen: 11 years 6 months ago
Joined: 2007-08-30 11:14
Portability of the End "Game"

From the looks of your post, the portability requirement is on the end "game", not the IDE itself. If that is so, then you can use the Visual Studio 6 C++ IDE installed on your machine, then when it comes to the end game, use only the basic DLLs and controls referenced by the program. This will make it easier to have a portable application that the "player" can play on his thumb drive. Typically these files are already present on XP and later computers. Do keep in mind that you should save your "player's" information in the APPDATA folder and other directory conventions introduced in Windows Vista to make it easier to make the "game" portable.

On the other hand, if you need an IDE that is portable since you need to work on it from whatever computer you have handy (I can relate, I am doing the same thing with Visual Basic 6), then you would like to look at Dev-C++ or Code:Blocks. I have not used either (I am a VB programmer), so I will defer to others with more experience.

Good luck!

The only things in life we regret are the risks we didn't take.

kykdidge
Offline
Last seen: 14 years 4 months ago
Joined: 2009-12-19 21:09
Only End Game Needs to be Portable

@RPG Man: Thanks! You are correct that only the game needs to be portable. The IDE will be operated on my Win7 machine and the code will be compiled on the same machine.

I thought, however, if I use MS VS the user must have .NET installed on their machine. Is that incorrect?

Can I write all app data to xml or ini files in the USB directory instead of the app data directory?

The requirement for portability is simply to ensure it will work on any Windows laptop (assuming XP, Vista, or Win7 OS) without requiring any installations. The first version operated in Excel using VBA. That worked well since most business laptops have Excel, but the plan is to make a standalone exe.

RPG Man
RPG Man's picture
Offline
Last seen: 11 years 6 months ago
Joined: 2007-08-30 11:14
.NET Required

Using the MS Visual Studio with .NET (Visual Studio 2000 and later) would require the user's computer to have .NET installed (which version depends on the Visual Studio software version you use.)

Other comments posted would have you use other compilers (Code:Blocks for example). Remember your end user - since it is for your company only, you may be good with the .NET requirement if each computer will have it. If you intend to let them take it home and run it there, you may want to use another compiler or just let them know they need .NET installed.

Writing data to xml or ini files on the USB directory would be better for portability's sake as well.

The only things in life we regret are the risks we didn't take.

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 8 years 10 months ago
Joined: 2007-04-15 21:08
Code::Blocks and wxWidgets

I'd recommend that you use Code::Blocks and wxWidgets. You could also use wxDev-C++ with wxWidgets, or Qt Creator with the Qt toolkit.

All three of these have GUI builders.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

digitxp
digitxp's picture
Offline
Last seen: 12 years 7 months ago
Joined: 2007-11-03 18:33
Oh man..

How did I not know of this stuff? Pardon Blum

[Duplicate? What duplicate? Wink mod Chris]

Insert original signature here with Greasemonkey Script.

digitxp
digitxp's picture
Offline
Last seen: 12 years 7 months ago
Joined: 2007-11-03 18:33
Native

Most programs unless otherwise programmed are natively portable. Just make sure you use relative paths or dynamic drive compensation (where you check the drive it's running from and replace the drive letter in the configs accordingly) and don't do anything with the registry, appdata, etc.
If you want a good C++ visual builder, I would recommend QT which not only can be portable as in running off a flash drive, but also portable as in you can compile the code to run on Mac OS X and Linux.
Compiler... hm... if in doubt, take MingW.
Good luck with your game.

Insert original signature here with Greasemonkey Script.

kykdidge
Offline
Last seen: 14 years 4 months ago
Joined: 2009-12-19 21:09
QT

Thanks. I'll look into QT and wxWidgets.

BuddhaChu
BuddhaChu's picture
Offline
Last seen: 7 years 5 months ago
Joined: 2006-11-18 10:26
As mentioned above (I think),

As mentioned above (I think), recommend you don't use the registry at all and save the game's settings in an .ini or XML-formatted file co-located in the same directory as the main program executable. This will be portable, but not compliant with PortableApps standards (that may not be one of your requirements...no feature creep! Smile ). To fix that you'll need to do a simple launcher to backup to or restore from the settings/data file(s) to/from a specific directory on launch. We have a program here that can help you build the launcher.

BTW: What you described in your first post when talking about form controls and layout is a "C++ RAD" or "Rapid Application Development". I ran that thru Google and the first hit is one not mentioned above and I've never heard of before so give that a look-see too.

http://www.ultimatepp.org/

List of RAD tools (more choices!): http://en.wikipedia.org/wiki/List_of_rapid_application_development_tools

Good luck!

Cancer Survivors -- Remember the fight, celebrate the victory!
Help control the rugrat population -- have yourself spayed or neutered!

computerfreaker
computerfreaker's picture
Offline
Last seen: 12 years 7 months ago
Developer
Joined: 2009-08-11 11:24
I wouldn't recommend using

I wouldn't recommend using XML; securing it, IIRC, is pretty darn difficult. (XML injections attacks are out there...)
INI-files are much nicer to work with, and more secure IIUC...

"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."

Log in or register to post comments