× Aktuálně z oboru

Konference Game Developers Session! [ clanek/2017060600-konference-game-developers-session/ ]
Celá zprávička [ clanek/2017060600-konference-game-developers-session/ ]

Funkce pro práci s řetězci

[ http://programujte.com/profil/20356-lubos-uhliarik/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       11. 4. 2006       17 912×

Tento díl je věnován funkcím pro práci s řetězci v Delphi.

V tomto díle tipů a triků v Delphi se budeme zabývat různými funkcemi pro práci s řetězci. Začneme funkcemi, které nám rozdělí text na určité části. Myslím si, že tyto funkce jsou velmi důležité a budou se vám určitě někde hodit. Nejprve si musíme vložit do uses unit StrUtils. A teď vám ukážu funkce, které nám budou rozdělovat různé řetězce. Jako příklad uvedu funkci LeftStr, která se provede po stisku tlačítka:


procedure TForm1.Button1Click(Sender: TObject);
var
  s:string; //řetězec, který budeme dělit na části
  NewStr:String; //řetězec, který vznikne s předešlého řetězce
Begin

  NewStr := LeftStr(s,4);
  //když proměnná s bude "notebook", tak nám funkce LeftStr vrátí řetězec "note"

  ShowMessage(NewStr);
  //vyhodí se nám hláška s novým řetězcem
end;

Popis funkce

Jak už jste si určitě všimli, tak do prvního parametru vkládáte text, který chcete rozdělit. A druhý parametr slouží na to, kolik řetězců se má z levé části řetězce oddělit. Obdobná funkce funkci LeftStr je funkce RightStr. Ta jako LeftStr taky rozkládá text na části, ale z prava. No a třetí funkce je MidStr, která nám rozdělí text od nějakého písmene. Příklad:


procedure TForm1.Button1Click(Sender: TObject);
var
  s:string; //řetězec, který budem dělit na části
  NewStr:String; //řetězec, který vznikne s předešlého řetězce
Begin

  NewStr := MidStr(s,3,4);
  //když proměnná s bude "notebook", tak nám funkce MidStr vrátí řetězec "tebo"
  
{První parametr je řetězec, který chceme rozdělit. Druhý parametr je od kolikátého znaku v řetězci se začne rozdělovat. A třetí parametr je kolik znaků se bude brát}

  ShowMessage(NewStr);
  //vyhodí se nám hláška s nový řetězcem
end;

To je vše k funkcím na rozdělení textu. Jako poslední vám ukážu funkce ParamStr a ParamCount. Pro tyto funkce už nemusíte mít v uses unit StrUtils. Funkce ParamStr nám vrátí parametr, se kterým se soubor spouští. ParamCount nám udává, kolik je parametrů. Toto můžeme využít např. když bychom chtěli otevřít textový soubor v našem editoru, tak aby se otevřel hned, jak poklikáme na textový soubor. Příklad:


procedure TForm1.FormCreate(Sender: TObject);
//při vytvoření Form1

Begin

  If ParamStr(1) <> ' ' then begin
    Memo1.lines.LoadFromFile(ParamStr(0));
  end;
//když bude nějaký parametr, tak se otevře soubor

end;

Můžeme si to hned ověřit jestli to bude fungovat. Najděte si někde na disku textový soubor. Dejte otevřít v programu. Teď zvolte “zvolit program“. A najděte si náš exe soubor tam, kde máte uložený tento příklad. Soubor se vám otevře se vašem programu. To je konec dnešního dílu. Příště se budeme zabývat sítěmi.


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2006040604-funkce-pro-praci-s-retezci/ ].