[Tipy a Triky] Rozdělení řetězce dle oddělovače

PříspěvekNapsal: 28.02.2008 12:59
od michal.stepanek
Pokud by někdo potřeboval vytáhnout část textu z řetezce, slepil jsem z nouze následující funkci:
Kód: Vybrat vše
 function mySplit(source:String;delimiter:string;num:integer): Variant;
var i,lastP,pst:integer;
    rest : String;
begin
  rest := source+delimiter;
  for i := 1 to num do
  begin
    pst := Pos(delimiter, rest);
    Result := Copy(rest, 1, pst);
    rest := copy(rest, pst+length(delimiter), Length(rest)-pst);
    lastP := pst;
  end;
end;

Použití např. druhý řádek z Poštovní adresy (odděleno řádkováním)
Kód: Vybrat vše
Value := trim(mySplit(Organizace_82['PostovniAdresa'],chr(10)+chr(13),2));


Jakékoliv připomínky k funkčnosti nebo syntaxi jsou vítány, neb Pascal není moje zbraň. :lol: