GARANTIR DESCONTO

Fórum Desmenbrar Texto em um Memo! Ajuda Por Favor #356538

03/04/2008

0

[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@

Responder

Posts

03/04/2008

Marco Salles

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;



Responder

Gostei + 0

03/04/2008

Gabezinh@

[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 +


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar