maudruidas Posted November 7, 2006 Report Share Posted November 7, 2006 TENHO UMA DIALOG C/ 4 FOLDERS P/ RELATÓRIOS.NELES POSSUEM CAMPOS P/ ENTRADAS DE DADOS P/ OS REL. AO CLICAR EM QUALQUER UM DOS FOLDERS FIZ 2 FUNÇÕES UMA P/ ZERAR TODAS AS VARIÃVEIS E OUTRA QUE VERIFICA QUAL O FOLDER E DAR O FOCO NO OBJ DESEJADO. O PROBLEMA É O SEGUINTE NOS FOLDERS 2-3-4 ESTà ZERANDO PERFEITAMENTE, MAS NO FOLDER 1 ONDE TENHO 2 RADIOS 1 COMBO E 1 CHECKBOX NÃO CONSIGO ZERAR. LI AQUI NO SITE UMA PROBLEMA IGUAL ONDE O KAPIABA DISSE P/ DECLARAR COMO MEMVAR, FIZ ISSO E NADA. OUTRO QUE O PAULO SOBRE O RADIO PEDIU PARA COLOCAR OBJ:SETOPTION(1), MAS TMBÉM NÃO DEU. POR FOVOR VERIFIQUEM SE ESTOU FAZENDO ALGUMA KAKA HEHE: LOCAL VSI,DIME,OGDM,OCMBS,CLI,NCLI,ODSCLI,OGETC,QUA,VRADC3,RDCL3,OCMBD,; OCHG,RDCL1,OGME,MES,VSI2 MEMVAR VRADC,DIS,GAV DEFINE FONT OFONT NAME "Arial" SIZE 0, -11 DEFINE FONT OFNTC NAME "ARIAL" SIZE 10, -10 DEFINE DIALOG ODLGCR RESOURCE "DLGRCLI" TITLE "Relatórios de Clientes" ; STYLE NOR(WS_POPUP, WS_VISIBLE) ODLGCR : LHELPICON := .F. // Tira a ? da janela DIS := 1 GAV := .F. VRADC := 1 REDEFINE FOLDER OFOLR ID 101 OF ODLGCR PROMPTS "Cadastro","Planilha","Cartas de Aniversário", "Rel. de Aniversário" ; DIALOGS "DLGRCLI1","DLGRCLI2","DLGRCLI3","DLGRCLI4" ; ON CHANGE(ZERVCLI(VSI,DIME,OGDM,OCMBS,CLI,NCLI,ODSCLI,OGETC,QUA,DIS,OCMBD,GAV,; OCHG,VRADC,RDCL1,OGME,MES,OCMS,VSI2),VEFCLI(OFOLR,OFOLR:NOPTION,OGDM,OCMBS,OGETC,OGME,VRADC3,RDCL3)) ********* 1º FOLDER VDIS := {"TODOS","SEGUNDA 1","SEGUNDA 2","SEGUNDA 3","TERÇA 1","TERÇA 2","TERÇA 2",; "QUARTA 1","QUARTA 2","QUARTA 3","QUINTA 1","QUINTA 2","QUINTA 3",; "SEXTA 1","SEXTA 2","SEXTA 3","CORREIO"} REDEFINE GROUP OGRP ID 124 LABEL "Ordem: " OF OFOLR:ADIALOGS[1] COLOR CLR_BLACK,GETSYSCOLOR(15) ESQUERDA RAISED REDEFINE RADIO RDCL1 VAR VRADC ID 111, 112 Color CLR_BLACK,GETSYSCOLOR(15) OF OFOLR:ADIALOGS[1] UPDATE REDEFINE COMBOBOX OCMBD VAR DIS ITEMS VDIS ID 113 UPDATE OF OFOLR:ADIALOGS[1] REDEFINE CHECKBOX OCHG VAR GAV ID 114 UPDATE OF OFOLR:ADIALOGS[1] REDEFINE BTNBMP OBTN9 ID 103 OF OFOLR:ADIALOGS[1] RESOURCE "IMPRESS" ACTION(ODLGCR:END()) ; TOOLTIP "Imprime o Relatório" PROMPT "Imprimir" LEFT FONT OFNC NOBORDER REDEFINE BTNBMP OBTN10 ID 104 OF OFOLR:ADIALOGS[1] RESOURCE "CANCELA" ACTION(ODLGCR:END()) ; TOOLTIP "Cancelar / Sair" PROMPT "Cancela" LEFT FONT OFNC NOBORDER ********************* FUNÇÃO P/ DAR O FOCO FUNCTION VEFCLI(OFOLR,NOPTION,OGDM,OCMBS,OGETC,OGME,VRADC3,RDCL3) IF NOPTION = 2 XSETFOCUS(OGTC) ENDIF IF NOPTION = 3 OGDM:ENABLE() OCMBS:ENABLE() OGETC:DISABLE() VRADC3 := 1 RDCL3:SETOPTION(1) RDCL3:REFRESH() XSETFOCUS(OGDM) ENDIF IF NOPTION = 4 XSETFOCUS(OGME) ENDIF RETURN(.T.) ************************ FUNÇÃO P/ ZERAR FUNCTION ZERVCLI(VSI,DIME,OGDM,OCMBS,CLI,NCLI,ODSCLI,OGETC,QUA,DIS,OCMBD,GAV,; OCHG,VRADC,RDCL1,OGME,MES,OCMS,VSI2) VRADC := 1 RDCL1:SETOPTION(1) RDCL1:REFRESH() DIS := 1 OCMBD:REFRESH() // ESTA PARTE NÃO FUNCIONA GAV := .F. OCHG:REFRESH() QUA := 0 OGTC:VARPUT(QUA) OGTC:REFRESH() DIME := " " OGDM:VARPUT(DIME) OGDM:REFRESH() VSI := 1 OCMBS:VARPUT(VSI) OCMBS:REFRESH() NCLI := SPACE(200) + "A" ODSCLI:VARPUT(NCLI) ODSCLI:REFRESH() CLI := 0 OGETC:VARPUT(CLI) OGETC:REFRESH() MES := 0 OGME:VARPUT(MES) OGME:REFRESH() VSI2 := 1 OCMS:VARPUT(VSI2) OCMS:REFRESH() RETURN(.T.) MUITO OBRIGADO PELA ANTENÇÃO DE TODOS... MaurÃcio de Assis Pinto Rancharia - SP maudruidas@yahoo.com.br CLIPPER 5.3 FWH 2.4 BLINKER 7.0 Workshop 4.5 Editado por - maudruidas on 07/11/2006 07:42:16 Editado por - maudruidas on 07/11/2006 07:43:22 Quote Link to comment Share on other sites More sharing options...
maudruidas Posted November 7, 2006 Author Report Share Posted November 7, 2006 TENHO UMA DIALOG C/ 4 FOLDERS P/ RELATÓRIOS.NELES POSSUEM CAMPOS P/ ENTRADAS DE DADOS P/ OS REL. AO CLICAR EM QUALQUER UM DOS FOLDERS FIZ 2 FUNÇÕES UMA P/ ZERAR TODAS AS VARIÃVEIS E OUTRA QUE VERIFICA QUAL O FOLDER E DAR O FOCO NO OBJ DESEJADO. O PROBLEMA É O SEGUINTE NOS FOLDERS 2-3-4 ESTà ZERANDO PERFEITAMENTE, MAS NO FOLDER 1 ONDE TENHO 2 RADIOS 1 COMBO E 1 CHECKBOX NÃO CONSIGO ZERAR. LI AQUI NO SITE UMA PROBLEMA IGUAL ONDE O KAPIABA DISSE P/ DECLARAR COMO MEMVAR, FIZ ISSO E NADA. OUTRO QUE O PAULO SOBRE O RADIO PEDIU PARA COLOCAR OBJ:SETOPTION(1), MAS TMBÉM NÃO DEU. POR FOVOR VERIFIQUEM SE ESTOU FAZENDO ALGUMA KAKA HEHE: LOCAL VSI,DIME,OGDM,OCMBS,CLI,NCLI,ODSCLI,OGETC,QUA,VRADC3,RDCL3,OCMBD,; OCHG,RDCL1,OGME,MES,VSI2 MEMVAR VRADC,DIS,GAV DEFINE FONT OFONT NAME "Arial" SIZE 0, -11 DEFINE FONT OFNTC NAME "ARIAL" SIZE 10, -10 DEFINE DIALOG ODLGCR RESOURCE "DLGRCLI" TITLE "Relatórios de Clientes" ; STYLE NOR(WS_POPUP, WS_VISIBLE) ODLGCR : LHELPICON := .F. // Tira a ? da janela DIS := 1 GAV := .F. VRADC := 1 REDEFINE FOLDER OFOLR ID 101 OF ODLGCR PROMPTS "Cadastro","Planilha","Cartas de Aniversário", "Rel. de Aniversário" ; DIALOGS "DLGRCLI1","DLGRCLI2","DLGRCLI3","DLGRCLI4" ; ON CHANGE(ZERVCLI(VSI,DIME,OGDM,OCMBS,CLI,NCLI,ODSCLI,OGETC,QUA,DIS,OCMBD,GAV,; OCHG,VRADC,RDCL1,OGME,MES,OCMS,VSI2),VEFCLI(OFOLR,OFOLR:NOPTION,OGDM,OCMBS,OGETC,OGME,VRADC3,RDCL3)) ********* 1º FOLDER VDIS := {"TODOS","SEGUNDA 1","SEGUNDA 2","SEGUNDA 3","TERÇA 1","TERÇA 2","TERÇA 2",; "QUARTA 1","QUARTA 2","QUARTA 3","QUINTA 1","QUINTA 2","QUINTA 3",; "SEXTA 1","SEXTA 2","SEXTA 3","CORREIO"} REDEFINE GROUP OGRP ID 124 LABEL "Ordem: " OF OFOLR:ADIALOGS[1] COLOR CLR_BLACK,GETSYSCOLOR(15) ESQUERDA RAISED REDEFINE RADIO RDCL1 VAR VRADC ID 111, 112 Color CLR_BLACK,GETSYSCOLOR(15) OF OFOLR:ADIALOGS[1] UPDATE REDEFINE COMBOBOX OCMBD VAR DIS ITEMS VDIS ID 113 UPDATE OF OFOLR:ADIALOGS[1] REDEFINE CHECKBOX OCHG VAR GAV ID 114 UPDATE OF OFOLR:ADIALOGS[1] REDEFINE BTNBMP OBTN9 ID 103 OF OFOLR:ADIALOGS[1] RESOURCE "IMPRESS" ACTION(ODLGCR:END()) ; TOOLTIP "Imprime o Relatório" PROMPT "Imprimir" LEFT FONT OFNC NOBORDER REDEFINE BTNBMP OBTN10 ID 104 OF OFOLR:ADIALOGS[1] RESOURCE "CANCELA" ACTION(ODLGCR:END()) ; TOOLTIP "Cancelar / Sair" PROMPT "Cancela" LEFT FONT OFNC NOBORDER ********************* FUNÇÃO P/ DAR O FOCO FUNCTION VEFCLI(OFOLR,NOPTION,OGDM,OCMBS,OGETC,OGME,VRADC3,RDCL3) IF NOPTION = 2 XSETFOCUS(OGTC) ENDIF IF NOPTION = 3 OGDM:ENABLE() OCMBS:ENABLE() OGETC:DISABLE() VRADC3 := 1 RDCL3:SETOPTION(1) RDCL3:REFRESH() XSETFOCUS(OGDM) ENDIF IF NOPTION = 4 XSETFOCUS(OGME) ENDIF RETURN(.T.) ************************ FUNÇÃO P/ ZERAR FUNCTION ZERVCLI(VSI,DIME,OGDM,OCMBS,CLI,NCLI,ODSCLI,OGETC,QUA,DIS,OCMBD,GAV,; OCHG,VRADC,RDCL1,OGME,MES,OCMS,VSI2) VRADC := 1 RDCL1:SETOPTION(1) RDCL1:REFRESH() DIS := 1 OCMBD:REFRESH() // ESTA PARTE NÃO FUNCIONA GAV := .F. OCHG:REFRESH() QUA := 0 OGTC:VARPUT(QUA) OGTC:REFRESH() DIME := " " OGDM:VARPUT(DIME) OGDM:REFRESH() VSI := 1 OCMBS:VARPUT(VSI) OCMBS:REFRESH() NCLI := SPACE(200) + "A" ODSCLI:VARPUT(NCLI) ODSCLI:REFRESH() CLI := 0 OGETC:VARPUT(CLI) OGETC:REFRESH() MES := 0 OGME:VARPUT(MES) OGME:REFRESH() VSI2 := 1 OCMS:VARPUT(VSI2) OCMS:REFRESH() RETURN(.T.) MUITO OBRIGADO PELA ANTENÇÃO DE TODOS... MaurÃcio de Assis Pinto Rancharia - SP maudruidas@yahoo.com.br CLIPPER 5.3 FWH 2.4 BLINKER 7.0 Workshop 4.5 Editado por - maudruidas on 07/11/2006 07:42:16 Editado por - maudruidas on 07/11/2006 07:43:22 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 7, 2006 Report Share Posted November 7, 2006 REDEFINE COMBOBOX OCMBD VAR DIS ITEMS VDIS ID 113 UPDATE ; OF OFOLR:ADIALOGS[1] id=code>id=code>Nao entendi, porque keres ZERAR um COMBO, mas se precisa mesmo, voce precisa usar o ON CHANGE direto no COMBOBOX. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Kbelo Posted November 7, 2006 Report Share Posted November 7, 2006 Eu tenho um pedido de caixa Configuravel aqui e na tela de configuração tenho 7 Folders. Consigo zerar qualquer variavel usando ela como Private no inicio do prg Private Var:=space(5) quando quero serar ela só faço novamente Var:=space(5) se ela estiver em algum Get, Say, etc... é só fazer um Refresh() Nesses 7 folders só não tenho combo Mas tem checkbox, Radio, Get, Say, ListBox, Botões etc... Marcelo Michels celo.michels@ibestvip.com.br celo.michels@hotmail.com marcelo@lorenzi.com.br -> Lorenzi Soluções Têxteis <- Criciuma - SC xHarbour build 0.99.2 + WS Quote Link to comment Share on other sites More sharing options...
Kbelo Posted November 7, 2006 Report Share Posted November 7, 2006 private Item1:=space(5) private Item2:=0 Define dialog ... redefine get oItem1 var Item1 id ... redefine get oItem1 var Item1 id ... ... Para zerar em qualquer parte dessa rotina faço assim Item1:=space(5) Item2:=0 oItem1:Refresh() oItem2:Refresh() Bem simples e funciona Marcelo Michels celo.michels@ibestvip.com.br celo.michels@hotmail.com marcelo@lorenzi.com.br -> Lorenzi Soluções Têxteis <- Criciuma - SC xHarbour build 0.99.2 + WS Quote Link to comment Share on other sites More sharing options...
maudruidas Posted November 7, 2006 Author Report Share Posted November 7, 2006 KAP VEJA BEM EU NÃO QUERO ZERAR O COMBO E SIM APENAS QUE ELE VOLTE P/ A OPÇÃO 1, NO RADIO TMBÉM QUE VOLTE AO PRIMEIRO E NO CHECK QUE ELE FIQUE EM BRANCO. OLHEM COMO POSTEI EM NEGRITO A FUNÇÃO ZERVCLI(). NÃO SEI SE TEM ALGO VER, MAS A ÚNICA DIFERENÇA DAS VÃR. DO PRIM. FOLDER P/ OS OUTROS É QUE AS VÃRIÃVEIS DELE TEM VALOR ANTES DE CRIÃ-LO E DOS OUTROS NÃO. E NOS OUTROS FOLDERS TMBÉM TEM COMBOS E RADIOS, E FUNCIONA. OBRIGADO MAIS UMA VEZ MaurÃcio de Assis Pinto Rancharia - SP maudruidas@yahoo.com.br CLIPPER 5.3 FWH 2.4 BLINKER 7.0 Workshop 4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 7, 2006 Report Share Posted November 7, 2006 OCMBD := 'opcao' VARPUT( OCMBD ) OCMBD := Refresh() João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.