Dos application help

Post Reply
User avatar
Silvio.Falconi
Posts: 4956
Joined: Thu Oct 18, 2012 7:17 pm

Dos application help

Post by Silvio.Falconi »

Someone can help me to create a small harbour dos test ?
I need a bat file to compile thanks
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Dos application help

Post by Enrico Maria Giordano »

Do you mean a real dos 16-bit application or just a Windows console application?

EMG
User avatar
Silvio.Falconi
Posts: 4956
Joined: Thu Oct 18, 2012 7:17 pm

Re: Dos application help

Post by Silvio.Falconi »

Ho visto un programma in un supermercato e mi hanno detto che era stato fatto in harbour ...
era in dos ho visto anche la cartella con i dbf
volevo sapere come si faceva
perchè ho visto che era veloce
fare un prg magazzino mi piacerebbe per la scuola
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
User avatar
anserkk
Posts: 1280
Joined: Fri Jun 13, 2008 11:04 am
Location: Kochi, India

Re: Dos application help

Post by anserkk »

Silvio.Falconi wrote:Someone can help me to create a small harbour dos test ?
I need a bat file to compile thanks
Long time back, I tried compiling one of my 16 bit clipper applications using Harbour. It worked fine, except some minor issues in the Tbrowse classs.

Here is the rmk file that I used

Code: Select all

#Borland make sample, (c) FiveTech Software 2005

HBDIR=D:\Harbour
BCDIR=D:\bcc582
FWDIR=D:\fwh

#change these paths as needed
.path.OBJ = .\obj
.path.PRG = .\
.path.CH  = $(FWDIR)\include;$(HBDIR)\include
.path.C   = .\
.path.rc  = .\

#important: Use Uppercase for filenames extensions, in the next two rules!

PRG =        \
.\MyApp.PRG   \
.\MyPrg1.PRG    \
.\MyPrg2.PRG

C =          \

OBJ = $(PRG:.PRG=.OBJ)
OBJS = $(OBJ:.\=.\obj\)

PROJECT    : MyApp.exe

