Depois de fechar 2ª dialog, não consigo exibir na 1ª.
Enviado: 05 Jun 2010 21:55
É isso meus caros.
Tenho uma 1ª dialog que possui dois get´s, vdesconto e vrecebido;
ao teclar ENTER no valor recebido, eu abro uma 2ª dialog com browse para escolher a forma de pagamento;
escolhido a forma, eu fecho a 2ª dialog e volto à 1ª dos get´s e fica assim até fechar o valor total da compra;
neste retornar para a 1ª dialog, eu preciso exibir nela o valor recebido e sua respectiva forma de pagamento, porém não consigo exibir.
O foco volta para o get de valor recebido, e não exibe nada.
Se não conseguir fazer isso, tentarei colocar o browse na mesma dialog.
Tenho uma 1ª dialog que possui dois get´s, vdesconto e vrecebido;
ao teclar ENTER no valor recebido, eu abro uma 2ª dialog com browse para escolher a forma de pagamento;
escolhido a forma, eu fecho a 2ª dialog e volto à 1ª dos get´s e fica assim até fechar o valor total da compra;
neste retornar para a 1ª dialog, eu preciso exibir nela o valor recebido e sua respectiva forma de pagamento, porém não consigo exibir.
O foco volta para o get de valor recebido, e não exibe nada.
Se não conseguir fazer isso, tentarei colocar o browse na mesma dialog.
Código: Selecionar todos
#include "hwgui.ch"
FUNCTION recebimento( p1, p2, p3, p4 )
REQUEST DBFCDX
RDDSETDEFAULT( "DBFCDX" )
use cdfrm001
index on FrmFrm tag indfrm01 to indfrs.cdx
set index to indfrs
Private vEdit1 := 0, vEdit2 := 0, vEdit3 := 250, vEdit4 := 0, vEdit5:= 250, tot:= 0
Private oEdit1, oEdit2, oLabel2, oLabel3, oLabel1, oLabel4, oLabel9, oGroup1, linha:= 95 ;
, oEdit3, oLabel5, oEdit4, oLabel6, oEdit5
INIT DIALOG oDlg TITLE "Tela de Recebimento" ;
AT 389,144 SIZE 527,412 ;
FONT HFont():Add( 'Verdana',0,-13,400,,,) CLIPPER NOEXIT ;
STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER
Thisform := oDlg
SetColorInFocus(.t.)
SetToolTipBalloon(.t.)
@ 175,12 SAY oLabel1 CAPTION "Recebimento" SIZE 159,29 ;
STYLE SS_CENTER ;
FONT HFont():Add( 'Verdana',0,-21,700,,255,)
@ 15,45 GROUPBOX oGroup1 CAPTION "" SIZE 500,355
@ 190,20 GROUPBOX oGroup1 CAPTION " Valor - Forma " OF oGroup1 SIZE 290,240
@ 29,115 SAY oLabel2 CAPTION "Desconto" SIZE 80,19
@ 29,275 SAY oLabel3 CAPTION "Recebido" SIZE 80,19
@ 29, 55 SAY oLabel4 CAPTION "Total" SIZE 80,19
@ 29,335 SAY oLabel5 CAPTION "Falta" SIZE 80,19
@ 29,175 SAY oLabel6 CAPTION "Líquido" SIZE 80,19
@ 29,75 GET oEdit3 VAR vEdit3 SIZE 150,35 ;
STYLE ES_RIGHT +WS_DLGFRAME +WS_DISABLED PICTURE '@e 999,999.99' ;
FONT HFont():Add( '',0,-19,400,,,)
@ 29,135 GET oEdit1 VAR vEdit1 SIZE 150,35 ;
STYLE ES_RIGHT +WS_DLGFRAME MAXLENGTH 10 ;
PICTURE '@e 999,999.99' ;
VALID {|| desconto()};
FONT HFont():Add( '',0,-19,400,,,);
TOOLTIP 'Digite o valor do desconto'
@ 29,195 GET oEdit5 VAR vEdit5 SIZE 150,35 ;
STYLE ES_RIGHT +WS_DLGFRAME +WS_DISABLED MAXLENGTH 10 ;
PICTURE '@e 999,999.99' ;
FONT HFont():Add( '',0,-19,400,,,);
TOOLTIP 'Valor líquido'
@ 29,355 GET oEdit4 VAR vEdit4 SIZE 150,35 ;
STYLE ES_RIGHT +WS_DLGFRAME +WS_DISABLED ;
BACKCOLOR 8421631 PICTURE '@e 999,999.99' MAXLENGTH 10 ;
FONT HFont():Add( '',0,-19,400,,,);
TOOLTIP 'Valor restante para finalizar pagamento'
@ 29,295 GET oEdit2 VAR vEdit2 SIZE 150,35 ;
STYLE ES_RIGHT +WS_DLGFRAME MAXLENGTH 10 ;
PICTURE '@e 999,999.99' ;
VALID {|| calcu()};
FONT HFont():Add( '',0,-19,400,,,);
TOOLTIP 'Digite o valor recebido'
ACTIVATE DIALOG oDlg
RETURN oDlg:lresult
Function desconto
vEdit5 = vEdit3-vEdit1 // liquido = total-desconto
vEdit4 = vEdit5-tot // resta = liquido-armazenado
oEdit5:refresh()
oEdit4:refresh()
return .t.
Function calcu
if vEdit2 <= 0
return .f.
else
browseformas()
@ 220,linha SAY oLabel6 CAPTION "R$ "+tran(vEdit2,"@e 999,999.99") +" - "+ cdfrm001->frmfor TRANSPARENT SIZE 250,19 COLOR 16711680 ;
FONT HFont():Add( 'Lucida Console',0,-16,400,,,) // aqui precisaria exibir na 1ª dialog, mas não exibe !
oEdit2:setfocus()
endif
linha = linha + 20
tot = tot + vEdit2 // armazenado = armazenado+digitado
vEdit4 = vEdit5-tot // resta = (liquido-armazenado)
vEdit2 = 0
oEdit2:refresh()
oEdit4:refresh()
return .t. Código: Selecionar todos
#include "hwgui.ch"
FUNCTION browseformas
Local nRECNO:=0
private b1:= select()
select cdfrm001
ordsetfocus("indfrm01")
_browse()
select(b1)
return .t.
FUNCTION _browse
PRIVATE oBrowse1
INIT DIALOG oDlg2 TITLE " Escolha a forma de pagamento" ;
AT 445,141 SIZE 280,240 ;
FONT HFont():Add( 'Arial',0,-13,400,,,) CLIPPER NOEXIT ;
STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER
@ 15,15 BROWSE oBrowse1 DATABASE SIZE 250,210 ;
STYLE WS_VSCROLL + WS_HSCROLL;
ON CLICK {|o,key| EndDialog() } ;
ON POSCHANGE {|| oBrowse1:Refresh() }
oBrowse1:bKeyDown := {|o,key| encontrou(o, key ) }
oBrowse1:AddColumn( HColumn():New( "Cód.", FieldBlock(Fieldname(1)),"N",02,00) )
oBrowse1:AddColumn( HColumn():New( "Forma" , FieldBlock(Fieldname(2)),"C",15,00) )
oBrowse1:aColumns[1]:length := 02
oBrowse1:aColumns[2]:length := 15
oBrowse1:aColumns[1]:nJusHead := DT_CENTER
oBrowse1:aColumns[2]:nJusHead := DT_CENTER
ACTIVATE DIALOG oDlg2
RETURN(oBrowse1:nCurrent)
STATIC FUNCTION encontrou( oBrowse, key )
TECLA:= VAL(ALLTRIM(VALTOPRG(KEY)))
DO CASE
CASE KEY = VK_RETURN
EndDialog()
CASE KEY = 1
EndDialog()
CASE TECLA > 47 .AND. TECLA < 58
dbseek(val(chr(tecla)))
oBrowse1:Refresh()
EndDialog()
otherwise
ENDCASE
Return .T.