Opa... não tenho o xhbdiff.txt em mãos agora mas me lembrei que não são colchetes e sim <> (maior e menor).alxsts escreveu:No xHarbour, este tipo de codeblock é delimitado por colchetes []
hwgui 2.17
Moderador: Moderadores
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
hwgui 2.17
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
hwgui 2.17
Mestre Alexnadre,alxsts escreveu:Olá!Não consegue capturar o evento com aquele método ON OTHER MESSAGES (não me lembro se o nome é exatamente este mas é algo assim).sygecom escreveu:falta do ON GETFOCUS em alguns componentes,Este código é chamado de codeblock extendido. Veja a quantidade de código que existe entre as chaves {}, tendo inclusive declaração de variáveis LOCAL. Este é o padrão Harbour. No xHarbour, este tipo de codeblock é delimitado por colchetes [], conforme escrito naquele arquivo xhbdiff.txt. É só trocar as chaves pelos colchetes.sygecom escreveu:no xharbour ele diz que falta um }
Obrigado pela dica eu resolvido esse caso usando no lugar do ON GETFOCUS a clasula WHEN, na verdade esse caso o Kresin tirou com razão estava duplicado, ambas fazem a mesma coisa no GET.
Obrigado pela dica, nem lembrava mais do xhb-diff.txt, isso que usei ele a poucos dias quando estava ainda na etapa do apenas HARBOUR sem hwgui kkkkk mas vou consultar certamente deve ter mais outras coisas como essa.Obrigado.alxsts escreveu:Opa... não tenho o xhbdiff.txt em mãos agora mas me lembrei que não são colchetes e sim <> (maior e menor).alxsts escreveu:No xHarbour, este tipo de codeblock é delimitado por colchetes []
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
hwgui 2.17
SE O XHARBOUR ACEITAR, pode fazer algo deste tipo:
antes:
Depois:
De certa forma, isso reduz as diferenças harbour/xharbour, ou de versão de hwgui.
Aconteça o que acontecer, será um tempo gasto e bem aproveitado.
Não olhei o xhbdiff.txt pra ver que situação é essa diferente, se seria algo deste tipo.
ou fonte compilável, usando hb_Compile()
antes:
Código: Selecionar todos
@ 0,0 PANEL oPanel OF oTelaPrincipal SIZE 0,37
vPosicao=0
@ vPosicao,2 OWNERBUTTON OF oPanel;
ON CLICK {|| Pesquisa_Associado() } ;
SIZE 36,36 ;
FLAT;
BITMAP oBmpLogo9 FROM RESOURCE TRANSPARENT;
TOOLTIP "Cadastro de Associado"
vPosicao=vPosicao+39
@ vPosicao,2 OWNERBUTTON OF oPanel;
ON CLICK {|| FRMcad_mensal("C") } ;
SIZE 36,36 ;
FLAT;
BITMAP oBmpLogo12 FROM RESOURCE TRANSPARENT;
TOOLTIP "Cadastro de Mensalidade"
vPosicao=vPosicao+39
@ vPosicao,2 OWNERBUTTON OF oPanel;
ON CLICK {|| ShellExecute("calc") } ;
SIZE 36,36 ;
FLAT;
BITMAP oBmpLogo3 FROM RESOURCE TRANSPARENT;
TOOLTIP "Calculadora"
vPosicao=vPosicao+39
@ vPosicao,2 OWNERBUTTON OF oPanel;
ON CLICK {|| indexa() } ;
SIZE 36,36 ;
FLAT;
BITMAP oBmpLogo7 FROM RESOURCE TRANSPARENT;
TOOLTIP "Reindexa o Banco de Dados"
vPosicao=vPosicao+39
@ vPosicao,2 OWNERBUTTON OF oPanel;
ON CLICK {|| Back_up() } ;
SIZE 36,36 ;
FLAT;
BITMAP oBmpLogo2 FROM RESOURCE TRANSPARENT;
TOOLTIP "Realizar Back-Up do Banco de Dados"
vPosicao=vPosicao+39
@ vPosicao,2 OWNERBUTTON OF oPanel;
ON CLICK {|| Sendemail("suporte@xxx",1) } ;
SIZE 36,36 ;
FLAT;
BITMAP oBmpLogo8 FROM RESOURCE TRANSPARENT;
TOOLTIP "Suporte On-Line"
vPosicao=vPosicao+39
@ vPosicao,2 OWNERBUTTON OF oPanel;
ON CLICK {|| sobre() } ;
SIZE 36,36 ;
FLAT;
BITMAP oBmpLogo5 FROM RESOURCE TRANSPARENT;
TOOLTIP "Informações Sobre a Informática"
vPosicao=vPosicao+39
@ vPosicao,2 OWNERBUTTON OF oPanel;
ON CLICK {|| Ajuda_SCM() } ;
SIZE 36,36 ;
FLAT;
BITMAP oBmpLogo13 FROM RESOURCE TRANSPARENT;
TOOLTIP "Informações Sobre o SCM"
vPosicao=vPosicao+39
@ vPosicao,2 OWNERBUTTON OF oPanel;
ON CLICK {|| Sair() } ;
SIZE 36,36 ;
FLAT;
BITMAP 1005 FROM RESOURCE TRANSPARENT;
TOOLTIP "Sair do Sistema"
Código: Selecionar todos
@ 0,0 PANEL oPanel OF oTelaPrincipal SIZE 0,37
vPosicao=0
FOR EACH aItem IN { ;
{ oBmpLogo9, "Cadastro de Associado", { || Pesquisa_Associado() } }, ;
{ oBmpLogo12, "Cadastro de Mensalidade", { || frmCad_Mensal( "C" ) } }, ;
{ oBmpLogo3, "Calculadora", { || ShellExecute( "calc" ) } }, ;
{ oBmpLogo7, "Reindexa o Banco de Dados", { || Indexa() } }, ;
{ oBmpLogo2, "Realizar Backup do Banco de Dados", { || Back_up() } }, ;
{ oBtmpLogo8, "Suporte On-Line", { || SendEmail( "suporte@xxx",1) } }, ;
{ oBmpLogo5, "Informações sobre a Sygecom Informática", { || Sobre() } }, ;
{ oBmpLogo13, "Informações sobre o SCM", { || Ajuda_SCM() } }, ;
{ 1005, "Sair do Sistema", { || Sair() } } }
@ vPosicao, 2 OWNERBUTTON OF oPanel ;
ON CLICK aItem[ 3 ] ;
SIZE 36, 36 ;
FLAT ;
BITMAP aItem[1] FROM RESOURCE TRANSPARENT ;
TOOLTIP aItem[2]
vPosicao += 39
NEXT
Aconteça o que acontecer, será um tempo gasto e bem aproveitado.
Que eu me lembre, colchetes são pra array ou string ou hash.alxsts escreveu:Este código é chamado de codeblock extendido. Veja a quantidade de código que existe entre as chaves {}, tendo inclusive declaração de variáveis LOCAL. Este é o padrão Harbour. No xHarbour, este tipo de codeblock é delimitado por colchetes [], conforme escrito naquele arquivo xhbdiff.txt. É só trocar as chaves pelos colchetes.
Não olhei o xhbdiff.txt pra ver que situação é essa diferente, se seria algo deste tipo.
Código: Selecionar todos
cTxt := [ {|| teste() } ]
bCode := &cTxt
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
hwgui 2.17
Vixe.
Eu não uso quase nada de hwgui.
Teste básico da 2.17
Eu não uso quase nada de hwgui.
Teste básico da 2.17
Código: Selecionar todos
d:\github\dlgauto\source>c -Ld:\github\hwgui217 hwgui217.hbc hwgui.hbc
d:\github\dlgauto\source>d:\fontes\build\build.exe -Ld:\github\hwgui217 hwgui217.hbc hwgui.hbc
d:\github\dlgauto\source>HBMK2 test.hbp -Ld:\github\hwgui217 hwgui217.hbc hwgui.hbc -w3 -es2 -m -n -strip -compr -wo
rkdir=c:\temp -q -Id:\fontes\build\
hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
Harbour 3.2.0dev (r2402101027)
Copyright (c) 1999-2021, https://harbour.github.io/
lib_hwgui.prg:132: error E0030 Syntax error "syntax error at 'DIALOG'"
lib_hwgui.prg:134: error E0030 Syntax error "syntax error at 'DIALOG'"
lib_hwgui.prg:139: warning W0003 Variable 'XDLG' declared but not used in function '128:GUI_DIALOGACTIVATE'
lib_hwgui.prg:159: error E0030 Syntax error "syntax error at 'DIALOG'"
lib_hwgui.prg:163: warning W0003 Variable 'XDLG' declared but not used in function '143:GUI_DIALOGCREATE'
lib_hwgui.prg:163: warning W0003 Variable 'NROW' declared but not used in function '143:GUI_DIALOGCREATE'
lib_hwgui.prg:163: warning W0003 Variable 'NCOL' declared but not used in function '143:GUI_DIALOGCREATE'
lib_hwgui.prg:163: warning W0003 Variable 'NWIDTH' declared but not used in function '143:GUI_DIALOGCREATE'
lib_hwgui.prg:163: warning W0003 Variable 'NHEIGHT' declared but not used in function '143:GUI_DIALOGCREATE'
lib_hwgui.prg:163: warning W0003 Variable 'CTITLE' declared but not used in function '143:GUI_DIALOGCREATE'
3 errors
No code generated.
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
hwgui 2.17
dlgauto compilou com hwgui 2.17, mas nada mais funciona.
Não que hwgui 2.17 seja problema, apenas as duas não são compatíveis.
Não sai do get do campo chave, nem com ENTER e nem com TAB.
Não que hwgui 2.17 seja problema, apenas as duas não são compatíveis.
Não sai do get do campo chave, nem com ENTER e nem com TAB.
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/
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
hwgui 2.17
Olá!
não leu?
JoséQuintas escreveu:Que eu me lembre, colchetes são pra array ou string ou hash.
Não olhei o xhbdiff.txt pra ver que situação é essa diferente, se seria algo deste tipo.
Eu corrigi a informação imediatamente...alxsts escreveu:Opa... não tenho o xhbdiff.txt em mãos agora mas me lembrei que não são colchetes e sim <> (maior e menor).
não leu?
xhb-diff.txt escreveu:### EXTENDED CODEBLOCKS ###
=================================
Both compilers support compile time extended codeblocks which allow
to use statements but with a little bit different syntax. Harbour uses
standard Clipper codeblock delimiters {}, f.e.:
? Eval( {| p1, p2, p3 |
? p1, p2, p3
return p1 + p2 + p3
}, 1, 2, 3 )
and xHarbour <>, f.e.:
? Eval( <| p1, p2, p3 |
? p1, p2, p3
return p1 + p2 + p3
>, 1, 2, 3 )
In Harbour extended codeblocks works like nested functions and supports
all function attributes, f.e. they can have own static variables or
other declarations which are local to extended codeblocks only and
do not effect upper function body.
In xHarbour the compiler was not fully updated for such functionality
and extended codeblocks were added to existing compiler structures what
causes that not all language constructs work in extended codeblocks
and creates a set of very serious compiler bugs, f.e., like in this code
with syntax errors but which is compiled by xHarbour without even single
warning giving unexpected results at runtime:
#ifndef __XHARBOUR__
#xtranslate \<|[<x,...>]| => {|<x>|
#xcommand > [<*x*>] => } <x>
#endif
proc main()
local cb, i
for i:=1 to 5
cb := <| p |
? p
exit
return p * 10
>
?? Eval( cb, i )
next
return
It's possible to create many other similar examples which are mostly
caused by missing in the compiler infrastructure for nested functions
support.
This can be fixed if someone invest some time to clean xHarbour compiler.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
ivanil
- Usuário Nível 3

