Jump to content
Fivewin Brasil

FLAGS do XHARBOUR, para o usar o FLAG máximo /W3?


kapiaba

Recommended Posts

Galera, qual a sintaxe correta dos FLAGS do XHARBOUR, para o usar o FLAG máximo /W3?

%hdir%\bin\harbour PLENOINW -a -n -m -w -es2 -gc3 /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w3 /p  > Erro.log 2>  ERROS.LOG

Assim, me gera um caminhãom de erros e não passa a compilação.

Tks.

Regards, saludos.

 

Link to comment
Share on other sites

Bom dia João, 

Qual o problema?

Segue um exemplo:

Harbour.Exe Source\CTRel17.prg  /m /n /gc0 /w3 /es2 /iInclude;D:\Tools\FWH1709\include;D:\Tools\LIB\xHb123_Fwh1709\Include /iD:\Tools\xHarbour_123_BCC72\Include /qo /oObj\CTRel17.c
 

Funciona bem. Acho que não tolera variáveis declaradas e não usadas e vice versa. Também não deve tolerar variáveis que foram declaradas já com valor e atribuídas mais tarde. 

Enfim, faz muitos anos (mais de 10) que fiz a mudança e na época tive que revisar todos os fontes. Mas valeu a pena.

Abraço.

Link to comment
Share on other sites

Eroni, se eu ENTENDI, não posso fazer isso? DECLARAR as minhas VARIÁVEIS para poder usar o /W3? És esto?

[code]
#Include "Ambienty.ch"

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850 // PARA INDEXAR CAMPOS ACENTUADOS

ANNOUNCE RDDSYS // IDEM: ANNOUNCE FPTCDX
REQUEST OrdKeyNo, OrdKeyCount, OrdCreate, OrdKeyGoto // Para ListBox
REQUEST DBFCDX, DBFFPT

STATIC oWnd, oMenu, oFont2, oFontGr
STATIC oFont, nHFont, cFont, nWFont, cFontH, oBrush, oFnt

STATIC lBarAllwaysTop := .T. // only for test purpose. if .t. show all bars on top
STATIC lImageSelect   := .F. // only for test purpose. if .t. show red or green dot
STATIC lCloseWin      := .F.
STATIC hLib

FUNCTION Main()

   LOCAL oFont, oIco, oBar, oHand, oBmp, oIndex, hBmp

   PUBLIC cDirPleno
   PUBLIC XRESOLUCAO, XSINALSONOR //= [S]
   PUBLIC WFLAGCONTABIL := .F.
   PUBLIC WFLAGPLENO    := ""
   PUBLIC WFILIAL       := .F.

...

RETURN NIL
[/code]

Tks,

Regards, saludos.

 

Link to comment
Share on other sites

1 hora atrás, kapiaba disse:
Eroni, se eu ENTENDI, não posso fazer isso? DECLARAR as minhas VARIÁVEIS para poder usar o /W3? És esto?

[code]
#Include "Ambienty.ch"

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850 // PARA INDEXAR CAMPOS ACENTUADOS

ANNOUNCE RDDSYS // IDEM: ANNOUNCE FPTCDX
REQUEST OrdKeyNo, OrdKeyCount, OrdCreate, OrdKeyGoto // Para ListBox
REQUEST DBFCDX, DBFFPT

STATIC oWnd, oMenu, oFont2, oFontGr
STATIC oFont, nHFont, cFont, nWFont, cFontH, oBrush, oFnt

STATIC lBarAllwaysTop := .T. // only for test purpose. if .t. show all bars on top
STATIC lImageSelect   := .F. // only for test purpose. if .t. show red or green dot
STATIC lCloseWin      := .F.
STATIC hLib

FUNCTION Main()

   LOCAL oFont, oIco, oBar, oHand, oBmp, oIndex, hBmp

   PUBLIC cDirPleno
   PUBLIC XRESOLUCAO, XSINALSONOR //= [S]
   PUBLIC WFLAGCONTABIL := .F.
   PUBLIC WFLAGPLENO    := ""
   PUBLIC WFILIAL       := .F.

...

RETURN NIL
[/code]

Tks,

Regards, saludos.

 

