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