Desmenbrar Texto em um Memo! Ajuda Por Favor

Delphi

03/04/2008

[b:3562d3ecf4]2 Vezez no Mesmo dia é muito né??[/b:3562d3ecf4]

Eu estou precisando muito da ajuda de vocês denovo
mais dessa vez não é nada NB - Pelo menos eu acho ^^
É o seguinte
Eu tenho um texto em num arquivo txt
Eu carreguei ele para um Memo

[b:3562d3ecf4]Esse texto tem a seguinte forma:[/b:3562d3ecf4]
123,NOME1,NOME2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,{},{},{}
124,NOME1,NOME2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,{},{},{}
125,NOME1,NOME2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,{},{},{}


Eu preciso desmenbra-lo em outro memo

[b:3562d3ecf4]Ele deve ficar assim:[/b:3562d3ecf4]
123
NOME1
NOME2
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
{}
{}
{}


Só que eu preciso fazer isso linha por linha (É possivel???)

Eu tentei fazer isso usando a função posEx mais encontrei bastante dificuldade
Sei que não é um código muito dificil para ser resolvido
Mais preciso da Ajuda de vocês para descascar esse abacaxi. ^^

Des de já agradeço
BjuzZ
Fuiii


Gabezinh@

Gabezinh@

Curtidas 0

Respostas

Marco Salles

Marco Salles

03/04/2008

Codigo Baseado nas sua informações e seguindo critérios de sues texto inicial .


var
 Lista:TStringList;
 i,tamanho,PosInicial,Pos:integer;
 Texto:String;
begin
 lista:=TStringList.Create;
 for i:=0 To Memo1.Lines.Count - 1 do
   begin
     texto:=Memo1.Lines.Strings[i];
     tamanho:=Length(texto);
     posInicial:=1;
     for Pos:=1 to Tamanho do
       begin
         if texto[Pos] = ´,´ then
           begin
            lista.Add(copy(texto,posInicial,Pos-PosInicial));
            PosInicial:=Pos+1;
           end;
       end;
     lista.Add(copy(texto,posInicial,Pos-PosInicial));
   end;
 Memo1.Lines.Clear;
 Memo1.Lines.AddStrings(Lista);
 Lista.Free;



GOSTEI 0
Gabezinh@

Gabezinh@

03/04/2008

[color=red:1e1a502ffb][b:1e1a502ffb]BlIgAdAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAa[/b:1e1a502ffb][/color:1e1a502ffb]

Era isso mesmo
So preciso agora fazer umas pequenas alterações
Pq ai ta adicionando todos os itens na lista
Eu quero so um item de cada vez

Creio eu que vai ficar alguma coisa mais ou menos assim:
var
 Lista:TStringList;
 i,tamanho,PosInicial,Pos:integer;
 Texto:String;
begin
 Memo1.Lines.LoadFromFile(´C:\teste.txt´);
 lista:=TStringList.Create;
 for i:=0 To Memo1.Lines.Count - 1 do
   begin
     texto:=Memo1.Lines.Strings[i];
     tamanho:=Length(texto);
     posInicial:=1;
     for Pos:=1 to Tamanho do
       begin
         if texto[Pos] = ´,´ then
           begin
            lista.Add(copy(texto,posInicial,Pos-PosInicial));
            PosInicial:=Pos+1;
           end;
       end;
     lista.Add(copy(texto,posInicial,Pos-PosInicial));
     Memo2.Clear;
     Memo2.Lines.AddStrings(Lista);
     Lista.Clear;
   end;
 Lista.Free;
end;


Muito obrigada Nino
Te +


GOSTEI 0
POSTAR