Page 1 of 1

Alinhamento pelo GET

Posted: Wed Jun 05, 2013 5:35 pm
by Ari
Gostaria de colocar os GET em uma posição e os SAY assumindo da direita para esquerda

alinhamento pelo Centro .. que o GET fique alinhado e o say se mova para esquerda se ajustando

Ari

Code: Select all

/* Retirei PICTURE     do SAY causa conflito com GET
           RIGHT       do SAY mudei para padrao .T. Alinhamento
           TRANSPARENT do SAY mudei para .T.
   */
#xcommand @ <nRow>, <nCol> SAY [ <oSay> <label: PROMPT> ] <cText> ; // SAY
             GET [ <oGet> VAR ] <uVar>                            ; // GET
             [ <pict: PICT, PICTURE> <cPict> ]                    ; // get e say
             [ <dlg: OF,WINDOW,DIALOG > <oWnd> ]                  ; // get e say
             [ FONT <oFont> ]                                     ; // get e say
             [ <lCenter: CENTERED, CENTER > ]                     ; // get e say
             [ <lRight:  RIGHT >    ]                             ; // get e say
             [ <lBorder: BORDER >   ]                             ; // say
             [ <lPixel: PIXEL, PIXELS > ]                         ; // get e say
             [ <color: COLOR,COLORS > <nClrText> [,<nClrBack> ] ] ; // get e say
             [ SIZE <nWidth>, <nHeight> ]                         ; // get e say
             [ <design: DESIGN >  ]                               ; // get e say
             [ <update: UPDATE >  ]                               ; // get e say
             [ <lShaded: SHADED, SHADOW > ]                       ; // say
             [ <lBox:    BOX   >  ]                               ; // say
             [ <lRaised: RAISED > ]                               ; // say
             [ <adj: ADJUST> ]                                    ; // say
             [ <lTrans: TRANSPARENT>]                             ; // say
             [ VALID <ValidFunc> ]                                ; // get
             [ CURSOR <oCursor> ]                                 ; // get
             [ MESSAGE <cMsg> ]                                   ; // get
             [ WHEN <uWhen> ]                                     ; // get
             [ ON CHANGE <uChange> ]                              ; // get
             [ <readonly: READONLY, NO MODIFY> ]                  ; // get
             [ <help:HELPID, HELP ID> <nHelpId> ]                 ; // get
             [ <spin: SPINNER> [ON UP <SpnUp>] [ON DOWN <SpnDn>] [MIN <Min>] [MAX <Max>] ] ; // get
             [ CUEBANNER <cCueText> ]                             ; // get
      => ;
          [ <oGet> := ] TGet():New( <nRow>, <nCol>, bSETGET(<uVar>),;          // GET
             [<oWnd>], <nWidth>, <nHeight>, <cPict>, <{ValidFunc}>,;
             <nClrText>, <nClrBack>, <oFont>, <.design.>,;
             <oCursor>, .T., <cMsg>, <.update.>, <{uWhen}>,;
             <.lCenter.>, <.lRight.>,;
             [\{|nKey, nFlags, Self| <uChange>\}], <.readonly.>,;
             .f., .f., <nHelpId>,;
             <.spin.>, <{SpnUp}>, <{SpnDn}>, <{Min}>, <{Max}>,,, <"uVar">, [<cCueText>] ) ;
          [ ;<oSay> := ] TSay():New( <nRow>, <nCol>, <{cText}>,;                             // SAY
             [<oWnd>],, <oFont>, <.lCenter.>, .T., <.lBorder.>,;
             .T., <nClrText>, <nClrBack>, <nWidth>, <nHeight>,;
             <.design.>, <.update.>, <.lShaded.>, <.lBox.>, <.lRaised.>, <.adj.>, .T. ) ;
  

function testeGET()

   local oDlg, oSay[3], oGet[3], nVal := 0.00
   local cNome := space(40)
   local cEnd  := space(20)
   local nRow  := 5
   local nCol  := 3
   
   DEFINE DIALOG oDlg TITLE "Teste comando SAY e GET"  FROM 0, 0  TO 480,480 PIXEL
  
   @ nRow, nCol SAY oSay[1] PROMPT "Valor:"    GET oGet[1] VAR nVal  OF oDlg PICTURE "@E 999,999.99" UPDATE 
   nRow+=14
   @ nRow, nCol SAY oSay[2] PROMPT "Nome:"     GET oGet[2] VAR cNome OF oDlg PICTURE "@!"           UPDATE 
   nRow+=14
   @ nRow, nCol SAY oSay[3] PROMPT "Endereço:" GET oGet[3] VAR cEnd  OF oDlg PICTURE "@!"           UPDATE 
   
   ACTIVATE DIALOG oDlg CENTERED
   
RETURN NIL
 

Re: Alinhamento pelo GET

Posted: Wed Jun 05, 2013 5:40 pm
by Ari
este é o exemplo

Code: Select all

/* Retirei PICTURE     do SAY causa conflito com GET
           RIGHT       do SAY mudei para padrao .T. Alinhamento
           TRANSPARENT do SAY mudei para .T.
   */
#xcommand @ <nRow>, <nCol> SAY [ <oSay> <label: PROMPT> ] <cText> ; // SAY
             GET [ <oGet> VAR ] <uVar>                            ; // GET
             [ <pict: PICT, PICTURE> <cPict> ]                    ; // get e say
             [ <dlg: OF,WINDOW,DIALOG > <oWnd> ]                  ; // get e say
             [ FONT <oFont> ]                                     ; // get e say
             [ <lCenter: CENTERED, CENTER > ]                     ; // get e say
             [ <lRight:  RIGHT >    ]                             ; // get e say
             [ <lBorder: BORDER >   ]                             ; // say
             [ <lPixel: PIXEL, PIXELS > ]                         ; // get e say
             [ <color: COLOR,COLORS > <nClrText> [,<nClrBack> ] ] ; // get e say
             [ SIZE <nWidth>, <nHeight> ]                         ; // get e say
             [ <design: DESIGN >  ]                               ; // get e say
             [ <update: UPDATE >  ]                               ; // get e say
             [ <lShaded: SHADED, SHADOW > ]                       ; // say
             [ <lBox:    BOX   >  ]                               ; // say
             [ <lRaised: RAISED > ]                               ; // say
             [ <adj: ADJUST> ]                                    ; // say
             [ <lTrans: TRANSPARENT>]                             ; // say
             [ VALID <ValidFunc> ]                                ; // get
             [ CURSOR <oCursor> ]                                 ; // get
             [ MESSAGE <cMsg> ]                                   ; // get
             [ WHEN <uWhen> ]                                     ; // get
             [ ON CHANGE <uChange> ]                              ; // get
             [ <readonly: READONLY, NO MODIFY> ]                  ; // get
             [ <help:HELPID, HELP ID> <nHelpId> ]                 ; // get
             [ <spin: SPINNER> [ON UP <SpnUp>] [ON DOWN <SpnDn>] [MIN <Min>] [MAX <Max>] ] ; // get
             [ CUEBANNER <cCueText> ]                             ; // get
      => ;
        [ <oSay> := ] TSay():New( <nRow>, <nCol>, <{cText}>,;                             // SAY
             [<oWnd>],, <oFont>, <.lCenter.>, <.lRight.>, <.lBorder.>,;
             .T., <nClrText>, <nClrBack>, <nWidth>, <nHeight>,;
             <.design.>, <.update.>, <.lShaded.>, <.lBox.>, <.lRaised.>, <.adj.>, .T. ) ;
          [ ;<oGet> := ] TGet():New( <nRow>, <oSay>:nRight+3, bSETGET(<uVar>),;          // GET
             [<oWnd>], <nWidth>, <nHeight>, <cPict>, <{ValidFunc}>,;
             <nClrText>, <nClrBack>, <oFont>, <.design.>,;
             <oCursor>, .T., <cMsg>, <.update.>, <{uWhen}>,;
             <.lCenter.>, <.lRight.>,;
             [\{|nKey, nFlags, Self| <uChange>\}], <.readonly.>,;
             .f., .f., <nHelpId>,;
             <.spin.>, <{SpnUp}>, <{SpnDn}>, <{Min}>, <{Max}>,,, <"uVar">, [<cCueText>] ) 
        
  

