Jump to content
Fivewin Brasil

kapiaba

Membros
  • Posts

    24,540
  • Joined

  • Last visited

  • Days Won

    282

Posts posted by kapiaba

  1. Dei uma melhoradinha...

    // C:\FWH\SAMPLES\VICTOR2.PRG
    /*
     * Project: xFF
     * File: xFF.prg - Original. Modificado por: kapiabafwh@gmail.com
     * Description:
     * Author: JMSilva
     * Date: 06-25-2014
    */
    
    #Include "Fivewin.ch"
    
    FUNCTION Main()
    
       LOCAL oFont, oFnt, oDlg, oMemo, oBtnSair, oIco, aGrad, oKey, oBtnFind, ;
             cText, cKey := Space( 20 )
    
       SetBalloon( .T. ) 
       SkinButtons()
    
       // Color en el MEMO.
       TGet():bColorBlock := { |oGet| IF( oGet:lFocused, { CLR_BLACK, CLR_HCYAN },     ;
                                      IF( .NOT. oGet:lActive, { CLR_RED, CLR_YELLOW }, ;
                                                              { CLR_BLACK, CLR_WHITE } ) ) }
    
       cText := MemoRead( "TEXTO.txt" ) // pode ser campo memo
    
       aGrad := { { 0.30, nRGB( 221, 245, 255 ), nRGB( 192, 221, 255 ) }, ;
                  { 0.50, nRGB( 192, 221, 255 ), nRGB( 221, 245, 255 ) } }
    
       DEFINE FONT oFont NAME "TAHOMA" SIZE 00, - 12 BOLD
       DEFINE FONT oFnt  NAME 'TAHOMA' SIZE 00, - 12 BOLD
       DEFINE ICON oIco FILENAME "..\icons\customer.ico"
    
       DEFINE DIALOG oDlg TITLE "Pesquisa com GET TEXT" SIZE 680, 480 ICON oIco ;
          GRADIENT aGrad FONT oFont STYLE nOR( WS_SYSMENU, WS_MINIMIZEBOX )
    
       IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
          Set( _SET_INSERT, ! Set( _SET_INSERT ) )
       ENDIF
    
       @ 4, 3 GET oMemo VAR cText MEMO PIXEL SIZE 330, 192 OF oDlg FONT oFont ;
          UPDATE
    
       oMemo:bGotFocus := {|| oMemo:SetSel( 0, 0 ) }
       oMemo:lReadOnly := .T.  // nÆo edita
    
       @ 13.10, 07 SAY "<Click> na Lupa Para Procurar: " OF oDlg UPDATE ;
          COLORS METRO_GREEN, CLR_WHITE TRANSPARENT FONT oFnt
    
       @ 13.85, 1 SAY "PESQUISA: " OF oDlg UPDATE COLORS CLR_HBLUE, CLR_WHITE ;
          TRANSPARENT FONT oFont
    
       @ 16, 5 GET oKey VAR cKey PICTURE "@!" SIZE 150, 12 OF oDlg ;
          BITMAP "..\bitmaps\Find2.bmp"                            ;
          ACTION ( Find( oMemo, Trim( cKey ), .T. ), oBtnFind:Enable() )
    
       oKey:cToolTip := "Digite o Texto a Procurar"
    
       oKey:bKeyChar := {|| oBtnFind:Disable() }
    
       oKey:lBtnTransparent := .T.
       oKey:lAdjustBtn      := .T.
    
       @ 203, 195 BTNBMP oBtnFind PROMPT "&Próximo" SIZE 50, 18 OF oDlg ;
          LEFT 2007 FLAT FILENAME "../bitmaps/Next.bmp"                 ;
          ACTION Find( oMemo, Trim( cKey ), .F. ) WHEN( Find() )
    
       oBtnFind:cToolTip := " Próximo Texto a Procurar"
    
       oBtnFind:Disable()
    
       @ 203, 290 BTNBMP oBtnSair PROMPT " &Salir" SIZE 40, 18 OF oDlg  ;
          2007 FLAT LEFT FILENAME "../bitmaps/Exit.bmp" ACTION( oDlg:End() )
    
       oBtnSair:cToolTip := " Salida - Exit - Cancelar"
    
       oBtnSair:lCancel := .T.
    
       ACTIVATE DIALOG oDlg CENTERED ON INIT( XFOCUS( oKey ) )
    
       IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
          Set( _SET_INSERT, ! Set( _SET_INSERT ) )
       ENDIF
    
       oFont:End()
       oFnt:End()
    
    RETURN NIL
    
    FUNCTION Find( oMemo, cFind, lNew )
    
       LOCAL nIndex := 0
    
       STATIC nStart := 0
    
       IF PCount() == 0 ; RETURN( nStart > 0 ) ; ENDIF // when
    
       IF lNew ; nStart := 1; ENDIF               // start
    
       nIndex := At( Trim( cFind ), Upper( oMemo:cText ), nStart, Len( oMemo:cText ) )
    
       IF nIndex > 0
    
          oMemo:Setfocus()     // seta o focu
          oMemo:SetPos( nIndex - 1, nIndex ) // posiciona
          oMemo:SetSel( nIndex - 1, nIndex + Len( Trim( cFind ) ) - 1 )
    
          RESetSelection( oMemo:hWnd, nIndex + Len( Trim( cFind ) ), nIndex )  // faz a rolagem do texto
    
          oMemo:Change()
    
          nSTART := nIndex + Len( Trim( cFind ) )// para continuar a pesquisa
    
       ELSEIF lNew
    
          MsgStop( "A palavra: " + cFind + " não foi localizada", "Find" )
    
          oMemo:SetSel( 0, 0 )
    
          nStart := 1
    
       ELSE
    
          MsgStop( "Nenhuma outra ocorrência foi encontrada", "Find" )
    
          nIndex := nStart - Len( Trim( cFind ) )
    
          oMemo:SetPos( nIndex - 1, nIndex ) // posiciona
    
       ENDIF
    
    RETURN( .T. )
    
    FUNCTION xFocus( oObj )
    
       xSetFocus( oObj )
       xSetFocus( oObj )
    
    RETURN( .T. )
    
    FUNCTION xSetFocus( oObj )    
    
       LOCAL _oWnd := oObj:oWnd, _oTempo := ""
    
       DEFINE TIMER _oTempo INTERVAL 10 OF _oWnd ;
          ACTION ( oObj:SetFocus(), _oTempo:End() )
    
       ACTIVATE TIMER _oTempo
    
    RETURN( .T. )
    
    // FIN / END

     

  2. // 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

     

  3. Mister Quintas, mais um exemplo para o senhor brincar e me desafiar. kkkkk Tenta a sorte... 
    
    // C:\FWH\SAMPLES\RADHORIZ.PRG
    
    #include "FiveWin.ch"
    
    FUNCTION Main()
    
       LOCAL oDlg, oRad, nValue := 1, oGet1, oFont, lSave := .F., cTestGet
    
       IF .NOT. File( "test1.dbf" )
    
          createfilea()
    
       ENDIF
    
       IF ( Select( "test1" ) == 0 )
    
          USE test1 NEW
    
          INDEX ON FIELD->msg1 TO temp
    
       ELSE
    
          SELECT Select( "test1" )
    
       ENDIF
    
       APPEND BLANK
    
       onerror( "APPEND" )
    
       REPLACE FIELD->msg1 WITH "This is Radio 1"
       REPLACE FIELD->msg2 WITH "This is Radio 2"
       REPLACE FIELD->msg3 WITH "This is Radio 3"
    
       IF nValue = 1
    
          ctestget = FIELD->msg1
    
       ELSEIF nValue = 2
    
          ctestget = FIELD->msg2
    
       ELSE
    
          ctestget = FIELD->msg3
    
       ENDIF
    
       DEFINE FONT oFont  NAME "Ms Sans Serif"  SIZE 00, -14 BOLD
    
       DEFINE DIALOG oDlg FROM 0, 0 TO 26, 79 FONT oFont                    ;
          TITLE "Test radio horizontal:->  " + Version()
    
       oDlg:lHelpIcon := .F.
    
       @ 0.5,  2 RADIO oRad VAR nValue ITEMS "Radio 1" OF oDlg SIZE 50, 12  ;
          ON CHANGE {|| radiobtntest( oRad:nOption, oGet1, @ctestget ) }    ;
          UPDATE
    
       @ 0.5,  17 RADIOITEM "Radio 2" RADIOMENU oRad OF oDlg SIZE 50, 12    ;
          UPDATE
    
       @ 0.5, 32 RADIOITEM "Radio 3" RADIOMENU oRad OF oDlg SIZE 50, 12     ;
          UPDATE
    
       @ 6, 1 GET oGet1 VAR cTestGet SIZE 100, 12 OF oDlg UPDATE            ;
         COLORS METRO_PINK, CLR_WHITE FONT oFont
    
       @ 11.70, 001  SAY "kapiabafwh@gmail.com" SIZE 085, 12 OF oDlg UPDATE ;
         COLORS METRO_COBALT, CLR_WHITE FONT oFont
    
       @ 9.95, 18.7 BUTTON "&Gravar" OF oDlg ACTION ( lSave := .T. )        ;
          SIZE 40, 12
    
       @ 9.95, 25.7 BUTTON "&Saida" OF oDlg ACTION ( oDlg:End() )           ;
          SIZE 40, 12 CANCEL
    
       ACTIVATE DIALOG oDlg CENTERED ON INIT( CTRLS_COLORS( oDlg ) )
    
       oFont:End()
    
       IF lSave
    
          SELECT test1
    
          onerror( "RLOCK" )
    
          IF nValue = 1
    
             REPLACE FIELD->msg1 WITH ctestget
    
          ELSEIF nValue = 2
    
             REPLACE FIELD->msg2 WITH ctestget
    
          ELSE
    
             REPLACE FIELD->msg3 WITH ctestget
    
          ENDIF
    
       ENDIF
    
       dbCloseAll() // CLOSE DATABASES
    
    RETURN NIL
    
    FUNCTION NAO_VOLTA_SETA_ACIMA()
    
       IF GETASYNCKEY( VK_UP )
          RETURN( .F. )
       ENDIF
    
    RETURN( .T. )
    
    FUNCTION radiobtntest( nValue, oGet1, ctestget )
    
       IF nValue = 1
    
          ctestget = FIELD->msg1
    
       ELSEIF nValue = 2
    
          ctestget = FIELD->msg2
    
       ELSE
    
          ctestget = FIELD->msg3
    
       ENDIF
    
       oGet1:ReFresh()
    
    RETURN NIL
    
    FUNCTION createfilea()
    
       // "File : test1.dbf"
       LOCAL tmpdbf := {}
    
       AAdd( tmpdbf, { "msg1", "c", 50, 0 } )
       AAdd( tmpdbf, { "msg2", "c", 50, 0 } )
       AAdd( tmpdbf, { "msg3", "c", 50, 0 } )
    
       dbCreate( "test1.dbf", tmpdbf )
    
       CLOSE
    
    RETURN NIL
    
    FUNCTION ONERROR()
    
       PARAMETERS errortype
    
       errortype := Upper( errortype )
    
       DO CASE
       CASE errortype == "RLOCK"
    
          IF ( RLock() )
    
             RETURN( .T. )
    
          ENDIF
    
          DO WHILE ( .NOT. RLock() )
    
             Inkey( 3 )
    
          ENDDO
    
       CASE errortype == "APPEND"
    
          IF ( .NOT. NetErr() )
    
             onerror( "RLOCK" )
    
             RETURN( .T. )
    
          ENDIF
    
          DO WHILE ( NetErr() )
    
             Inkey( 3 )
    
             APPEND BLANK
    
          ENDDO
    
          onerror( "RLOCK" )
    
       ENDCASE
    
    RETURN( .T. )
    // By Giovanny Vecchi - TESTRAD.PRG aqui na minha pasta.
    FUNCTION CTRLS_COLORS( f_oDlgContainer )
    
       LOCAL lc_aCtrls := {}, lc_iFor := 0
       LOCAL lc_aItemsRadio := {}
    
       lc_aCtrls := f_oDlgContainer:aControls
    
       FOR lc_iFor := 1 TO Len( lc_aCtrls )
    
          IF ValType( lc_aCtrls[lc_iFor] ) == "O"
    
             IF lc_aCtrls[lc_iFor]:ClassName() == "TRADIO"
    
                aEval( lc_aCtrls[lc_iFor]:oRadMenu:aItems,                 ;
                       {|_oRadId|{ SetWindowTheme( _oRadId:hWnd, "", "" ), ;
                       _oRadId:SetColor( CLR_CYAN, CLR_WHITE ) } } )
    					
             ELSEIF lc_aCtrls[lc_iFor]:ClassName() == "TCHECKBOX"
    
                SetWindowTheme( lc_aCtrls[lc_iFor]:hWnd, "", "" )
    
                // C:\FWH\INCLUDE\COLORS.CH
                lc_aCtrls[lc_iFor]:SetColor( METRO_ORANGE, METRO_ORANGE )
    
             ENDIF
    
          ENDIF
    
       NEXT
    
    RETURN NIL
    
    // FIN / END - kapiabafwh@gmail.com
    
    Regards, saludos.

     

  4. 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.

     

  5. 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.

     

  6. // C:\FWH\SAMPLES\ENRIQUE2.PRG - FiveWin e o bicho. kkkkkkkkkkkk
    
    #include "FiveWin.ch"
    
    STATIC oWnd
    
    FUNCTION Main()
    
       LOCAL oIco, oBar, oBmp
    
       hb_gcAll( .F. )
    
       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 2007
    
       DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\new.bmp" FLAT ;
          ACTION( Dlg_Modal() )                                       ;
          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 2007
    
       DEFINE BITMAP oBmp FILENAME "..\bitmaps\sea.bmp"
    
       oWnd:bPainted = {| hDC | BmpTiled( hDC, oWnd, oBmp ) }
    
       ACTIVATE WINDOW oWnd CENTERED // MAXIMIZED
    
    RETURN NIL
    
    FUNCTION Dlg_Modal()
    
       LOCAL oDlg, oRad, nValue := 1, cTitle, oFont
    
       cTitle := "DIALOGO MODAL by Jose Quintas"
    
       DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, - 14 BOLD
    
       DEFINE DIALOG oDlg TITLE cTitle FONT oFont TRANSPARENT
    
       oDlg:lHelpIcon := .F.
    
       @ 1, 1 RADIO oRad VAR nValue ;
          ITEMS "&One", "&Two", "T&hree" OF oDlg SIZE 80, 12 ;
    
          @ 3, 10 BUTTON "Ok" OF oDlg ACTION MsgInfo( "ok" ) CANCEL
    
       ACTIVATE DIALOG oDlg CENTERED
    
       oFont:End()
    
    RETURN NIL
    
    FUNCTION BuildMenu()
    
       LOCAL oMenu
    
       MENU oMenu 2007
       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( "ENRIQUE2.LOG" )
          DELETEFILE( "ENRIQUE2.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

     

  7. Mister Quitas, Mira se és esto:
    
    // C:\FWH\SAMPLES\ENRIQUE.PRG
    
    #include "FiveWin.ch"
    
    FUNCTION Main()
    
       LOCAL oWnd
    
       DEFINE WINDOW oWnd
    
       ACTIVATE WINDOW oWnd ON INIT NonModal()
    
    RETURN NIL
    
    FUNCTION NonModal()
    
       LOCAL oDlg, oRad, nValue := 1, cTitle, oFont
    
       cTitle := "DIALOGO NO MODAL by Jose Quintas"
    
       DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, - 14 BOLD
    
       DEFINE DIALOG oDlg TITLE cTitle FONT oFont TRANSPARENT
    
       oDlg:lHelpIcon := .F.
    
       @ 1, 1 RADIO oRad VAR nValue ;
          ITEMS "&One", "&Two", "T&hree" OF oDlg SIZE 80, 12 ;
    
       @ 3, 10 BUTTON "Ok" OF oDlg ACTION MsgInfo( "ok" ) CANCEL
    
       ACTIVATE DIALOG oDlg NOMODAL CENTER
    
       oFont:End()
    
    RETURN NIL
    
    // FIN / END
    
    Regards, saludos.

     

  8. 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.

     

  9. 1000 perdões, não vou perder tempo com isso, essa "coisa" não tem nada que ver com FIVEWIN the best. É uma mistureba de não sei o que, com sei lá o que. Se vai usar FIVEWIN, use PURO. Não misture com SEGUNDA LINHA NUNCA!

    Tks.

    Regards, saludos.

×
×
  • Create New...