harbour32 (hbmk2)
Moderador: Moderadores
harbour32 (hbmk2)
ola a todos (antes de postar essa minha primeira duvida pesquisei um pouco aqui no forum)
inicialmente baixei os instaladores do harbour 30 e harbour 32 no site oficial
estou testando o harbour para sair de vez do xharbour to engessado com xharbour 1.1.0 + fw 805 + gtwvw (quero usar hbQt) ou gtwvg a que estiver mais madura e depois migrar para o qt4xhb
inicialmente começei a testar como migrar de xharbour para harbour pois utilizo o hbmake e to testando hbmk2 so que encontrei os seguintes problemas
na versao harbour30 (baixada do site) tem os scrips para rodar o hbmk2 sem problemas e na versao harbour32 nao tem dos seguintes testes do contrtib
contrib\hbqt (nem existe no harbour32) - queria testar para substituir o gtwvw que estou preso nele ha alguns anos
contrib\gtwvg (existe so que nao tem o arquivo demowvg.hbp) e os .prg tem nomes diferentes como fazer na versao 30 o exemplo da alguns erros (tava pensando em substituir o gtwvw )
e ao executar hbmk2 -hbmake=del_term.bc nao esta convertendo corretamente somente o 1o .prg apenas (como faço) ?
posso postar aqui o .bc e o .hbp
bem acho que é isso inicialmente
obrigado
inicialmente baixei os instaladores do harbour 30 e harbour 32 no site oficial
estou testando o harbour para sair de vez do xharbour to engessado com xharbour 1.1.0 + fw 805 + gtwvw (quero usar hbQt) ou gtwvg a que estiver mais madura e depois migrar para o qt4xhb
inicialmente começei a testar como migrar de xharbour para harbour pois utilizo o hbmake e to testando hbmk2 so que encontrei os seguintes problemas
na versao harbour30 (baixada do site) tem os scrips para rodar o hbmk2 sem problemas e na versao harbour32 nao tem dos seguintes testes do contrtib
contrib\hbqt (nem existe no harbour32) - queria testar para substituir o gtwvw que estou preso nele ha alguns anos
contrib\gtwvg (existe so que nao tem o arquivo demowvg.hbp) e os .prg tem nomes diferentes como fazer na versao 30 o exemplo da alguns erros (tava pensando em substituir o gtwvw )
e ao executar hbmk2 -hbmake=del_term.bc nao esta convertendo corretamente somente o 1o .prg apenas (como faço) ?
posso postar aqui o .bc e o .hbp
bem acho que é isso inicialmente
obrigado
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
harbour32 (hbmk2)
No harbour 3.2 oficial ou 3.4 Viktor procure pelo GTQTC.contrib\hbqt (nem existe no harbour32) - queria testar para substituir o gtwvw que estou preso nele ha alguns anos
A GTQTC é outra menor, criada pelo Przmek.
A distribuição hbqt foi separada, porque é enorme e mudanças ocorrem todo o tempo.
Forum internacional da qtcontribs.
https://groups.google.com/forum/?hl=pt- ... qtcontribs
Saudações,Welcome to the First Harbour Chapter: "QtContribs - Harbour Qt Projects".
This is the new begining, for Harbour, to have a satellite project based on the core compiler, termed as Harbour Chapter : Harbour Qt Projects. This is the group which will have developers and users interacting with each other together. The idea is to combine every effort leading to a better tomorrow.
https://sourceforge.net/p/qtcontribs/wi ... Statement/
https://sourceforge.net/p/qtcontribs/co ... /ChangeLog
https://sourceforge.net/projects/qtcontribs/files/
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
harbour32 (hbmk2)
itamar
obrigado pela resposta
o unico exemplo que googlei foi esse http://magsoftinfo.com.br/blogdomag/?tag=gtqtc
ja baixei o cvs vc teria algum exemplo ?
obrigado pela resposta
o unico exemplo que googlei foi esse http://magsoftinfo.com.br/blogdomag/?tag=gtqtc
ja baixei o cvs vc teria algum exemplo ?
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
harbour32 (hbmk2)
Na pasta \hbqtwidgets\tests
Saudações,
Itamar M. Lins Jr.
Código: Selecionar todos
07/01/14 16:24 13.602 browdb.prg
19/06/13 20:03 5.331 browgets.prg
31/05/13 20:42 5.484.360 browser.exe
18/12/13 19:39 8.624 browser.prg
06/06/13 22:13 5.762.414 dashbrd.exe
22/06/13 18:33 11.353 dashbrd.prg
31/05/13 20:44 1.741.793 getsinfo.exe
23/04/13 12:19 5.002 getsinfo.prg
23/04/13 12:19 1.726 harbour.png
22/06/13 18:33 100 hbmk.hbm
31/05/13 20:33 5.437.948 pureclip.exe
23/12/13 13:00 16.168 pureclip.prg
31/05/13 20:47 5.082.230 validator.exe
23/04/13 12:19 153 validator.hbp
05/10/13 17:45 18.931 validator.prg
23/04/13 12:19 7.757 validatorgets.ui
23/04/13 12:19 3.069 validatormain.ui
Código: Selecionar todos
/*
* $Id: pureclip.prg 276 2013-12-20 23:06:47Z bedipritpal $
*/
/*
* Copyright 2012-2013 Pritpal Bedi <bedipritpal@hotmail.com>
* www - http://harbour-project.org
*/
#include "hbtoqt.ch"
#include "set.ch"
#include "hbqtstd.ch"
#include "inkey.ch"
#include "hbqtgui.ch"
#include "hbtrace.ch"
STATIC s_cImage
STATIC aTest0 := { "This", "is", "a", "browse", "on", "an", "array", "test", "with", "a", "long", "data" }
STATIC aTest1 := { 1, 2, 3, 4, 5, 6, 7, 8, 10000, - 1000, 54, 456342 }
STATIC aTest2
STATIC aTest3 := { .T., .F., .T., .T., .F., .F., .T., .F., .T., .T., .F., .F. }
FUNCTION Main()
LOCAL nPdL := 22, nColGet := 25
LOCAL cText := "ABC"
LOCAL dDate := 0d19560604
LOCAL nNumb := 6030.130001
LOCAL lMrd := .T.
LOCAL cTele := "(999)684-7318"
LOCAL cJust := Space( 20 )
LOCAL cCata := "IT3-BEL-903533AST63Z"
LOCAL nSlry := 3000
LOCAL cNotes := "We, the Harboureans, are entering a new era of true GUI implementation of our beloved Clipper language, let us keep the emotions high..."
LOCAL cList := "Two"
LOCAL aList := { "One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten" }
LOCAL lOk := .F.
LOCAL lCancel := .F.
LOCAL cDeptt := "MIS"
LOCAL aDeptt := { "Accounts","Store","MIS","HR","Technical" }
LOCAL lDone := .T.
LOCAL GetList := {}
LOCAL SayList := {}
LOCAL val := Array( 3 )
LOCAL oBrowse
LOCAL lBrowse := .T.
hbqt_errorsys() /* ALWAYS place it as first FUNCTION call; you will know your errors */
aTest2 := { Date(), Date() + 4, Date() + 56, Date() + 14, Date() + 5, Date() + 6, Date() + 7, Date() + 8, Date() + 10000, Date() - 1000, Date() - 54, Date() + 456342 }
s_cImage := __hbqtImage( "zoomout3" )
val[ 1 ] := Space( 10 )
val[ 2 ] := 0
val[ 3 ] := ctod( "" )
/* Harbour Standard Settings */
Set( _SET_DATEFORMAT, "yyyy-mm-dd" )
/* Harbour standards SAYs and GETs */
@ 1, 02 SAY PadL( "Upper Cased Alphabets:", nPdL ) GET cText VALID {|oGet| cText == "ABC" .OR. cText == "DEF" .OR. Udf1( oGet ) } PICTURE "@!KA"
@ 2, 02 SAY PadL( "Birthday:", nPdL )
@ 2, nColGet GET dDate WHEN {|| cText == "ABC" } COLOR "B/GR*" ;
VALID {|| AChoice( 5, 5, 12, 20, { "Abc","Cde","Efg","Fgh","Ghi" } ), dDate >= 0d19560604 }
@ 3, 02 SAY PadL( "Max 6 Decimals:", nPdL )
@ 3, nColGet GET nNumb PICTURE "@Z 9,999,999.999999" WHEN {|| DispOutAt( MaxRow(), 20, "Harbour" ) } VALID nNumb > 600 .AND. nNumb < 6000000
@ 4, 02 SAY PadL( "Logical - Married:", nPdL ) GET lMrd PICTURE "Y"
@ 5, 02 SAY PadL( "Telephone Number:", nPdL )
@ 5, nColGet GET cTele PICTURE "@! (999)999-9999"
@ 6, 02 SAY PadL( "Upper Lower Upper:", nPdL )
@ 6, nColGet GET cJust PICTURE "@A" COLOR "W+/B*" VALIDATOR {|cText,nPos| UpperLowerUpper( @cText, @nPos ) } VALID {|| GetAsChild_1() }
@ 7, 02 SAY PadL( "Scrolling Catalog:", nPdL )
@ 7, nColGet GET cCata PICTURE "@S15 !!!-!!!-!!!!!!!!!!!!" VALID {|| GetAsChild() }
@ 1, 52 SAY "Val[1]"
@ 1, 60 GET val[1] PICTURE "@!"
@ 2, 52 SAY "Val[2]"
@ 2, 60 GET val[2] PICTURE "@K 99"
@ 3, 52 SAY "Val[3]"
@ 3, 60 GET val[3]
@ 5, 52 SAY "Deptt:"
@ 5, 60, 5, 69 GET cDeptt COMBOBOX aDeptt VALID {|oGet| HB_TRACE( HB_TR_ALWAYS, oGet:varGet() ), .T. }
@ 7, 52 SAY "Salary:"
@ 7, 60 GET nSlry PICTURE "@KE 99,999" VALID {|| nSlry > 600 .AND. nSlry < 17000 }
@ 9, 48 SAY "Done:"
@ 9, 54 GET lDone CHECKBOX
@ 9, 02 SAY "Notes:"
@ 10, 02, 16, 55 GET cNotes MEMOEDIT COLOR "N/rgb(255,255,230)" WHEN cText == "DEF" VALID "Harbour" $ cNotes ;
PROPERTIES {|oGet,oControl| SetControlProp( oGet, oControl, "tooltip", "The notes must contain 'Harbour' somewhere" ) }
@ 9, 60 SAY "Select:"
@ 10, 60, 16, 69 GET cList LISTBOX aList WHEN cText == "ABC" VALID {|| HB_TRACE( HB_TR_ALWAYS, cList ), .T. }
oBrowse := BrowseArray( NIL, .F. )
//
@ 18, 02, 24, 42 GET lBrowse HBQTBROWSE oBrowse
//@ 18, 44, 24, 69 GET s_cImage IMAGE DONOTSCALE WHEN {|| .F. }
@ 18, 44, 24, 69 GET s_cImage IMAGE WHEN {|| .F. }
@ 26, 25, 26, 44 GET lOk PUSHBUTTON "OK" ACTION {|| iif( Alert( "Save Data?", {"Yes","No"} ) == 1, "cText", "cNotes" ) } ;
WHEN nSlry > 700 .AND. nSlry < 17000
@ 26, 50, 26, 69 GET lCancel PUSHBUTTON "Cancel" ACTION {|v| v := Alert( { "Cancel Pressed!", "Should we terminate the Form ?" }, { "Yes","No" }, "W+/N", 5, "Really?", 2 ), ;
iif( v == 1, GetActive():parent():close(), NIL ) }
/* Bring on browser as a selection list */
SetKey( K_F2, {|| BrowseArray( GetActive():parent(), .T. ) } )
/* Caclulator callable with F10 */
SetKey( K_F10, {|| HbQtCalculate( GetActive():parent() ) } )
READ PROPERTIES {|oWnd,oGetList| SetFormProperties( oWnd, oGetList ) }
QApplication():clipboard:clear( QClipboard_Clipboard )
QApplication():clipboard:clear( QClipboard_Selection )
RETURN NIL
STATIC FUNCTION GetAsChild_1()
LOCAL oWnd := GetActive():parent()
LOCAL nYear := 0, nMonth := 0
LOCAL SayList := {}, GetList := {}
LOCAL kf2 := SetKey( K_F2, {|| BrowseArray( oWnd ) } )
@ 1, 2 SAY "Year :" GET nYear PICTURE "@Z 9999"
@ 2, 2 SAY "Month:" GET nMonth PICTURE "@Z 99"
READ ;
LASTGETBLOCK {|| GetActive():parent():close() } ;
ATTRIBUTES { { _QGET_ATTRB_ATROWCOLUMNONTOPOF, { oWnd, GetActive():Row(), GetActive():Col() } } } ;
SetKey( K_F2, kf2 )
RETURN .T.
STATIC FUNCTION GetAsChild()
LOCAL oWnd := GetActive():parent()
LOCAL nYear := 0, nMonth := 0
LOCAL SayList := {}, GetList := {}
LOCAL kf2 := SetKey( K_F2, {|| BrowseArray( oWnd ) } )
@ 0.2, 1 SAY "Year :" GET nYear PICTURE "@Z 9999"
@ 1.2, 1 SAY "Month:" GET nMonth PICTURE "@Z 99"
READ ;
LASTGETBLOCK {|| GetActive():parent():close() } ;
ATTRIBUTES { { _QGET_ATTRB_ATROWCOLUMNONTOPOF, { oWnd, GetActive():Row(), GetActive():Col(), .T. } } } ;
NOFOCUSFRAME ;
TITLE "MonthYear"
SetKey( K_F2, kf2 )
RETURN .T.
STATIC FUNCTION UpperLowerUpper( cText, nPos )
LOCAL cChr, s
HB_SYMBOL_UNUSED( nPos )
s := ""
FOR EACH cChr IN cText
IF cChr:__enumIndex() % 2 == 0
s += Lower( cChr )
ELSE
s += Upper( cChr )
ENDIF
NEXT
cText := s
RETURN .T. /* Must always return TRUE/FALSE */
STATIC FUNCTION Udf1( oGet )
IF "TST" $ oGet:buffer
oGet:varPut( "DEF" )
oGet:display()
RETURN .T.
ENDIF
RETURN .F.
STATIC FUNCTION SetFormProperties( oWnd, oGetList )
HB_SYMBOL_UNUSED( oGetList )
oWnd:setWindowTitle( "Clipper Compatible GET System" )
oWnd:setWindowIcon( QIcon( "harbour.png" ) )
RETURN NIL
STATIC FUNCTION SetControlProp( oGet, oControl, cProp, xValue )
HB_SYMBOL_UNUSED( oGet )
SWITCH cProp
CASE "tooltip"
oControl:setToolTip( xValue )
EXIT
ENDSWITCH
RETURN NIL
STATIC FUNCTION BrowseArray( oMain, lExecute )
LOCAL oBrowse, n
oBrowse := HbQtBrowseNew( 10, 25, 17, 70, oMain, QFont( "Courier New", 10 ), lExecute )
oBrowse:colorSpec := "N/W*, N/BG, W+/R*, W+/B"
oBrowse:GoTopBlock := {|| ArIndexNo( 1 ) }
oBrowse:GoBottomBlock := {|| ArIndexNo( Len( aTest0 ) ) }
oBrowse:SkipBlock := {| nSkip, nPos | nPos := ArIndexNo(), ;
n := iif( nSkip > 0, Min( Len( aTest0 ), nPos + nSkip ), ;
Max( 1, nPos + nSkip ) ), ArIndexNo( n ), n - nPos }
oBrowse:AddColumn( HbQtColumnNew( "First", {|| ArIndexNo() } ) )
oBrowse:AddColumn( HbQtColumnNew( "Second", {|x| iif( x == NIL, aTest0[ ArIndexNo() ], aTest0[ ArIndexNo() ] := x ) } ) )
oBrowse:AddColumn( HbQtColumnNew( "Third", {|x| iif( x == NIL, aTest1[ ArIndexNo() ], aTest1[ ArIndexNo() ] := x ) } ) )
oBrowse:AddColumn( HbQtColumnNew( "Forth", {|x| iif( x == NIL, aTest2[ ArIndexNo() ], aTest2[ ArIndexNo() ] := x ) } ) )
oBrowse:AddColumn( HbQtColumnNew( "Fifth", {|x| iif( x == NIL, aTest3[ ArIndexNo() ], aTest3[ ArIndexNo() ] := x ) } ) )
oBrowse:GetColumn( 1 ):Picture := "@Z 999"
oBrowse:GetColumn( 2 ):Picture := "@!"
oBrowse:GetColumn( 3 ):Picture := "999,999.99"
oBrowse:GetColumn( 3 ):postBlock := {|| GetActive():varGet() > 700 }
oBrowse:GetColumn( 3 ):colorBlock := {|nVal| iif( nVal < 0, {3,2}, iif( nVal > 500, {4,2}, {1,2} ) ) }
/* TBrowse will call this METHOD when ready TO save edited row. Block must receive 4 parameters and must RETURN true/false */
oBrowse:editBlock := {|aModified, aData, oBrw| SaveMyData( aModified, aData, oBrw, aTest0, aTest1, aTest2, aTest3 ) }
oBrowse:searchBlock := {|xSearch, nColPos, oBrw| SearchMyData( xSearch, nColPos, oBrw, aTest0, aTest1, aTest2, aTest3 ) }
oBrowse:searchExBlock := {|xSearch, nColPos, oBrw| SearchExMyData( xSearch, nColPos, oBrw, aTest0, aTest1, aTest2, aTest3 ) }
/* needed since I've changed some columns _after_ I've added them to TBrowse object */
oBrowse:Configure()
oBrowse:navigationBlock := {|nKey,xData,oBrw| Navigate( nKey, xData, oBrw, lExecute ) }
/* Freeze first column TO the left */
oBrowse:freeze := 1
oBrowse:editEnabled := .F. /* User must not be able to edit via edit button */
IF lExecute
oBrowse:execute()
ENDIF
RETURN oBrowse
STATIC FUNCTION navigate( nKey, xData, oBrowse, lExecute )
LOCAL lHandelled := .T.
LOCAL i, xResult
HB_SYMBOL_UNUSED( xData )
oBrowse:statusMessage := DToC( Date() ) + " | " + Time() + " | " + hb_ntos( oBrowse:colPos )
IF nKey == K_RIGHT .OR. nKey == K_LEFT .OR. nKey == K_END .OR. nKey == K_HOME
oBrowse:searchEx()
ENDIF
DO CASE
CASE nKey == K_ENTER
IF lExecute
IF ! Empty( GetActive() ) .AND. Upper( GetActive():name() ) == "CTEXT"
GetActive():varPut( Eval( oBrowse:getColumn( 2 ):block ) )
GetActive():display()
ENDIF
oBrowse:terminate() /* Here we need to inform which record is selected and appln acts accordingly */
ENDIF
CASE nKey == K_ESC
oBrowse:terminate() /* Here appln should act OTHERWISE */
CASE nKey == K_CTRL_F
oBrowse:search()
CASE nKey == K_F4
oBrowse:rFreeze++
CASE nKey == K_F5
oBrowse:rFreeze--
CASE nKey == K_F6
oBrowse:freeze++
CASE nKey == K_F7
oBrowse:freeze--
CASE nKey == K_F8
oBrowse:moveLeft() /* HbQt Entention */
CASE nKey == K_F9
oBrowse:moveRight() /* HbQt Entention */
CASE nKey == K_F10
oBrowse:moveHome() /* HbQt Entention */
CASE nKey == K_F11
oBrowse:moveEnd() /* HbQt Entention */
CASE nKey == K_F12
oBrowse:edit( "Update Info", .T., .T. ) /* Even IF :editable is OFF, still application code can initiate it */
CASE nKey == K_SH_F12
oBrowse:panHome()
FOR i := 1 TO oBrowse:colCount
xResult := oBrowse:editCell() /* HbQt Entention */
IF xResult == NIL
EXIT /* Sure ESCape is pressed */
ENDIF
IF i < oBrowse:colCount
oBrowse:Right()
ENDIF
NEXT
CASE nKey >= 32 .AND. nKey <= 127
oBrowse:searchEx( Chr( nKey ) )
CASE nKey == K_UP .OR. nKey == K_DOWN
DisplayImage( aTest0[ ArIndexNo() ] )
lHandelled := .F.
OTHERWISE
lHandelled := .F.
ENDCASE
RETURN lHandelled
STATIC FUNCTION SaveMyData( aModified, aData, oBrw, aTest0, aTest1, aTest2, aTest3 )
LOCAL i, aCaptions := aData[ 2 ]
HB_SYMBOL_UNUSED( oBrw )
FOR i := 1 TO Len( aModified )
SWITCH aCaptions[ i ]
CASE "Second"
aTest0[ ArIndexNo() ] := aModified[ i ] /* You can compare original and modified values */
EXIT
CASE "Third"
aTest1[ ArIndexNo() ] := aModified[ i ]
EXIT
CASE "Forth"
aTest2[ ArIndexNo() ] := aModified[ i ]
EXIT
CASE "Fifth"
aTest3[ ArIndexNo() ] := aModified[ i ]
EXIT
ENDSWITCH
NEXT
RETURN .T.
STATIC FUNCTION SearchMyData( xSearch, nMode, oBrw, aTest0, aTest1, aTest2, aTest3 )
LOCAL nn
HB_SYMBOL_UNUSED( nMode )
IF ! Empty( xSearch )
SWITCH oBrw:colPos
CASE 1
IF xSearch > 0 .AND. xSearch <= Len( aTest0 )
ArIndexNo( xSearch )
ENDIF
EXIT
CASE 2
xSearch := Lower( Trim( xSearch ) )
IF ( nn := AScan( aTest0, {|e| Lower( e ) = xSearch } ) ) > 0
ArIndexNo( nn )
ENDIF
EXIT
CASE 3
IF ( nn := AScan( aTest1, {|e| e == xSearch } ) ) > 0
ArIndexNo( nn )
ENDIF
EXIT
CASE 4
IF ( nn := AScan( aTest2, {|e| e == xSearch } ) ) > 0
ArIndexNo( nn )
ENDIF
EXIT
CASE 5
IF ( nn := AScan( aTest3, {|e| e == xSearch } ) ) > 0
ArIndexNo( nn )
ENDIF
EXIT
ENDSWITCH
IF ! Empty( nn )
oBrw:refreshAll()
ELSE
Alert( "Sorry, not found!" )
ENDIF
ENDIF
RETURN NIL
STATIC FUNCTION SearchExMyData( xSearch, nMode, oBrw, aTest0, aTest1, aTest2, aTest3 )
LOCAL nn
HB_SYMBOL_UNUSED( nMode )
IF ! Empty( xSearch )
SWITCH oBrw:colPos
CASE 1
xSearch := Val( xSearch )
IF xSearch > 0 .AND. xSearch <= Len( aTest0 )
ArIndexNo( xSearch )
ENDIF
EXIT
CASE 2
xSearch := Lower( Trim( xSearch ) )
IF ( nn := AScan( aTest0, {|e| Lower( e ) = xSearch } ) ) > 0
ArIndexNo( nn )
ENDIF
EXIT
CASE 3
xSearch := Val( xSearch )
IF ( nn := AScan( aTest1, {|e| e == xSearch } ) ) > 0
ArIndexNo( nn )
ENDIF
EXIT
CASE 4
xSearch := CToD( xSearch )
IF ( nn := AScan( aTest2, {|e| e == xSearch } ) ) > 0
ArIndexNo( nn )
ENDIF
EXIT
CASE 5
xSearch := Lower( xSearch ) $ "y,t"
IF ( nn := AScan( aTest3, {|e| e == xSearch } ) ) > 0
ArIndexNo( nn )
ENDIF
EXIT
ENDSWITCH
IF ! Empty( nn )
oBrw:refreshAll()
ELSE
Alert( "Sorry, not found!" )
ENDIF
ENDIF
RETURN NIL
STATIC FUNCTION ArIndexNo( nIndex )
STATIC s_nIndex := 1
LOCAL l_nIndex := s_nIndex
IF HB_ISNUMERIC( nIndex )
s_nIndex := nIndex
ENDIF
RETURN l_nIndex
STATIC FUNCTION DisplayImage( cToken )
SWITCH Trim( Lower( cToken ) )
CASE "this" ; s_cImage := __hbqtImage( "view_cascaded" ) ; EXIT
CASE "is" ; s_cImage := __hbqtImage( "view_organized" ) ; EXIT
CASE "a" ; s_cImage := __hbqtImage( "database_accept" ) ; EXIT
CASE "browse" ; s_cImage := __hbqtImage( "database_down" ) ; EXIT
CASE "on" ; s_cImage := __hbqtImage( "open3" ) ; EXIT
CASE "an" ; s_cImage := __hbqtImage( "database_search" ) ; EXIT
CASE "array" ; s_cImage := __hbqtImage( "print" ) ; EXIT
CASE "test" ; s_cImage := __hbqtImage( "close3" ) ; EXIT
CASE "with" ; s_cImage := __hbqtImage( "load_1" ) ; EXIT
CASE "long" ; s_cImage := __hbqtImage( "zoomin3" ) ; EXIT
CASE "data" ; s_cImage := __hbqtImage( "new" ) ; EXIT
ENDSWITCH
__GetListActive():getByIndex( 17 ):display()
RETURN NIL
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
harbour32 (hbmk2)
Minha opinião:
Esqueça a versão 3.0 do Harbour, vá direto pra 3.2, só baixar a nightly.
Baixar os fontes, só vai precisar pra consulta, e pode também olhar direto no github sem baixar.
Quanto à QT, como já disseram foi separada da parte principal.
Eu até queria montar o ambiente de testes aqui, mas até hoje não deu certo.
Por esse fonte de exemplo, parece simples de usar.
Esqueça a versão 3.0 do Harbour, vá direto pra 3.2, só baixar a nightly.
Baixar os fontes, só vai precisar pra consulta, e pode também olhar direto no github sem baixar.
Quanto à QT, como já disseram foi separada da parte principal.
Eu até queria montar o ambiente de testes aqui, mas até hoje não deu certo.
Por esse fonte de exemplo, parece simples de usar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
harbour32 (hbmk2)
Não.
Esse é o projeto do Pritpal Bedi, HBQT que mudou para QtContribs, porque tem HBIDE, HBDBU, HBXPP...
Saudações,
Itamar M. Lins Jr.
Esse é o projeto do Pritpal Bedi, HBQT que mudou para QtContribs, porque tem HBIDE, HBDBU, HBXPP...
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
harbour32 (hbmk2)
Aqui não tive dificuldade.
Tem que estar na pasta addons do Harbour.
Saudações,
Itamar M. Lins Jr.
Tem que estar na pasta addons do Harbour.
Sempre que tenho tempo leio as mensagens do forum qtcontribs. O browse me parece que é muito bom, cheio de recursos.Eu até queria montar o ambiente de testes aqui, mas até hoje não deu certo.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
harbour32 (hbmk2)
o browse parece ser a classe tbrowse que ele migrou por completo
tambem nao tive dificuldades de compilar nao ... valeu
agora é estudar
muito bom mesmo
tambem nao tive dificuldades de compilar nao ... valeu
agora é estudar
muito bom mesmo