function testeGET()

   local oDlg, oSay[3], oGet[3], nVal := 0.00
   local cNome := space(40)
   local cEnd  := space(20)
   local nRow  := 5
   local nCol  := 3
   
   DEFINE DIALOG oDlg TITLE "Teste comando SAY e GET"  FROM 0, 0  TO 480,480 PIXEL
  
   @ nRow, nCol SAY oSay[1] PROMPT "Valor:"    GET oGet[1] VAR nVal  OF oDlg PICTURE "@E 999,999.99" UPDATE 
   nRow+=14
   @ nRow, nCol SAY oSay[2] PROMPT "Nome:"     GET oGet[2] VAR cNome OF oDlg PICTURE "@!"           UPDATE 
   nRow+=14
   @ nRow, nCol SAY oSay[3] PROMPT "Endereço:" GET oGet[3] VAR cEnd  OF oDlg PICTURE "@!"           UPDATE 
   
   ACTIVATE DIALOG oDlg CENTERED
   
RETURN NIL  

Re: Alinhamento pelo GET

Posted: Wed Jun 05, 2013 7:27 pm
by karinha

Code: Select all

#include "FiveWin.ch"

function testeGET()

   local oDlg, oSay[3], oGet[3], nVal := 0.00
   local cNome := space(40)
   local cEnd  := space(20)
   local nRow  := 50  //5  // usando PIXEL
   local nCol  :=  5
   
   DEFINE DIALOG oDlg TITLE "Teste comando SAY e GET com PIXEL"  ;
          FROM 0, 0  TO 480,480 PIXEL COLORS CLR_BLACK, CLR_WHITE
  
   @ nRow, nCol SAY oSay[1] PROMPT "Valor:" OF oDlg RIGHT TRANSPARENT PIXEL

   // Incrementa a linha e a coluna para ajustar
   nRow := nRow + .25
   nCol := nCol + 39

   @ nRow, nCol GET oGet[1] VAR nVal  OF oDlg PICTURE "@E 999,999.99" UPDATE ;
                CENTER SIZE 50, 12 PIXEL

   // Incrementa/decrementa a linha e a coluna para ajustar
   nRow := nRow + 30
   nCol := nCol - 44

   @ nRow, nCol SAY oSay[2] PROMPT "Nome:" OF oDlg RIGHT TRANSPARENT PIXEL

   // Incrementa a coluna para ajustar
   nCol := nCol + 44

   @ nRow, nCol GET oGet[2] VAR cNome  OF oDlg PICTURE "@!" UPDATE ;
                SIZE 150, 12 PIXEL  // esquerda(LEFT)

   // Incrementa/decrementa a linha e a coluna para ajustar
   nRow := nRow + 30
   nCol := nCol - 67

   @ nRow, nCol SAY oSay[3] PROMPT "Endereço:" OF oDlg RIGHT TRANSPARENT PIXEL

   // Incrementa a coluna para ajustar
   nCol := nCol + 68

   @ nRow, nCol GET oGet[3] VAR cEnd  OF oDlg PICTURE "@!" UPDATE ;
                SIZE 150, 12 PIXEL  // esquerda(LEFT)

   // buttons(botoes) Idem, calcule as coordenadas... abs.

   
   ACTIVATE DIALOG oDlg CENTERED
   
RETURN NIL
 

Re: Alinhamento pelo GET

Posted: Wed Jun 05, 2013 7:56 pm
by Ari
Obrigado !

Ari