Macros

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Macros

Mensagem 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
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Essa macro-substituição não me parece aceitável.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem 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!
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
luiz antonio da silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 161
Registrado em: 21 Nov 2006 22:12
Localização: serrana-sp

Re: Macros

Mensagem 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
HMG 3.4.4 - SQL SERVER - ORACLE
Responder