tabela
caros colegas, estou com seguinte problema......
Possuo uma tabela com um campo memo onde existem valores da seguinte forma.....
o meu nome é __________ e eu tenho __ e peso _______.
Portanto existem 3 variaveis ( nome,idade,peso ), o que eu preciso é pegar a posição de cada variavel, tipo assim..... 1º variavel comeca na posição 20 e termina na posição 27 a 2º variavel começa na posição 35 e termina na 39 e assim pos diante, alguem poderia me dar uma idéia de como fazer isto.
[]´s
Oscar Luiz R. de Oliveira
Possuo uma tabela com um campo memo onde existem valores da seguinte forma.....
o meu nome é __________ e eu tenho __ e peso _______.
Portanto existem 3 variaveis ( nome,idade,peso ), o que eu preciso é pegar a posição de cada variavel, tipo assim..... 1º variavel comeca na posição 20 e termina na posição 27 a 2º variavel começa na posição 35 e termina na 39 e assim pos diante, alguem poderia me dar uma idéia de como fazer isto.
[]´s
Oscar Luiz R. de Oliveira
Oscarluiz
Curtidas 0
Respostas
Dedi
01/05/2003
Oscarluis,
se o tamanho da string do campo for fixa voce podera fazer assim
procedure TForm1.Button1Click(Sender: TObject);
var texto,nome,idade,peso:string;
begin
texto:=memo1.Lines.Text;//o meu nome é __________ e eu tenho __ e peso _______.
nome:=copy(texto,13,10);
idade:=copy(texto,36,2);
peso:=copy(texto,46,7);
showmessage(´nome:´+nome+´, idade:´+idade+´ peso:´+peso);
end;
isso so vai funcionar se as variáveis forem sempre do mesmo tamanho
se o tamanho não for fixo
tente alterar o conteudo do campo memo tipo assim
o meu nome é: JOSE DE RIMEOL , e eu tenho: 25 , e peso: 85 KILOS , .
ai voce poderá fazer um codigo assim
procedure TForm1.Button2Click(Sender: TObject);
var texto,nome,idade,peso:string;
begin
texto:=memo1.Lines.Text;{o meu nome é: JOSE DE RIMEOL , e eu tenho: 25 , e peso: 85 KILOS , .}
nome:=copy(texto,pos(´:´,texto)+1,(POS(´,´,TEXTO)-pos(´:´,texto)-1));
delete(texto,1,pos(´,´,texto));
SHOWMESSAGE(NOME);
IDADE:=copy(texto,pos(´:´,texto)+1,(POS(´,´,TEXTO)-pos(´:´,texto)-1));
delete(texto,1,pos(´,´,texto));
SHOWMESSAGE(IDADE);
PESO:=copy(texto,pos(´:´,texto)+1,(POS(´,´,TEXTO)-pos(´:´,texto)-1));
showmessage(´nome:´+nome+´, idade:´+idade+´ peso:´+peso);
end;
ESPERO TER LHE AJUDADO .
DEDI
se o tamanho da string do campo for fixa voce podera fazer assim
procedure TForm1.Button1Click(Sender: TObject);
var texto,nome,idade,peso:string;
begin
texto:=memo1.Lines.Text;//o meu nome é __________ e eu tenho __ e peso _______.
nome:=copy(texto,13,10);
idade:=copy(texto,36,2);
peso:=copy(texto,46,7);
showmessage(´nome:´+nome+´, idade:´+idade+´ peso:´+peso);
end;
isso so vai funcionar se as variáveis forem sempre do mesmo tamanho
se o tamanho não for fixo
tente alterar o conteudo do campo memo tipo assim
o meu nome é: JOSE DE RIMEOL , e eu tenho: 25 , e peso: 85 KILOS , .
ai voce poderá fazer um codigo assim
procedure TForm1.Button2Click(Sender: TObject);
var texto,nome,idade,peso:string;
begin
texto:=memo1.Lines.Text;{o meu nome é: JOSE DE RIMEOL , e eu tenho: 25 , e peso: 85 KILOS , .}
nome:=copy(texto,pos(´:´,texto)+1,(POS(´,´,TEXTO)-pos(´:´,texto)-1));
delete(texto,1,pos(´,´,texto));
SHOWMESSAGE(NOME);
IDADE:=copy(texto,pos(´:´,texto)+1,(POS(´,´,TEXTO)-pos(´:´,texto)-1));
delete(texto,1,pos(´,´,texto));
SHOWMESSAGE(IDADE);
PESO:=copy(texto,pos(´:´,texto)+1,(POS(´,´,TEXTO)-pos(´:´,texto)-1));
showmessage(´nome:´+nome+´, idade:´+idade+´ peso:´+peso);
end;
ESPERO TER LHE AJUDADO .
DEDI
GOSTEI 0