Retornar strings depois de uma busca...

Delphi

18/03/2009

Boa tarde galera,

Vou começar com o clássico ´sou novo por aqui´... :)

Estou fazendo uma rotina para procurar detrerminados valores de uns dados em um arquivo texto. Já consegui fazer o programa encontrar o texto procurado, mas preciso retornar os dados que estão após ele.

Exemplo do texto:

_IGALCUSTOMERCOD=5200
_IGALCUSTOMERNAME=M.E.M.OTICAS LTDA
_OWFRAMEDIAGONALE=56.03;56GTHK=3.5;3.45
LDDRSPH=1.17;0.96
LDDRCYL=0.01;0.01
LDDRAX=141.4;39
LDNRSPH=3.64;3.42
LDNRCYL=0.16;0.16
LDNRAX=98.9;81.1
LDADD=2.55;2.54
_OWBORDERNASAL=2.94;2.63
_OWBORDERTEMPORAL=2.48;2.98
_OWBORDERTOP=3.2;3.19
_OWBORDERBOTTOM=3.17;3.19
THNP=2.3;2.3
THNA=200;330
THKP=3.21;3.25
THKA=70;250

Este texto mostra valores para produção de uma lente oftalmica. Preciso colocar em Edits separados os valores apresentados após o sinal de igual sendo:

LDNRSPH=3.64;3.42
edtLadoDireito = 3.64
edtLadoEsquerdo = 3.62

Reparem que cada campo tem tamanhos diferentes , por isso estou tendo dificuldade em retornar tal informação.

Agradeço a ajuda de todos


Gustavorochaferreira

Gustavorochaferreira

Curtidas 0

Respostas

Marco Salles

Marco Salles

18/03/2009

Vou responder tb classicamente :

´seja muito bem vindo´

Deixando as firulas e partindo para os finalmentes :

Acho que dois copy e um Pos resolve < dentre outras Opçoes >

var
pi:integer;
ResultadoDeSuaBusca:String;
begin
ResultadoDeSuaBusca:=´3.64;3.42´;
pi:=pos(´;´,ResultadoDeSuaBusca);
edtLadoDireito.Text:=copy(ResultadoDeSuaBusca,1,Pi-1);
edtLadoEsquerdo.Text:=copy(ResultadoDeSuaBusca,pi+1,length(ResultadoDeSuaBusca)-Pi);
end;


GOSTEI 0
Gustavorochaferreira

Gustavorochaferreira

18/03/2009

[quote:0e9c62d07e=´Marco Salles´]Vou responder tb classicamente :

´seja muito bem vindo´

Deixando as firulas e partindo para os finalmentes :

Acho que dois copy e um Pos resolve < dentre outras Opçoes >

var
pi:integer;
ResultadoDeSuaBusca:String;
begin
ResultadoDeSuaBusca:=´3.64;3.42´;
pi:=pos(´;´,ResultadoDeSuaBusca);
edtLadoDireito.Text:=copy(ResultadoDeSuaBusca,1,Pi-1);
edtLadoEsquerdo.Text:=copy(ResultadoDeSuaBusca,pi+1,length(ResultadoDeSuaBusca)-Pi);
end;[/quote:0e9c62d07e]

Fala Marco,

Na verdade eu só tenho a string que contem o nome do campo (LDNRSPH=), eu preciso pegar toda a informação depois do campo como vc fez. Este arquivo é uma resposta de um cálculo, então eu só tenho os nomes dos campos e preciso retornar para o meu form os resultados.

Valeu


GOSTEI 0
Marco Salles

Marco Salles

18/03/2009

Qual a rotina que vc esta usando para fazer a Busca ????


fica mais fácil fazer uma Adaptação para Vc.

Ok ???


GOSTEI 0
POSTAR