João, não foi isso que eu disse. você DEVE declarar TODAS as variáveis que vai usar. Com este flag não deixa atribuir AO FAZER  a declaração.

Regards.

Link to comment
Share on other sites

Eroni, modifique o BUILDX.BAT do FiveWin com seus comandos, e BUILDX TUTOR04

%hdir%\bin\harbour %1 /m /n /gc0 /w3 /es2 /i%fwh%\include;%hdir%\include /w0 /p %2 %3 > comp.log 2> warnings.log

Tks

Regards, saludos.

Link to comment
Share on other sites

Enrico/Eroni!! Ready!! 30 years later, I found the perfect combination. You are the man!

Enrique/Eroni!! ¡¡Listo!! 30 años después, encontré la combinación perfecta. ¡Tu eres el hombre!

@ECHO OFF
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for xHarbour 19.05 - May. 2019          xHarbour development power ³Ü
ECHO ³ (c) FiveTech 1993-2019 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8/10 ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

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

ECHO Compiling...

if "%FWDIR%" == "" set FWDIR=.\..\
if "%XHDIR%" == "" set XHDIR=c:\xHBBCC77
rem if "%2" == "/b" set GT=gtwin
rem if not "%2" == "/b" set GT=gtgui
set GT=gtgui

set hdir=%XHDIR%
set hdirl=%hdir%\lib
set bcdir=c:\BCC77
set fwh=%FWDIR%

REM %hdir%\bin\harbour %1 /n /i%fwh%\include;%hdir%\include /w3 /p %2 %3 > comp.log 2> warnings.log

%hdir%\bin\harbour %1 /m /n /gc3 /w3 /es0 /i%fwh%\include;%hdir%\include /w0 -wb- /p %2 %3 > comp.log 2> warnings.log

IF ERRORLEVEL 1 GOTO COMPILEERRORS
@type comp.log
@type warnings.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

IF EXIST %1.rc %bcdir%\bin\brc32.exe -r -I%bcdir%\include -I%bcdir%\include\windows\sdk %1

REM %bcdir%\bin\BRC32.Exe -R XPLOOK.RC

echo %bcdir%\lib\c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo %fwh%\lib\Fivehx.lib %fwh%\lib\FiveHC.lib %fwh%\lib\libmysql.lib + >> b32.bc
echo %fwh%\lib\pgsql.lib %fwh%\lib\libpq.lib + >> b32.bc
echo %hdirl%\rtl.lib + >> b32.bc
echo %hdirl%\vm.lib + >> b32.bc
echo %hdirl%\%GT%.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%\codepage.lib + >> b32.bc
echo %hdirl%\pp.lib + >> b32.bc
echo %hdirl%\pcrepos.lib + >> b32.bc
echo %hdirl%\ct.lib + >> b32.bc
REM echo %hdirl%\DrXlsx32x_bcc.lib + >> b32.bc
echo %hdirl%\zlib.lib + >> b32.bc
echo %hdirl%\hbzip.lib + >> b32.bc
REM echo %hdirl%\libmisc.lib + >> b32.bc
echo %hdirl%\png.lib + >> b32.bc

rem para que TIPSSL.LIB funcione, por a TIP.LIB depois.
REM echo %hdirl%\tipssl.lib + >> b32.bc
REM echo %hdirl%\libssl.lib + >> b32.bc
REM echo %hdirl%\libcrypto.lib + >> b32.bc
echo %hdirl%\tip.lib + >> b32.bc

rem Uncomment these two lines to use Advantage RDD
rem echo %hdir%\lib\rddads.lib + >> b32.bc
rem echo %hdir%\lib\Ace32.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\ws2_32.lib + >> b32.bc
echo %bcdir%\lib\wininet.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\gdiplus.lib + >> b32.bc
echo %bcdir%\lib\psdk\iphlpapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\urlmon.lib + >> b32.bc
echo %bcdir%\lib\psdk\shell32.lib, >> b32.bc

IF EXIST %1.res echo %1.res >> b32.bc

rem uncomment this line to use the debugger and comment the following one
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 *
%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

Super Many Thanks, Enrico/Eroni.

Regards, saludos.

 

Link to comment
Share on other sites

Oi João, segue o teu JIMMYSKI.PRG:

 

// C:\FWH..\SAMPLES\JIMMYSKI.PRG

#Include "FiveWin.ch"


//STATIC oBar, oGrid, oWnd, nWidth := 50

STATIC oButton

FUNCTION Main()
   LOCAL oWnd//,oButton
   LOCAL cSource := GetAppName()
   // LOCAL cSource := GetModuleFileName( GetInstance() ) // Name .EXE
   LOCAL cPath, cFile

   PUBLIC cDirPleno
   PUBLIC XRESOLUCAO, XSINALSONOR //= [S]
//   PUBLIC WFLAGCONTABIL // := .F.
//   PUBLIC WFLAGPLENO    // := ""
//   PUBLIC WFILIAL       // := .F.


   // IF PCOUNT() > 0    // ??
   IF GetActive() == Nil
      SkinButtons()
   ENDIF

   cPath := Pathonly( cSource )  // // MsgInfo( GETCURDIR() )
   cFile := Fileonly( cSource )

   DEFINE WINDOW oWnd TITLE "FiveWin SkinButtons Demo"

   @ 10, 10 BUTTON oButton PROMPT "Property" SIZE 74, 42 PIXEL ACTION SHOWFILEPROPERTIES( oWnd:Hwnd, cPath, cFile )

   ACTIVATE WINDOW oWnd CENTERED 

   oButton := nil
  

RETURN NIL

FUNCTION GetAppName()
RETURN GetModuleFileName( GetInstance() )

