conpete Posted May 30, 2005 Report Share Posted May 30, 2005 Companheiros... No velho Clipper eu faço assim: FUNCTION Function Cadlanca() Sele 1 Use Produtos Index on codigo to xCodprod Sele 2 Use movimentos cCodigo = space(len(movimentos->codigo)) cDescricao = space(len(movimentos->descricao)) nQantidade=0 @10,2 say “01 – Código.....†@11,2 say “02 - Descrição..†@12,2 say “03 - Quantidade...†@10,20 get cCodigo pict “99999†valid chcodigo(cCodigo) @12,20 gey nQaintidade read function chcodigo(cCodigo) sele 1 seek cCodigo if eof() @10,20 “ Codigo não encontrado†sele 2 return .f. else @11,20 say produtos->descricao sele 2 return .t. endin return nil Como posso Utilizar um dialog para ter o mesmo efeito acima.. ou seja, Mostrar o nome do produto após digitado o código do mesmo.. Mangueira Clipper53b/Blinker7/fweval mangueira@ig.com.br Quote Link to comment Share on other sites More sharing options...
betovsp Posted May 30, 2005 Report Share Posted May 30, 2005 citação:cCodigo = space(len(movimentos->codigo)) cDescricao = space(len(movimentos->descricao)) nQantidade=0 id=quote>id=quote>Pode ser feito assim: cCodigo:=oCodigo:=space(len(movimentos->codigo)) cDescricao:=oDescricao:=space(len(movimentos->descricao)) nQantidade:=oQantidade:=0 citação:@10,2 say “01 – Código.....†@11,2 say “02 - Descrição..†@12,2 say “03 - Quantidade...†@10,20 get cCodigo pict “99999†valid chcodigo(cCodigo) @12,20 gey nQaintidade read id=quote>id=quote>@10,2 say “01 – Código.....†@11,2 say “02 - Descrição..†@12,2 say “03 - Quantidade...†@10,20 get oCodigo VAR cCodigo pict “99999†valid chcodigo(cCodigo) @12,20 get oQantidade VAR nQaintidade read function chcodigo(cCodigo) sele 1 seek cCodigo if (dbseek(cCodigo)) oDescricao:=produtos->descricao cDescricao:=produtos->descricao oDescricao:Refresh() return .T. else @10,20 “ Codigo não encontrado†sele 2 return .f. END Beto betovsp@hotmail.com (16)9148-1515 CL53B + FW2.0 + @ SAY Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
conpete Posted May 30, 2005 Author Report Share Posted May 30, 2005 Beto e os outros companheiros.. Funcionou do jeito que o Beto me orientou porem, gostaria de usar algo assim.... Function Cadlanca() LOCAL oFld , oDlg , oConta, oDescricao Local cCodigo, cDescircao,vQuantida Sele 1 Use Produtos Index on codigo to xCodprod Sele 2 Use movimentos DEFINE DIALOG oDlg RESOURCE "DIALOGO_1" // Onde id 101 = codigo id 102 = descricao id 103 = valor // cCodigo = space(len(movimentos->codigo)) cDescricao = space(len(movimentos->descricao)) nQantidade=0 REDEFINE GET dCodigo ID 101 OF oDlg valid chcodigo(cCodigo) REDEFINE SAY cDescricao ID 102 OF oDlg REDEFINE GET vQuantidade ID 103 OF oDlg valid chconta(cConta) .or. lastkey()=5 O SAY acima é apenas para ilustração do meu desejo, não sei se é permitido em Dialog Mangueira Clipper53b/Blinker7/fweval mangueira@ig.com.br Quote Link to comment Share on other sites More sharing options...
marcelo Posted May 31, 2005 Report Share Posted May 31, 2005 Ola Baixe Workshop em http://www.toyanet.com.br Yrece Quote Link to comment Share on other sites More sharing options...
conpete Posted May 31, 2005 Author Report Share Posted May 31, 2005 Marcelo e Companheiros Já estou usando o Workshop. O que, na verdade, não sei como fazer tal procedimento utilizando um dialog, desde a declaração das variáveis (não se se devo trabalhar com Var LOCAL, PUBLIC, STATIC... Etc.) ao procedimento de programação para obter o efeito desejado utilizando REDEFINR GET. Mangueira Clipper53b/Blinker7/fweval mangueira@ig.com.br Quote Link to comment Share on other sites More sharing options...
kapiaba Posted May 31, 2005 Report Share Posted May 31, 2005 O critério é seu, você é quem vai definir, conforme a necessidade, se a variável é PUBLIC, MEMVAR, LOCAL, STATIC, etc. Se você vai usar a variável somente no modulo que voce esta trabalhando, use LOCAL. Se vai usar em outras FUNCTIONS, use MEMVAR e PUBLIC. Você Verá, que no Clipper 5.3B, em alguns casos, quando se usa as DIRETIVAS do PRÉ-PROCESSADOR /ES2/M/N/W, PUBLIC, só funcionará, em CONJUNTO com o MEMVAR... Mas ainda demora para você aprender estas ARTMANHAS. Mas é fácil. Caso sinta dificuldade com estas DIRETIVAS, não as USE, pois ai já será quando você estiver BEM AVANÇADO. Ai, vai ser moleza. Se for uma Variavel LOGICA, use STATIC, pois assim voce pode 'manipulá-la' a gosto, checando-a sempre que necessitar tomar uma decisão... em um IF... ELSIF... ENDIF por exemplo. Evite contudo, EXCESSOS de Variaveis PUBLIC, ABUSE das Variaveis LOCAL... Use MEMVAR, somente quando for absolutamente necessário, e não esqueça de DESTRUÃ-LAS quando sair do ACTIVATE DIALOG, usando o RELEASE ALL. É isto, maiores dúvidas, vá perguntando conforme for surgindo as dificuldades. Abraços. Bad Boy - São Paulo. kmt_karinha@pop.com.br - 1 GB de Espaço. FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE Editado por - kapiaba on 31/05/2005 13:19:33 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.