Buscar

Trabalhando com quebra de strings (funcao gettok)

Código

Function gettok(Texto:string;Posicao:integer;Caractere:Integer):string;
var
        i:integer;
        ii:integer;
        TextoF:string;
begin
        i:=1;
        ii:=1;
        TextoF := '';
        if Ord(Texto[1]) <> Caractere then Texto:=chr(Caractere)+Texto;
        if Ord(Texto[Length(Texto)]) <> Caractere then Texto:=Texto+chr(Caractere);
        while i < Length(Texto) do
        begin
                inc(i);
                if ii = Posicao then TextoF:=TextoF + Texto[i];
                if Ord(Texto[i]) = Caractere then inc(ii);
        end;
        if (Posicao <> 0) then result:=copy(TextoF,1,length(TextoF)-1)
        else result:=IntToStr(ii-1);
end;

{ ------------- Gettok By Psychlo ------------------
Uso, Gettok(Texto,Posicao,Caractere)
se posicao = 0 entao
retorna numero de palavras ligadas pelo caractere
senao retorna a palavra na posicao

quem já mexeu com mIRC Scripting vai se adpatar rapidamente a funcao pois ela lembra muito o $gettok no mIRC...

exemplo:

Gettok('Delphi Rulla a lote',1,32) { retorna Delphi }

Gettok('Delphi Rulla a lote',2,32) { retorna Rulla }
Gettok('Delphi Rulla a lote',3,32) { retorna a }
Gettok('Delphi Rulla a lote',4,32) { retorna lote }
Gettok('Delphi Rulla a lote',0,32) { retorna 4 }
Gettok('Delphi;Rulla;a;lote',1,59) { retorna Delphi }

Lembrando que chr(32) = ' '
e chr(59) = ';'
  ------------- Gettok By Psychlo ------------------
}

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 14/01/05
Por: Psychlo
Visualizada: 3000 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009