Função para pegar palavras em uma string

08/04/2003

0

Preciso de uma função que pegue as palavras de uma string informada pelo usuário. O separador de palavras pode ser um ´;´. Por exemplo, se a pessoa digitar: rato;casa;livro;texto a função deve jogar cada palavra sem o ´;´ em um array, stringlist ou algo parecido. A função deve tratar entradas como ´;;;´ etc. Desde já agradeço.


Anonymous

Anonymous

Responder

Posts

08/04/2003

Anonymous

Adapte e divirta-se...

[b:8e09ae4257]
117 - 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;


[/b:8e09ae4257]


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar