quinta-feira, 17 de setembro de 2009

Quebra de string

{Nesta dica iremos mostrar uma função que cria uma lista de strings baseado numa cadeia de string, quebrando-a onde encontrar um caractere predeterminado. Por exemplo: Uma string como 'O céu é azul', escolhendo o caracter espaço (' ') para quebrar, seria tranformado em uma lista de strings que, colocada em um componente do tipo TListBox ficaria:

O

céu

é

azul

Isto é, onde havia um espaço a string foi "quebrada".}

function sBreakApart(BaseString, BreakString: string; StringList: TStringList): TStringList;
var
EndOfCurrentString: byte;
TempStr: string;
begin
repeat
EndOfCurrentString := Pos(BreakString, BaseString);
if EndOfCurrentString = 0 then
StringList.add(BaseString)
else
StringList.add(Copy(BaseString, 1, EndOfCurrentString - 1));
BaseString := Copy(BaseString, EndOfCurrentString + length(BreakString), length(BaseString) - EndOfCurrentString);

until EndOfCurrentString = 0;
result := StringList;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
t: TStringList;
begin
t := TStringList.create;
ListBox1.Items.Assign(sBreakApart(Edit1.Text, ' ', t));
t.free;
end;

Nenhum comentário:

Postar um comentário