FUNCTION Pathonly( cFull )

   LOCAL cRet := "" //     // ERROR Chinese Char?
   LOCAL nPosi

   nPosi := RAT( "\", cFull )

   IF nPosi > 0
      cRet := SUBSTR( cFull, 1, nPosi - 1 )
   ENDIF

RETURN( cRet )

FUNCTION Fileonly( cFull )

   LOCAL cRet := "" //    // ERROR Chinese Char?
   LOCAL nPosi

   nPosi := RAT( "\", cFull )
   IF nPosi > 0
      cRet := SUBSTR( cFull, nPosi + 1 )
   ENDIF

RETURN cRet

#pragma BEGINDUMP

#include <windows.h>
#include <commctrl.h>
#include <dbt.h>
#include <hbapi.h>
#include <hbapiitm.h>
#include <shellapi.h.>

HB_FUNC( SHOWFILEPROPERTIES )
{
   #ifndef _WIN64
      HWND hWnd = ( HWND ) hb_parnl( 1 );
   #else
      HWND hWnd = ( HWND ) hb_parnll( 1 );
   #endif

   SHELLEXECUTEINFO SHExecInfo;
   ZeroMemory(&SHExecInfo, sizeof(SHExecInfo));
   SHExecInfo.cbSize       = sizeof(SHExecInfo);
   SHExecInfo.fMask        = SEE_MASK_INVOKEIDLIST;
   SHExecInfo.lpVerb       = "Properties";
   SHExecInfo.lpDirectory  = hb_parc(2);
   SHExecInfo.lpFile       = hb_parc(3);
   SHExecInfo.nShow        = SW_SHOW;
   SHExecInfo.hwnd         = hWnd;

   ShellExecuteEx(&SHExecInfo);
}

#pragma ENDDUMP

// fin / end

Compilado com xHarbour 1.3.0 Intl. (SimpLex) (Build 20231104)

 

Regards


 

Link to comment
Share on other sites

Eroni, você não entendeu, eu não quero que você "bula" no FONTE! Eu quero os FLAGS de compilação usando o W3 sem erros. Programação, eu deito e rolo, tiro onda, vou à marte. kkkkkkkkkkkkkkkkkkkkkkkkkk

Obg. abs.

 

Regards, saludos.

 

Link to comment
Share on other sites

Eroni, modifique seu BUILDX.BAT assim:

%hdir%\bin\harbour %1 /m /n /gc3 /w3 /es2 /i%fwh%\include;%hdir%\include /w0 -wb- /p %2 %3 > comp.log 2> warnings.log

E compile este modelo de TUTOR04.PRG Usando: /w3 e /es2  - Entende?

// C:\FWH..\SAMPLES\TUTOR04.PRG Modificado por Joao Santos/Sao Paulo/Brasil.
// Para David Barrio de Argentina. 16/11/2022

// We are going to build a PullDown menu and we are going to assign it
// to our main Window

// This example is the typical way of start building a FiveWin program

#include "FiveWin.ch"

STATIC oWnd

// MEMVAR ERONI // ASIM FUNCIONA  ERONI

FUNCTION Main()

   LOCAL oIco, oBar, oBmp

   // PRIVATE ERONI  // ASSIM FUNCIONA ERONI

   PUBLIC ERONI // ASSIM NAO FUNCIONA ERONI, USANDO /W3 /ES2 Entende?

   hb_gcAll( .F. )

   ERONI := Space( 30 )
   // TUTOR04.prg( 25 ) Warning W0001  Ambiguous reference: 'ERONI'

   // No cargar la aplicacion dos veces.
   IF ISEXERUNNING( CFILENAME( hb_argv( 0 ) ) )

      MsgInfo( "Tutor04.exe Já Está Rodando Nesta Máquina", "Tutor04.exe" )

      SHOWWINDOW( FINDWINDOW( 0, "TUTOR04" ), 9 ) // Nombre tu .EXE

      SETFOREGROUNDWINDOW( FINDWINDOW( 0, "TUTOR04" ) )

      LIBERA_TUDO()

      RETURN NIL

   ENDIF

   DEFINE ICON oIco FILE "..\icons\fax.ico"

   DEFINE WINDOW oWnd FROM 1, 1 TO 22, 75 ;
      TITLE "FiveWin sample" ;
      MENU  BuildMenu() ;
      COLOR "B/W" ;
      ICON oIco

   DEFINE BUTTONBAR oBar _3D SIZE 26, 27 OF oWnd

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\new.bmp" FLAT ;
      ACTION MsgInfo( "New" ) ;
      TOOLTIP "Creates a new document"

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\open.bmp" FLAT ;
      ACTION MsgInfo( cGetFile( "*.*", "Select a document to open" ) ) ;
      TOOLTIP "Opens a document" WHEN .F.

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\floppy.bmp" FLAT ;
      ACTION MsgInfo( Time() ) TOOLTIP "Saves this document"

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\printer.bmp" FLAT ;
      ACTION MsgInfo( "Prints this document" ) TOOLTIP "Print this document" GROUP

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\prop.bmp" FLAT ;
      ACTION PrinterSetup() TOOLTIP "Setup the printer"

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\HelpInd.bmp" FLAT ;
      ACTION MsgInfo( Version() ) TOOLTIP "A multiple lines" + ;
      Chr( 13 ) + Chr( 10 ) + "tooltip!" GROUP

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\Help.bmp" FLAT ;
      ACTION MsgInfo( "fivewin power!" ) TOOLTIP "fivewin power!"

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\Exit.bmp" FLAT ;
      ACTION( oWnd:End(), LIBERA_TUDO() ) TOOLTIP "Exit this app" GROUP

   DEFINE MESSAGE OF oWnd ;
      PROMPT FWVERSION + " " + FWCOPYRIGHT ;
      NOINSET CENTERED KEYBOARD DATE CLOCK

   DEFINE BITMAP oBmp FILENAME "..\bitmaps\visual.bmp"

   oWnd:bPainted = {| hDC | BmpTiled( hDC, oWnd, oBmp ) }

   ACTIVATE WINDOW oWnd /* ;
      VALID MsgYesNo( "Do you want to quit ?" ) */

RETURN NIL

FUNCTION BuildMenu()

   LOCAL oMenu

   MENU oMenu
   MENUITEM "Information"
   MENU
   MENUITEM "&About..." ;
      ACTION MsgInfo( FWDESCRIPTION ) ;
      FILENAME "..\bitmaps\16x16\info.bmp"
   SEPARATOR
   MENUITEM "&End..."  ;
      ACTION( oWnd:End(), LIBERA_TUDO() ) ;
      FILENAME "..\bitmaps\16x16\exit.bmp"

   ENDMENU

   MENUITEM "&Clients"
   MENU
   MENUITEM "&New..." ;
      ACTION ( MsgStop( "New Clients" ), ;
      oWnd:Say( 5, 5, "New Clients...", "GR+/G" ) ) ;
      FILENAME "..\bitmaps\16x16\faces.bmp"

   MENUITEM "&Modify..."  ACTION MsgInfo( "Modif. Clients" ) ;
      FILENAME "..\bitmaps\edit.bmp"

   MENUITEM "&Delete..."  ACTION MsgAlert( "Del Clients" ) ;
      FILENAME "..\bitmaps\16x16\delete.bmp"

   SEPARATOR

   MENUITEM "&Browse..."  ACTION MsgInfo( "Browse Clients" ) ;
      FILENAME "..\bitmaps\16x16\browse.bmp"

   ENDMENU

   MENUITEM "&Utilities"
   MENU
   MENUITEM "&Calculator..." ACTION WinExec( "Calc" ) ;
      FILENAME "..\bitmaps\16x16\calc.bmp"

   MENUITEM "&Internet..." ;
      ACTION WinExec( "start iexplore www.fivetech.com", 0 ) ;
      FILENAME "..\bitmaps\16x16\explorer.bmp"
   ENDMENU
   ENDMENU

RETURN oMenu
// --Fecha o Programa Definitivamente e Libera a Memoria RAM.
FUNCTION LIBERA_TUDO()

   IF File( "TUTOR04.LOG" )
      DELETEFILE( "TUTOR04.LOG" )
   ENDIF

   dbCommitAll()
   dbUnlockAll()
   dbCloseAll()
   FreeResources()
   RELEASE ALL
   SysRefresh()

   hb_gcAll( .T. )

   CLEAR MEMORY

   PostQuitMessage( 0 )

   QUIT

RETURN NIL

STATIC FUNCTION BmpTiled( hDC, oWnd, oBmp )

   LOCAL nWidth := oWnd:nWidth(), nHeight := oWnd:nHeight()
   LOCAL nRow := 0, nCol := 0 // , n
   LOCAL nBmpWidth  := oBmp:nWidth(),  nBmpHeight := oBmp:nHeight()

   IF oBmp:hBitmap == 0
      RETURN NIL
   ENDIF

   WHILE nRow < nHeight
      nCol = 0
      WHILE nCol < nWidth
         PalBmpDraw( hDC, nRow, nCol, oBmp:hBitmap )
         nCol += nBmpWidth
      END
      nRow += nBmpHeight
   END

RETURN NIL

// FIN / END

Regards, saludos.

 

Link to comment
Share on other sites

Para usar variáveis public e private, basta declarar no início do prg como MEMVAR. Assim campos sem alias como é preciso declarar como FIELD.

Também vi post, de que não pode iniciar uma variável ao declarar com W3. 

Pode sim, o que é verificado é a necessidade, vc declara lcerto:=.t. após no primeiro uso da variável vc usar o comando por exemplo, lcerto:= msgyesno(), isto ocorrerá a msg de advertência por iniciar a variável sem necessidade.

 

Link to comment
Share on other sites

// BUILDX.BAT alterado para /GC3 /W3 /ES2

@ECHO OFF
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for xHarbour                            xHarbour development power ³Ü
ECHO ³ (c) FiveTech 1993-2019 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8/10 ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

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

ECHO Compiling...

if "%FWDIR%" == "" set FWDIR=.\..\
if "%XHDIR%" == "" set XHDIR=c:\xHBBCC77
rem if "%2" == "/b" set GT=gtwin
rem if not "%2" == "/b" set GT=gtgui
set GT=gtgui

set hdir=%XHDIR%
set hdirl=%hdir%\lib
set bcdir=c:\BCC77
set fwh=%FWDIR%

REM %hdir%\bin\harbour %1 /n /i%fwh%\include;%hdir%\include /w3 /p %2 %3 > comp.log 2> warnings.log

%hdir%\bin\harbour %1 /a /m /n /gc3 /w3 /es2 /i%fwh%\include;%hdir%\include /w0 -wb- /p %2 %3 > comp.log 2> warnings.log

IF ERRORLEVEL 1 GOTO COMPILEERRORS
@type comp.log
@type warnings.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

IF EXIST %1.rc %bcdir%\bin\brc32.exe -r -I%bcdir%\include -I%bcdir%\include\windows\sdk %1

REM %bcdir%\bin\BRC32.Exe -R XPLOOK.RC

echo %bcdir%\lib\c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo %fwh%\lib\Fivehx.lib %fwh%\lib\FiveHC.lib %fwh%\lib\libmysql.lib + >> b32.bc
echo %fwh%\lib\pgsql.lib %fwh%\lib\libpq.lib + >> b32.bc
echo %hdirl%\rtl.lib + >> b32.bc
echo %hdirl%\vm.lib + >> b32.bc
echo %hdirl%\%GT%.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%\codepage.lib + >> b32.bc
echo %hdirl%\pp.lib + >> b32.bc
echo %hdirl%\pcrepos.lib + >> b32.bc
echo %hdirl%\ct.lib + >> b32.bc
REM echo %hdirl%\DrXlsx32x_bcc.lib + >> b32.bc
echo %hdirl%\zlib.lib + >> b32.bc
echo %hdirl%\hbzip.lib + >> b32.bc
REM echo %hdirl%\libmisc.lib + >> b32.bc
echo %hdirl%\png.lib + >> b32.bc

rem para que TIPSSL.LIB funcione, por a TIP.LIB depois.
REM echo %hdirl%\tipssl.lib + >> b32.bc
REM echo %hdirl%\libssl.lib + >> b32.bc
REM echo %hdirl%\libcrypto.lib + >> b32.bc
echo %hdirl%\tip.lib + >> b32.bc

rem Uncomment these two lines to use Advantage RDD
rem echo %hdir%\lib\rddads.lib + >> b32.bc
rem echo %hdir%\lib\Ace32.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\ws2_32.lib + >> b32.bc
echo %bcdir%\lib\wininet.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\gdiplus.lib + >> b32.bc
echo %bcdir%\lib\psdk\iphlpapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\urlmon.lib + >> b32.bc
echo %bcdir%\lib\psdk\shell32.lib, >> b32.bc

IF EXIST %1.res echo %1.res >> b32.bc

rem uncomment this line to use the debugger and comment the following one
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 *
%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

 

Link to comment
Share on other sites

Faço assim hoje

 

Class P_PortalCartasAnuPdfImp

   Data oDb_Protesto
   Data oDb_ProtestoAcervos

   Data oSf_MyEdgeWeb                        //Objeto MyEdgeWeb com a pagina da Cenprot apresentada atualmente em focus
   
   Data oXmlToDbf                            As Object 					//Objeto de XmlToDbf
   Data aPdfsFoundsUrlsAndChaveUnica         As Array    Init {}     //{Url DownLoad, Chave Unica, RotaArquivo, nApontamento, lBaixado } Pdfs das cartas de anuencias encontradas
                                                                     //Par 1-Url do pdf para ser baixado
                                                                     //Par 2-Chave unica referente o pdf encontrado
                                                                     //Par 3-Caminho completo e nome do pdf a ser baixado em Downloads
                                                                     //Par 4-Numero do apontamento
                                                                     //Par 5-Se foi baixado

   Data nPdfsEncontrados                     As Integer  Init 0      //Quantos arquivos foram encontrados
   Data nPdfsJaIncluidos                     As Integer  Init 0      //Quantos arquivos ja foram incluidos (repetidos)
   Data nPdfsNovos                           As Integer  Init 0      //Quantos arquivos novos incluidos
   Data nPdfsErros                           As Integer  Init 0      //Quantos arquivos com erros  

   Data cUrlFileDownBase64Decode             As String   Init ""     //Url do arquivo a ser baixado decodificado 
   Data eFlagUrlExtractInfo                  As CodeBlock Init    {|_cHtmlBlock|TXT_StrExtractTxt(_cHtmlBlock,;
                                                                                 "window.open('",;
                                                                                 "', '_self",;
                                                                                 190,;
                                                                                 {" "})}


   Method New() Constructor
   Method End()

   Method P_PortalCartasAnuPdfImp_Start()
   Method P_PortalCartasAnuPdfImp_DadosExtract()
   Method P_PortalCartasAnuPdfImp_DadosDownLoad()
   Method P_PortalCartasAnuPdfImp_DadosGravar()

EndClass

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...