Work string (hossz, törlés, pos, másolat) - algorithmization és programozás - Abstracts,
A számítógép képes kezelni a nem csak a számszerű adatokat, hanem karaktert. Delphi nyelv működik karakter információt, ami lehet például az egyes karakterek és vonalak (cledovatelnostyu karakter).
Tárolására és feldolgozására használt szimbólumok változók ilyen Ansichar és wideChar. Ansichar típusa ANSI-szimbólumokat, ahol minden egyes szimbólum kódolt nyolc-bites bináris szám (bájt). wideChar típusa megfelel egy-egy karakter a Unicode karakterkészlet, amelyben minden egyes karakter van kódolva két bájt.
Ahhoz, hogy a kompatibilitást a korábbi verziók támogatott Char típus azonos AnsiChar.
A változó értéke karakter lehet bármely megjelenített karakter:
Magyar levél vagy latin betűkkel;
És speciális karakterek, mint például a „új sor”.
neve - a változó neve karakter típus;
char - kulcsszó kijelölése karakter.
otv: char; ch: char;
Mint minden programot típusú változók char változó kaphat az értéket eredményeként egy értékadó utasítás. Ha egy karakter változó kap értéket eredményeként az értékadó operátor jobb a jel: = kifejezés típusúnak kell lennie char, például egy változó típusú char és egy karakter konstans - a jelképe idézőjelbe.
Ennek eredményeként utasításokat c1: = „*”;
c1 változó kap értéket hozzárendelés az állandó és változó s2 - értékadás cl (feltételezzük, hogy a változók C1 és C2 változó karakter).
Egy változó típusú char össze lehet hasonlítani egy másik típusú változó char vagy karakter konstans. Az összehasonlítás alapja az a tény, hogy minden egyes karakter van rendelve egy szám (lásd a 2. melléklet), A szimbólum „a” számának felel meg kisebb, mint a szimbólum Y, a szimbólum „A” - kevesebb, mint az „a”, akkor a szimbólum V - kevesebb, mint a. Így tudjuk írni:
Magyar ábécé szimbólumok megfelelnek az szám nagyobb, mint a latin karaktereket, a következő igaz:
A szöveg a program helyett a szimbólum, akkor adja meg a kódot azáltal előtt az üzemeltető #. Például ahelyett, hogy állandó „a” írhatók # 193. Ilyen rögzítési eljárás általánosan használt rekord karakter fölött karaktereket, amelyek nem vihetők be a billentyűzet alatt egy sor programot. Például, általánosan használt írásakor a karakter „új sor” üzenet van írva, mint # 13.
A karakter információ feldolgozó programok gyakran használt funkciót chr és Rend. Chr függvény értéke a karakter, amely kód bevitele paraméterként. Például, ennek eredményeként az utasítás végrehajtása c: = CHR általános képletű (32) változó lesz beállítva, hogy a rés. ord funkció lehetővé teszi, hogy meghatározza a karakter kódját, neki átadott paraméterként. Például, ennek eredményeként az utasítás végrehajtása K: = ORD ( „*”) k változót tartalmazza a számot 42 - karakter kód *.
Ablakok, üzenetek, SysUtils, osztályok, grafika,
Controls, Forms, Dialogs, StdCtrls;
eljárás FormActivate (Sender: TObject); magán
st: = st + # 13; // az átállás az új vonal a képernyő
Form Application szimbólum táblázat csak az egyik összetevője -field tag (Label1l). Ahhoz oszlopában azonos szélességű, mint a tulajdon Label1.Font.Name rendelni betűtípus nevét, hogy az összes karakter azonos szélességű, például Courier New Cyr.
View alkalmazás ablakot működés közben ábrán látható. 3.2.
Strings leírható a következő típusok: shortstring, Longstring és widestring. Ezek abban különböznek, legnagyobb megengedett sorhosszúságot memóriafoglalási eljárás változók és karakterkódolási módszert.
Írja változó shortstring memóriát statikusan, vagyis megkezdése előtt a program végrehajtása, és a karakterek száma ilyen vonal nem haladhatja meg a 255 változó típusa Longstring widestring és memóriát dinamikusan - .. A program során, így a hossza ezeket a sorokat nem különösebben korlátozott.
Eltekintve a fenti típusú lehet használni ctrokovy univerzális String. String egyenértékű Shortstring típusát.
neve - a változó nevét;
húr - a kulcsszó string típusú megjelölés;
hossza - állandó egész típusú, amely meghatározza a maximálisan megengedhető hosszúságot a húr.
Stroka: string [255]; Stroka: string;
A program során a karaktersorozat egy string (karakterlánc konstans) zárt aposztrófok. Például rendelni egy string változó Parol értéket kell rögzíteni:
Parol: = 'nagy titok';
Használata = működését. = És a változó string típusú lehet hasonlítani egy másik változót string típusú vagy egy string konstans. Strings összehasonlítjuk karakterenként, az első karakter. Ha az összes kód húrok összehasonlított azonos, ezeket a sorokat tekinthető egyenlőnek. Ha az ugyanabban a helyzetben a vonalak különböző karakter, a legtöbb az egy sort, amely ebben a helyzetben egy karakter egy csomó kódot. Táblázat. 3.1 ábra a példák szálakat.
További összehasonlító műveletek, string változók és állandók lehet alkalmazni hozzátéve műveletet, amelynek eredményeként egy új vonalat kapunk. Például eredményeként az utasítások végrehajtásának
f irst__name: = 'Ivan';
fui_name változó lesz állítva „Ivan Ivanov”.
A Delphi nyelvben több hasznos, ha dolgoznak húrok a funkciók és eljárások. A következőkben egy rövid leírást, példákkal illusztrálva.
A hossza függvény a string hossza. Ez a funkció egy paraméter - a kifejezés a string típusú. A függvény értéke hossza (integer) a karakterek száma, amelyek a kézbe.
Például eredményeként az utasítások végrehajtásának
m: = hossz ( 'Neva tájékoztató');
értéke a változók n és m értéke 6, és 20.
törli az eljárás lehetővé teszi, hogy távolítsa el egy részét a sorban. Általában a hivatkozás ez az eljárás a következő:
törölni (String, p, n)
Húr - változó vagy állandó típusú string;
p - a karakterek számát, ahonnan indul törlése részstringjét;
N - hossza a törölt stringek.
Például eredményeként az utasítások végrehajtásának
az s értéke a húr „város St. Petersburg."
Rose funkció lehetővé teszi, hogy meghatározza a helyzetét a részkarakterláncként. Általában a függvényhívás a következő:
ahol karaktersorozat - egy string állandó vagy változó, amelyet meg kell találni egy húr állandó vagy változó vonal.
Például eredményeként utasítások
p változó értéke egyenlő 7. Ha a vonal nem kívánt részsztring funkciót rá a értéke nulla lesz.
Az alábbiakban oktatás közben, mint amelynek eredményeként a vezető lapok eltávolítják st sorban.
míg a (POS ( '', st) = 1) és a (hossz (st)> 0) nem törli (st, 1,1);
Hiányosságok eltávolítja Felhasználó törlése (st, i, i), azaz a hurok, amíg az első karakterlánc egy szóköz (ebben az esetben az érték a POS ( „”, st) egyenlő egység). Az ellenőrzés szükségességét hossza (st)> 0 miatt a lehetőségét, hogy a bemeneti sztring csak a terek.
Másolás funkció lehetővé teszi, hogy válasszon ki egy vonal. Általában a hivatkozás másolása funkció a következőképpen néz ki:
másolat (String, p, n) ahol:
karakterlánc - expressziója típusú tartalmazó karakterlánc egy string, egy fragmensét, amely eléréséhez szükséges;
p - a szám az első karakter, amely kezdődik részstringjét felszabadul;
N - hossza kiosztott substring. Például eredményeként az utasítások végrehajtásának
fam változó értékét a string „Smith”.