- Mensagens: 166
- Registrado em: 11 Set 2004 15:13
- Localização: Florianópolis/SC
hwgui 2.17
O bloco extendido, acho que foi uma das maiores evoluções da linguagem;
Basicamente você cria uma função, recebe parâmetros e devolve valores naturalmente; na prática, podemos ter inúmeras funções muito específicas que pode ou não ficar ligados ao executável;
Basicamente você cria uma função, recebe parâmetros e devolve valores naturalmente; na prática, podemos ter inúmeras funções muito específicas que pode ou não ficar ligados ao executável;
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
hwgui 2.17
Já usei antes codeblock de várias linhas, mas na última vez que foi usar não consegui mais e desisti.
Algo do tipo:
Assim funciona, mas isso é codeblock tradicional.
pra quem não sabe e/ou não lembra, o codeblock pode ter várias expressões, o retorno será o último.
Isso também é aceito no VALID, na declaração INLINE de uma classe, etc.
Algo do tipo:
Código: Selecionar todos
aCode := { ;
| a, b |
LOCAL c := 10
RETURN a + b + c }
Assim funciona, mas isso é codeblock tradicional.
Código: Selecionar todos
PROCEDURE Main
LOCAL aBlock
SetMode(30,100)
CLS
aBlock := { | a, b, c | ;
c := 10, ;
a + b + 10 }
? Eval( aBlock, 1, 2 )
Inkey(0)
RETURN
Código: Selecionar todos
aBlock := { | a | a +=1, a += 1, a+= 1 }
? Eval( aBlock, 1 )
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: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
hwgui 2.17
Olá!
Esse aqui até hoje eu estudo. Esse "return nil" dentro e tudo mais.
Saudações,
Itamar M. Lins Jr.
Esse aqui até hoje eu estudo. Esse "return nil" dentro e tudo mais.
Código: Selecionar todos
LOCAL bCol1 := {|o,h,x1,y1,x2,y2,nc,nr|
hwg_Fillrect( h, x1, y1, x2, y2, Iif( !Empty(o:brush), o:brush:handle, oBrw:handle ) )
IF Eval( o:block )
hwg_DrawTransparentBitmap( h, oBmpCheck:handle, x1+2, y1+2 )
ENDIF
RETURN Nil
}
LOCAL bEnter := {|o,nc|
IF nc == 1
(o:alias)->(rlock())
(o:Alias)->(Eval( o:aColumns[nc]:block, !Eval( o:aColumns[nc]:block ) ))
(o:alias)->(dbunlock())
o:Refresh()
RETURN .T.
ENDIF
RETURN .F.
}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
hwgui 2.17
Então.... de forma simples, compare istoItamar M. Lins Jr. escreveu:Esse aqui até hoje eu estudo. Esse "return nil" dentro e tudo mais.
Código: Selecionar todos
{|o,h,x1,y1,x2,y2,nc,nr|
hwg_Fillrect( h, x1, y1, x2, y2, Iif( !Empty(o:brush), o:brush:handle, oBrw:handle ) )
IF Eval( o:block )
hwg_DrawTransparentBitmap( h, oBmpCheck:handle, x1+2, y1+2 )
ENDIF
RETURN Nil
}
Código: Selecionar todos
FUNCTION SemNome( o,h,x1,y1,x2,y2,nc,nr)
hwg_Fillrect( h, x1, y1, x2, y2, Iif( !Empty(o:brush), o:brush:handle, oBrw:handle ) )
IF Eval( o:block )
hwg_DrawTransparentBitmap( h, oBmpCheck:handle, x1+2, y1+2 )
ENDIF
RETURN Nil
Esse fonte tem algum CH a mais?
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
hwgui 2.17
BINGO !
O fechamento do codeblock precisa estar sozinho na linha de baixo.
Então....
Em codeblock
Pra executar a função:
Pra executar o codeblock, depois de atribuir a uma variável:
Isso deixa tudo mais simples de entender.
Código: Selecionar todos
aBlock := { | a |
a +=1
a += 1
a+= 1
RETURN a
}
Então....
Código: Selecionar todos
FUNCTION CalcImposto( nValor, nAliquota )
LOCAL nImposto
nImposto := nValor * nAliquota / 100
RETURN nImposto
Código: Selecionar todos
{ | nValor, nAliquota |
LOCAL nImposto
nImposto := nValor * nAliquota / 100
RETURN nImposto
}
Código: Selecionar todos
CalcImposto( 1000, 10 )
Código: Selecionar todos
Eval( variavel, 1000, 10 )
Isso deixa tudo mais simples de entender.
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
hwgui 2.17
Então....
Eu já comentei várias vezes sobre esse tipo de coisa.
Às vezes só depende de encontrar alguma coisa já existente pra fazer comparação, pra entender o funcionamento da coisa nova.
Encontrou um "modelo" ideal de fazer comparação, tudo fica mais fácil.
Array comparar com lista
Hash comparar com array
Json os dois juntos
Se deixou de entender o antigo, não vai entender o novo.
Quem não entendeu FUNCTION, por incrível que pareça muitos ainda não entendem...
não vai entender codeblock.
E aquilo de -w3 -es2, e remodelar fontes, é algo como voltar ao começo, e reaprender tudo do jeito certo.
É justamente repassar o antigo, e craque no antigo fica craque no novo.
Vai encontrar muita function errada, que tá dependendo de coisa externa, quando não deveria.
E se não entende function, não vai entender codeblock.
NÃO é o caso do Itamar, se ele não entendeu, foi apenas porque não fez a comparação com uma function.
E eu não estava conseguindo fazer por conta da chave final, que deve ficar na linha de baixo.
O fonte que o Itamar mostrou resolveu a questão.
Apenas levei a chave pra linha de cima, e deu erro de compilação.
última linha, com a chave na mesma linha
Eu já comentei várias vezes sobre esse tipo de coisa.
Às vezes só depende de encontrar alguma coisa já existente pra fazer comparação, pra entender o funcionamento da coisa nova.
Encontrou um "modelo" ideal de fazer comparação, tudo fica mais fácil.
Array comparar com lista
Hash comparar com array
Json os dois juntos
Se deixou de entender o antigo, não vai entender o novo.
Quem não entendeu FUNCTION, por incrível que pareça muitos ainda não entendem...
não vai entender codeblock.
E aquilo de -w3 -es2, e remodelar fontes, é algo como voltar ao começo, e reaprender tudo do jeito certo.
É justamente repassar o antigo, e craque no antigo fica craque no novo.
Vai encontrar muita function errada, que tá dependendo de coisa externa, quando não deveria.
E se não entende function, não vai entender codeblock.
NÃO é o caso do Itamar, se ele não entendeu, foi apenas porque não fez a comparação com uma function.
E eu não estava conseguindo fazer por conta da chave final, que deve ficar na linha de baixo.
O fonte que o Itamar mostrou resolveu a questão.
Apenas levei a chave pra linha de cima, e deu erro de compilação.
última linha, com a chave na mesma linha
Código: Selecionar todos
RETURN Imposto }
Harbour 3.2.0dev (r2402101027)
Copyright (c) 1999-2021, https://harbour.github.io/
test.prg:18: error E0030 Syntax error "syntax error at '}'"
test.prg:18: warning W0007 Function '{||...}' does not end with RETURN statement
1 error
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
hwgui 2.17
Assim também não aceita.
Mas com ponto e vírgula sim, porque considera mesma linha.
Mas com ponto e vírgula sim, porque considera mesma linha.
Código: Selecionar todos
aBlock := { ;
| Valor, AliquotaIcms |
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/
- deividdjs
- Usuário Nível 3

- Mensagens: 377
- Registrado em: 19 Set 2006 09:39
- Localização: Foz do Iguaçu / Pr
hwgui 2.17
Ola amigo .. estou brincando com o HWGUI ... estou usando o Designer e ele compila normalmente ... quando eu coloco o codigo gerado por ele no meu sistema essa parte ele dá erro de sintax .. 'FROM RESOURCE TRANSPARENT;' quando eu comento compila .. alguem já teve esse problema ??
Abs!
Código: Selecionar todos
@ 6,4 OWNERBUTTON oOwnerbutton2 OF oPanel1 SIZE 52,40 ;
TEXT 'Usuarios' ;
FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
COORDINATES 0, 22, 0, 0 ; // FLAT;
BITMAP 'C:\CONTROLE_\IMAGEM\smopen.bmp' ; //FROM RESOURCE TRANSPARENT ;
COORDINATES 0, 4, 0, 0 ;
ON CLICK {|| ThisForm:CLOSE() }
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
hwgui 2.17
Dá uma olhada no #define ou #translate se ajuda.
Não dá pra saber se está usando hwgui 2.17 mesmo ou outra, e pode ter diferença entre elas.
Não dá pra saber se está usando hwgui 2.17 mesmo ou outra, e pode ter diferença entre elas.
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/