How I can migrate DOS to Windows ?
By principle, Harbour can compile every Clipper Language program; and Harbour applications can run under Windows ( besides many other platforms ) with no problem. This is one of main goals of Harbour project.
Furthermore, Harbour compiled executables will be 32 bit, not 16 😉
Maybe your application include many ( or too many ) .prg file; no problem; (almost) no modification required on your source code; nor extra scripts for compile. ( Thanks to Viktor Szakáts for really wonderful MAKE utility : HBMK2. )
Only care is : if “main” prg of your application doesn’t have a “main” module , add one PROCEDURE or FUNCTION statement to most top of your “main” .prg.
That’s all 🙂
You can build your application via HMG by a .bat file (or direct command in the DOS box) such as :
CALL C:\hmg\build.bat /c <mainPrgName>
or via Harbour:
SET PATH=C:\harbour\bin;C:\hmg\mingw\bin;%PATH% hbmk2 <mainPrgName> -RUN
or the simplest way :
C:\harbour\bin hbmk2 <mainPrgName> -RUN
( hbmk2 will find all necessary paths / files 🙂 )
Of course, you need supply name of your main .prg file in place of <mainPrgName>. You may also want to change “C:\hmg” and “C:\hmg\harbour” according to your install configuration.
Please be careful about PATH command : If you call the the .bat file from Windows explorer, no problem. If you are working on command (DOS) box, calling repetitively .bat file may cause problem by grown of PATH . In this case you may build a separate .bat for only PATH command and call it only once at beginning of DOS session.
If you want convert a text (console) based application to GUI ( Graphical User Interface ) based Windows application, this is another thing and there isn’t any automatic way for this. You have need first a GUI library can be used into Harbour. After selecting which library is convenient to your needs and learning this library, you may begin planing steps of converting process. Writing your application from scratch may be longest but most secure way.
There are links to some articles about migration in the Links page; looking at this will be useful.