PDA

Ver Versão Completa : pegar tudo o que tiver dentro da ,(virgula)



user11
27/04/2010, 06:34
pegar tudo que ficar entre virgulas

tenho um texto em um memo

exemplo
,oi,tudo,bem,com,vc,
eu queria que ficasse assim no outro memo
oi
tudo
bem
com
vc

unn4m3D_BR
27/04/2010, 08:01
Oie .. !

Você pode usar a função Pos ou AnsiPos para achar a virgula e, logo que tiver achado quebrar a string e jogar no memo ou apenas ir jogando .. :)

Pos
[Only registered and activated users can see links]

AnsiPos
[Only registered and activated users can see links]

bjxx ..

whit3_sh4rk
27/04/2010, 09:51
Adicione na uses a unit StrUtils para poder utilizar o AnsiReplaceStr.

Insira duas Memos e na primeira coloque o exemplo acima:
,oi,tudo,bem,com,vc,

A segunda deixe em branco.

Insira um botão e coloque no OnClick:

procedure TForm1.Button1Click(Sender: TObject);
var
l: integer;
begin
Memo2.Lines.Text:=AnsiReplaceStr(Memo1.Lines.Text, ',',#13#10);
for l:=Memo2.Lines.Count-1 downto 0 do
begin
if Memo2.Lines.Strings[l] = '' then Memo2.Lines.Delete(l);
end;
end;


Resumindo:
Substitui o caractere "," por uma quebra de linha e em seguida limpa as linhas em branco que ficaram.

Obs: Estude os links que o Unn4 de passou porque são ótimos para tratamento de strings..

[]s

pedrojr
29/04/2010, 03:44
Ou ainda use essa função que fiz.
[Only registered and activated users can see links]

La explica como utilizar e o tipo de retorno!

flw's 8)