GET + FUNÇÃO
Moderador: Moderadores
GET + FUNÇÃO
Bom dia amigos do FCOL!!
Necessito de uma ajuda p/ resolver a seguinte questão:
Tenho a seguinte linha:
... Get vvend Pict "@!" When sinal = 0 Valid !Empty(vvend)
Eu gostaria de acrescentar na mesma linha a função Buscano(), que é uma função de pesquisa do nome que estou GETando. Tentei de algumas formas, mas não funciona.
Agradeço antecipadamente!!
[]´s
Netavin
Necessito de uma ajuda p/ resolver a seguinte questão:
Tenho a seguinte linha:
... Get vvend Pict "@!" When sinal = 0 Valid !Empty(vvend)
Eu gostaria de acrescentar na mesma linha a função Buscano(), que é uma função de pesquisa do nome que estou GETando. Tentei de algumas formas, mas não funciona.
Agradeço antecipadamente!!
[]´s
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
Apenas faça sua nova função retornar um valor lógico e acrescente-a no VALID:
Código: Selecionar todos
... Get vvend Pict "@!" When sinal = 0 Valid !Empty(vvend) .AND. Buscando()[]'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!
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!
Re: GET + FUNÇÃO
Vc tb pode transferir a parte de !empty(vvend) para dentro da sua função buscando().
Ai seu código ficaria assim:
no seu código buscando:
Ai seu código ficaria assim:
Código: Selecionar todos
Get vvend Pict "@!" When sinal = 0 Valid Buscando(vvend)Código: Selecionar todos
function buscando(q_vvend)
if empty(q_vvend)
return(.F.)
end
..."TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
GET + FUNÇÃO
Bom dia amigos!
Captei a mensagem. Porém não está dando certo. Acredito que seja "por causa" da construção:
[]´s
Netavin
Captei a mensagem. Porém não está dando certo. Acredito que seja "por causa" da construção:
Código: Selecionar todos
@ 18,03 Say "Data:" Get vdten
@ 18,21 Say "Nr romaneio:" Get vroma Pict "99999" Valid N_roma(vroma)
@ 18,41 Say "Qtde :" Get VQTD Pict "99" Valid C_QDE(VQTD)
@ 18,53 Say "Toreiro:" Get vvend Pict "@!" When sinal = 0 Valid !empty(vvend) .and. Buscar()
@ 19,52 Say "Freteiro:" Get VFRET Pict "@!"
Setcolor("r/w")
@ 20,01 Say Repl("-",78)
Setcolor("N/W,W/B")
Read
FUNCTION BUSCAR
LOCAL tam, buf, get, pos, lin, col, tec, n_nsx
N_NSX := INDEXORD()
DBSETORDER(1)
get := GETACTIVE()
lin := get:row
col := get:col
buf := get:VarGet()
tam := LEN(buf)
pos := 1
Set cursor on
DO WHILE .T.
SETPOS(lin, col)
DISPOUT(buf)
SETPOS(lin, col - 1 + pos)
tec := INKEY(0)
IF tec >= 32 .AND. tec <= 255
TEC := ASC( UPPER( CHR( TEC )))
buf := LEFT(buf, pos - 1) + CHR(tec) + SUBS(buf, pos + 1)
IF DBSEEK(LEFT(buf, pos), .T.)
buf := LEFT(&(INDEXKEY(0)), tam)
ELSE
buf := LEFT(buf, pos) + SPACE( TAM - POS)
ENDIF
pos := MIN(tam, pos + 1)
ELSEIF tec == K_LEFT
pos := MAX(1, pos - 1)
ELSEIF tec == K_RIGHT
pos := MIN(tam, pos + 1)
ELSEIF tec == K_HOME
pos := 1
ELSEIF tec == K_END
pos := MIN(tam, LEN(TRIM(buf)) + 1)
ELSEIF tec == K_BS
IF pos > 1
pos --
buf := LEFT(buf, pos - 1) + SUBS(buf, pos + 1) + " "
ENDIF
ELSE
KEYB CHR(tec)
get:VarPut(buf)
get:UpdateBuffer()
DBSETORDER( N_NSX )
RETURN .T.
ENDIF
ENDDONetavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
A função Buscar() tem um retorno lógico. Então, qual é o problema?
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
GET + FUNÇÃO
Sinceramente Netavin, com o código da função BUSCAR que você postou, não entendí qual seria a finalidade da função BUSCAR. Poderias explicar melhor ? É uma validação e uma edição condicional do GET ? Ou seria com o propósito de listar as opções do GET Toreiro ?? Lembre que essa função tem que retornar uma valor lógico (.T. ou .F.), como ja disse o Maligno.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Note que essa função sempre retornará TRUE. Mas também não me ative aos detalhes e não saquei o que precisa ser feito. Busca é busca. Há uma busca. Mas se sempre retornará TRUE, fica bem estranho.
[]'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!
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!
Re: GET + FUNÇÃO
Bem... vou procurar ser mais explícito.
À medida que vou digitanto a informação do GET, a função buscar() faz a pesquisa no Banco de Dados e autocompleta o nome, uma vez que ele já esteja cadastrado em entradas anteriores. Eu já uso esta função em outros módulos e funciona perfeitamente.
Enquanto escrevo, estou imaginando se não seria porque está indexado pelo nº do romaneio(vroma) e não pelo nome do vendedor(vvend).
[]´s
Netavin
À medida que vou digitanto a informação do GET, a função buscar() faz a pesquisa no Banco de Dados e autocompleta o nome, uma vez que ele já esteja cadastrado em entradas anteriores. Eu já uso esta função em outros módulos e funciona perfeitamente.
Enquanto escrevo, estou imaginando se não seria porque está indexado pelo nº do romaneio(vroma) e não pelo nome do vendedor(vvend).
[]´s
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
Vcoê precisa utiliza na busca o índice apropriado para ela.
[]'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!
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!
Re: GET + FUNÇÃO
Caro Malígno, está dando certo ... quase. Não fosse um detalhe. Ao entrar no Get ref. a variável vvend, na primeira digitação, a função Buscar() não está sendo chamada. Para que funcione eu preciso teclar <Enter> antes de iniciar a entrada da informação.
Tem uma forma de contornar isso ?
Obrigado pela ajuda ....
Netavin
Tem uma forma de contornar isso ?
Obrigado pela ajuda ....
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Auto-prenchimento
Quer um conselho ? Faça dentro do GETSYS.PRG e compile-o junto, você poderá determinar para cada nome de variavel da própira GET, a função e tipo de busca diferenciada e sugerir-la abaixo do get para ser confirmado após o terceiro caracter digitado (caso o encontrar no GET).
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.