MyApp.exe  : $(OBJS) $(C:.C=.OBJ) MyApp.res 
   echo off
   echo $(BCDIR)\lib\c0w32.obj + > b32.bc
   echo $(OBJS), + >> b32.bc
   echo MyApp.exe, + >> b32.bc
   echo MyApp.map, + >> b32.bc
   rem echo $(FWDIR)\lib\FiveH.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc
   echo $(HBDIR)\lib\hbrtl.lib + >> b32.bc
   echo $(HBDIR)\lib\hbvm.lib + >> b32.bc
   echo $(HBDIR)\lib\gtwvt.lib + >> b32.bc
   echo $(HBDIR)\lib\gtgui.lib + >> b32.bc
   echo $(HBDIR)\lib\hblang.lib + >> b32.bc
   echo $(HBDIR)\lib\hbmacro.lib + >> b32.bc
   echo $(HBDIR)\lib\hbrdd.lib + >> b32.bc
   echo $(HBDIR)\lib\rddntx.lib + >> b32.bc
   echo $(HBDIR)\lib\rddcdx.lib + >> b32.bc
   echo $(HBDIR)\lib\rddfpt.lib + >> b32.bc
   echo $(HBDIR)\lib\hbsix.lib + >> b32.bc
   echo $(HBDIR)\lib\hbdebug.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcommon.lib + >> b32.bc
   echo $(HBDIR)\lib\hbpp.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcpage.lib + >> b32.bc
   echo $(HBDIR)\lib\hbwin.lib + >> b32.bc
   echo $(HBDIR)\lib\hbcplr.lib + >> b32.bc
   echo $(HBDIR)\lib\hbct.lib + >> b32.bc
   echo $(HBDIR)\lib\hbpcre.lib + >> b32.bc
   echo $(HBDIR)\lib\xhb.lib + >> b32.bc
   echo $(HBDIR)\lib\hbziparc.lib + >> b32.bc
   echo $(HBDIR)\lib\hbmzip.lib + >> b32.bc
   echo $(HBDIR)\lib\hbzlib.lib + >> b32.bc
   echo $(HBDIR)\lib\minizip.lib + >> b32.bc
   echo $(HBDIR)\lib\png.lib + >> b32.bc

   rem Uncomment these two lines to use Advantage RDD
   rem echo $(HBDIR)\lib\rddads.lib + >> b32.bc
   rem echo $(HBDIR)\lib\Ace32.lib + >> b32.bc

   rem Uncomment the below 2 lines if u want to use TDolphin
   rem echo $(FWDIR)\lib\dolphin.lib + >> b32.bc
   rem echo $(FWDIR)\lib\libmysql.lib + >> b32.bc

   echo $(BCDIR)\lib\cw32.lib + >> b32.bc
   echo $(BCDIR)\lib\uuid.lib + >> b32.bc
   echo $(BCDIR)\lib\import32.lib + >> b32.bc
   echo $(BCDIR)\lib\ws2_32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\odbc32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\nddeapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\iphlpapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\msimg32.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\psapi.lib + >> b32.bc
   echo $(BCDIR)\lib\psdk\rasapi32.lib, >> b32.bc

   IF EXIST MyApp.res echo MyApp.res >> b32.bc
   $(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
   del b32.bc

.PRG.OBJ:
  $(HBDIR)\bin\harbour $< /N /W0 /Oobj\ /I$(FWDIR)\include;$(HBDIR)\include
  $(BCDIR)\bin\bcc32 -c -tWM -I$(HBDIR)\include -oobj\$& obj\$&.c

.C.OBJ:
  echo -c -tWM -D__HARBOUR__ -DHB_API_MACROS > tmp
  echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
  $(BCDIR)\bin\bcc32 -oobj\$& @tmp $&.c
  del tmp

MyApp.res : MyApp.rc
  D:\PellesC\Bin\PORC.EXE MyApp.rc   /I D:\pellesc\include /I D:\pellesc\include\win
In the Main PRG, I had to include the following lines at the beginning.

Code: Select all

ANNOUNCE HB_GT_SYS
REQUEST HB_GT_WVT_DEFAULT
//-------------------------------------------------//
Function Main()
Tried this just to experiment. I remember that while scrolling on TBrowse, the row highlight painting was not proper. ie while scrolling thru rows, all the previous rows were also painted like the current row ie TBrowse was failing to repaint the rows above the current row.

Regards

Anser
User avatar
Silvio.Falconi
Posts: 4956
Joined: Thu Oct 18, 2012 7:17 pm

Re: Dos application help

Post by Silvio.Falconi »

thanks anserkk
I have many prg to converte on fwh or window
many prg I not remember How was the exe and now I cannot see it on 64bit
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
User avatar
RAMESHBABU
Posts: 591
Joined: Fri Oct 21, 2005 5:54 am
Location: Secunderabad (T.S), India

Re: Dos application help

Post by RAMESHBABU »

Silvio,

Try this. This EXE generated with the following code works fine with Windows10 also.

- Ramesh Babu

TestBrow.prg

Code: Select all


#include "TBrowse.ch"
#include "Box.ch"

ANNOUNCE HB_GTSYS
REQUEST HB_GT_WIN_DEFAULT

#define MY_HEADSEP  "ÄÂÄ"
#define MY_COLSEP   " ³ "
#define MY_FOOTSEP  "ÄÁÄ"

PROCEDURE Main

      LOCAL oTBrowse, oTBColumn
      LOCAL bFieldBlock, cFieldName, i, nKey

      SetMode(25,80)

      USE Customer ALIAS Cust

      @ 1,1,MaxRow()-1,MaxCol()-1 BOX B_SINGLE

      * create TBrowse object
      oTBrowse := TBrowse():new( 2,2, MaxRow()-2, MaxCol()-2 )
      oTBrowse:headSep := MY_HEADSEP
      oTBrowse:footSep := MY_FOOTSEP
      oTBrowse:colSep  := MY_COLSEP

      oTBrowse:colorSpec := "N/BG,W+/B"

      * add code blocks for navigating the record pointer
      oTBrowse:goTopBlock    := {|| DbGoTop() }
      oTBrowse:goBottomBlock := {|| DbGoBottom() }
      oTBrowse:skipBlock     := {|nSkip| DbSkipper(nSkip) }

      * create TBColumn objects and add them to TBrowse object
      FOR i:=1 TO FCount()
         cFieldName  := FieldName( i )
         bFieldBlock := FieldBlock( cFieldName )
         oTBColumn   := TBColumn():new( cFieldName, bFieldBlock )
         oTBrowse:addColumn( oTBColumn )
      NEXT

      * display browser and process user input
      DO WHILE .T.
         oTBrowse:forceStable()
         nKey := Inkey(0)
         IF oTBrowse:applyKey( nKey ) == TBR_EXIT
            EXIT
         ENDIF
      ENDDO

      USE

RETURN

 
Compile/Link Script

Code: Select all


@ECHO OFF
CLS

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...

if "%XHDIR%" == "" set XHDIR=C:\xharbour

set GT=gtgui

set hdir=%XHDIR%
set hdirl=%hdir%\lib
set bcdir=C:\bcc7

%hdir%\bin\harbour %1 /n /i;%hdir%\include /w /p %2 %3 > comp.log
IF ERRORLEVEL 1 GOTO COMPILEERRORS
@type comp.log

echo -O2 -e%1.exe -I%hdir%\include -I%bcdir%\include %1.c > b32.bc
%bcdir%\bin\bcc32 -M -c -v @b32.bc
:ENDCOMPILE

echo %bcdir%\lib\c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo %hdirl%\rtl.lib + >> b32.bc
echo %hdirl%\vm.lib + >> b32.bc
echo %hdirl%\%GT%.lib + >> b32.bc
echo %hdirl%\GTWIN.lib + >> b32.bc
echo %hdirl%\lang.lib + >> b32.bc
echo %hdirl%\macro.lib + >> b32.bc
echo %hdirl%\rdd.lib + >> b32.bc
echo %hdirl%\dbfntx.lib + >> b32.bc
echo %hdirl%\dbfcdx.lib + >> b32.bc
echo %hdirl%\dbffpt.lib + >> b32.bc
echo %hdirl%\hbsix.lib + >> b32.bc
echo %hdirl%\debug.lib + >> b32.bc
echo %hdirl%\common.lib + >> b32.bc
echo %hdirl%\pp.lib + >> b32.bc
echo %hdirl%\pcrepos.lib + >> b32.bc
echo %hdirl%\ct.lib + >> b32.bc
echo %hdirl%\tip.lib + >> b32.bc
echo %hdirl%\hbzip.lib + >> b32.bc
echo %hdirl%\zlib.lib + >> b32.bc
echo %hdirl%\png.lib + >> b32.bc
echo %hdir%\lib\usrrdd.lib + >> b32.bc
echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\uuid.lib + >> b32.bc
echo %bcdir%\lib\psdk\odbc32.lib + >> b32.bc
echo %bcdir%\lib\psdk\rasapi32.lib + >> b32.bc
echo %bcdir%\lib\psdk\nddeapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\msimg32.lib + >> b32.bc
echo %bcdir%\lib\psdk\psapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\gdi32.lib + >> b32.bc
echo %bcdir%\lib\psdk\iphlpapi.lib, >> b32.bc

rem uncomment this line to use the debugger and comment the following one
REM if %GT% == gtwin %bcdir%\bin\ilink32 -Gn -Tpe -s -v @b32.bc
IF ERRORLEVEL 1 GOTO LINKERROR
if %GT% == gtgui %bcdir%\bin\ilink32 -Gn -aa -Tpe -s -v @b32.bc
IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built *
rem %1
GOTO EXIT
ECHO

rem delete temporary files
@del %1.c

:COMPILEERRORS
@type comp.log
ECHO * Compile errors *
GOTO EXIT

:LINKERROR
ECHO * Linking errors *
GOTO EXIT

:SINTAX
ECHO    SYNTAX: Build [Program]     {-- No especifiques la extensi¢n PRG
ECHO                                {-- Don't specify .PRG extension
GOTO EXIT

:NOEXIST
ECHO The specified PRG %1 does not exist

:EXIT

Post Reply