Página 1 de 1
Macros
Enviado: 11 Out 2007 23:48
por carlos_dornelas
Pessoal, tá dando erro no código abaixo. Como faço para utilizar a macro substituição nesse caso?
for g=1 to 25
xy="oLb"+alltrim(str(g))
volan.&xy.backcolor:={255,255,255}
next
Carlos
Enviado: 12 Out 2007 01:47
por Maligno
Essa macro-substituição não me parece aceitável.
Enviado: 12 Out 2007 17:41
por Stanis Luksys
Opa,
Não to no meu PC agora e não lembro de cabeça, mas isso é mais fácil se voxcê manipular a matriz de objetos que a MiniGUI usa para controle interno.
Depois volto aqui e dou a dica certa.
Outra coisa, tente com dois pontos, porque um ponto no final de uma macro já é subentendido como sendo o final da mesma.
volan.&xy..backcolor:={255,255,255}
Falou!
Re: Macros
Enviado: 13 Out 2007 10:11
por luiz antonio da silva
carlos_dornelas escreveu:Pessoal, tá dando erro no código abaixo. Como faço para utilizar a macro substituição nesse caso?
for g=1 to 25
xy="oLb"+alltrim(str(g))
volan.&xy.backcolor:={255,255,255}
next
Carlos
Carlos, como está definido no seu código os "olb" ?....ex: olb001, olb002...
na linha xy="oLb"+alltrim(str(g)), mude para xy:="oLb"+strzero(g,?), com isso acho que vai funcionar.......teste o exemplo abaixo...
Código: Selecionar todos
#INCLUDE "MINIGUI.CH"
FUNC MAIN()
DEFINE WINDOW Form1 ;
AT 075,338;
WIDTH 138 ;
HEIGHT 101 ;
TITLE "Form1";
ON INIT MUDA();
MAIN
@ 018,012 LABEL oLAB001 VALUE "01" WIDTH 028 HEIGHT 020 CENTERALIGN
@ 018,044 LABEL oLAB002 VALUE "02" WIDTH 028 HEIGHT 020 CENTERALIGN
@ 018,076 LABEL oLAB003 VALUE "03" WIDTH 028 HEIGHT 020 CENTERALIGN
@ 044,012 TEXTBOX oGET001 VALUE "" WIDTH 028 HEIGHT 024
@ 044,044 TEXTBOX oGET002 VALUE "" WIDTH 028 HEIGHT 024
@ 044,076 TEXTBOX oGET003 VALUE "" WIDTH 028 HEIGHT 024
END WINDOW
CENTER WINDOW Form1
ACTIVATE WINDOW Form1
RETURN
FUNC MUDA()
A:=0
FOR A=1 TO 3
XY:="oLAB"+STRZERO(A,3)
FORM1.&XY.BACKCOLOR:={255,128,232}
NEXT A
A:=0
FOR A=1 TO 3
XY:="oGET"+STRZERO(A,3)
FORM1.&XY.BACKCOLOR:={255,232,128}
NEXT A
FORM1.oLAB001.REFRESH
RETU
Um abraço.
Luiz