Auto Completes.

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Auto Completes.

Mensagem por Marcos »

Olá a todos do fórum, uma vez em uma loja eu vi um programa em clipper que tinha Auto Completes, ou seja, o operador iniciava a digitação e o sistema completava, isto é possivel em Clipper? Como fazer?
Pois eu acredito que facilita muito a vida do digitador, pense em preenchimentos de Cadastros (Clientes, fornecedores nome de ruas e endereçamento e etc).
Abraços,
Marcos.
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Mensagem por Marcos »

Será que não é possivel em clipper, ninguém nunca fez esta função, ou já viu?
:-o
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
evolver
Membro Master
Membro Master
Mensagens: 189
Registrado em: 28 Ago 2004 01:02
Localização: Cruz Alta - RS
Contato:

Mensagem por evolver »

Favor evitar flood desnecessário, aqui todas as mensagens são lidas por muita gente, se ninguem respondeu é porque até agora ninguem viu ou desenvolveu algo do gênero. Outros podem até estar fazendo pesquisas com amigos pra ver se sabem de algo.

Agora ficar postando seguidamente não ajuda nem um pouco alem de botar pressão em cima de um pessoal que colabora de bom grado.

Eu mesmo em meus muitos anos de clipper nunca vi nada assim.
Sergio "Evolver" Fagundes

CURVE-SE DIANTE DE MIM SER INSIGNIFICANTE, POIS EU SOU ROOT
Só respondo em PVT perguntas relativas ao que eu faço. Qualquer outra dúvida favor postar no fórum.
Peço aos veteranos que antes de responder a uma pergunta repetida dêem uma pesquisada e instruam a quem perguntou a fazer o mesmo.
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Bom Dia.
Provavelmente vc viu alguma função com uma rotina parecida com uma pesquisa pesquisa incremental só que mostrava o valor mais próximo na mesma linha do get.


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar do usuário
Zoc
Usuário Nível 1
Usuário Nível 1
Mensagens: 20
Registrado em: 24 Set 2004 13:08
Localização: Leme/SP

Mensagem por Zoc »

Tente assim, vc só vai precisar indicar a posição do get e cores.

@ 14,10 SAY "Descrição:" GET cDESCRICAO PICT "@!@K" WHEN BUSCANOME()


FUNCTION BUSCANOME
LOCAL tam, buf, get, pos, lin, col, tec
DBSETORDER( seu indice )
get := GETACTIVE()
lin := get:row
col := get:col
buf := get:VarGet()
tam := LEN(buf)
pos := 1
SETCOLOR( cores para limpar o get )
@ lin,col CLEAR TO lin,col // posição do seu get na tela
DO WHILE .T.
@ lin,col CLEAR TO lin,col // posição do seu get na tela
SETPOS(lin, col)
DISPOUT(buf)
SETCOLOR( cores do seu get )
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()
RETURN .T.
ENDIF
ENDDO
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Mensagem por Marcos »

Zoc funcionou perfeitamente, o único problema que vejo é que tenho que ter Indices para todos os Get's, e a busca também terá que ser feita no BD, isto tornaria o programa muito grande e lento, vejo que o Beneficio é menor que a recompensa.
Mas obrigado assim mesmo.
Abraços,
Marcos.
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Responder