Karakter és sztring adattípusok

Karakter és sztring adattípusok

Tehát a számok megértettük. Ez volt a fordulat a szöveget. Delphi manipulálja szöveges adatok az egyes karakterek, valamint olyan szekvenciákat szimbólumok - vonalak.

Itt kell, hogy egy kis kitérőt a bemutatót. Az a tény, hogy a szöveg adattároló téma kiterjedt, mind számát és összetettségét. Ha azonnal dump egy egyszerű kanna fej teljes egészében, ez egy kicsit, hogy megértsék, és valószínűleg összezavarodnak. Ezért fogunk eljárni, ahogy az iskolában a fizika órák. Kezdetben a fizika törvényei magyarázata egyszerű módon, abban a formában a newtoni mechanika, majd jóval később, kezdjük mesélni a mesemondó relativisztikus Einstein, és látjuk, hogy az eredeti világ csak egy egyszerűsített ábrázolása a valós képet a világ. Ugyanez történik itt.

Adat típus Char

Base adattípus (amely azon alapul, amit az összes többi szöveg adattípusok) - Char. Char típusú változó tárolhat egyetlen karakter, az egyik egy sor 256 karakter lehet. Minden karakter saját kódját. Valójában a számítógép működik nem szimbólumok (ő nem tudja, hogy mi az) és a karakter kódok. Például, ha a nyomtatást egy karaktert egyedi kódot, hogy keres egy grafikus karakter képet a karakter képe táblázat egy adott számot, majd megjeleníti a grafikus kijelzőn megjelenített kép. Szimbólumok össze lehet hasonlítani egymással egyenlőség és meghatározni, hogy melyik nagyobb vagy kisebb, akkor a számítógép újra le nem a karakterek és azok kódjait.

Körül a szimbólum táblát lehet leírni, mint ez. Kezdetben különböző szolgáltatási vezérlő karakterek, amelyeknek nincs grafikus ábrázolása. Például ez a tab karaktert, kocsi vissza, soremelés, stb Akkor menj írásjelek '!', '?', '' stb További vannak számjegy '1', '2', '3', stb A következő betű az angol ábécé „A”, „B”, „C”. 'Z', 'a', 'b', 'c'. 'Z'. Kerekítés a táblázat a nemzeti ábécé betűit „A”, „B”, „B”. 'I', 'a', 'b', 'az'. 'I'.

Meg kell jegyezni, hogy van egy csomó karaktereket. Különböző rendszerek különféleképpen értelmezik a karakter kódok azon egyszerű oknál fogva, hogy azok által vezérelt különböző szimbólumok táblázatokat. Ebben opus fogjuk használni a szimbólum táblát az úgynevezett Windows kódlap 1251 (Cirill). Ez karaktertáblázata cirill Microsoft Windows rendszeren. Ez azt jelenti, hogy a Windows rendszer, minden karakter egy egyedi kódot kell értelmezni, ugyanúgy minden programhoz, kivéve persze azokat nem hajtják végre néhány saját, egyedi jellegét feldolgozás.

Mint már említettük, a változó karakter típusú tartalmazhat egyetlen karaktert, hanem két vagy három, stb Példa a típus Char:

Ez a program meghatározza az értékét a Char érték szimbóluma „Z”, majd megjeleníti azt a konzolon.

De ez a program nem kell összeállítani a fordító, mert a fordítási hibákat. Egy változó lehet hozzárendelni értéke csak egy szimbólum.

manipulálása vonalak

Az alábbiakban a legfontosabb, a leggyakoribb műveleteket lehet végezni szálakat. Alapvetően az összes műveleteket hajtja végre a funkciók a standard könyvtár.
  • értékadásra másik vonal, vagy sztring konstansok
  • megszerzése a karakterláncot
  • fogadó vonal hossza (karakterek számát soronként)
  • megszerzése az érték egy adott szimbólum (szimbólum található, egy adott sorban helyzetben)
  • változó értékét egy adott karakter egy húr
  • fúziós (összefűzés) két vagy több vonal
  • substring egy húr kiválasztási
  • helyezzen egy sort egy másik
  • egy részét eltávolítjuk a húr
  • helyzetének meghatározására az előfordulása egy húr a másikba
  • betûváltáshoz
  • szöveg összehasonlítás egyenlőségre vagy több / kevesebb
Amellett, hogy ezek a műveletek, rengeteg egyéb, speciális, de róluk később.

Fut egy kicsit előre meg kell jegyezni, hogy sok a művelet kerül végrehajtásra húrok segítségével a különböző rutinok. Alprogram - egy darab kódot, amely egy azonosító és fel lehet hívni arra, hogy végezze el minden feladatot. Gyakran a rutin szeretne küldeni valamelyik paramétert. Mivel a használt paraméterek bármelyik kifejezés vagy bármi azonosító. Például, egy azonosítóját egy változó vagy konstans. Rutinok vannak osztva eljárások és függvények. A különbség a kettő között csak a jelenlétében a visszaadott eredmény. Funkciók eredményét adja vissza a program végrehajtásáról és az eljárás nem járt eredménnyel, csak hogy végre bizonyos intézkedéseket. Például Sin - funkció, amely kiszámítja a szinusz értéke átadott paramétert, és visszatér a számítás eredménye, mint a valós érték. Ezzel szemben WriteLn Ez olyan eljárás, amely nem ad vissza semmilyen értéket, de olyan műveletet hajt végre - kimeneti értékeket a paraméterek átadott a konzolra. Eljárásokat nevezik a következőképpen:

Eljárás_neve (paraméter1, paraméter2 ParametrN.);

A függvényhívás lehet használni minden olyan kifejezést (annak computing). Továbbá, a függvényhívás lehet használni egy értékadás rendelni bármelyik változó függvény eredménye.

Varname = FunctionName (paraméter1, paraméter2 ParametrN.);

Ha értéket vonal, megszerzése tartalmát a húr

String változó lehet állítani, mint bármely más változó. Az egyetlen korlátozás, hogy az érték a típus lehet: String vagy Char (azaz egy karakter, de egy sor hossza 1).

Beszerzése és telepítése egy új sor

A karakterlánc lehet elérni az index (pozícióját a sorban). Index az első karakter a string 1. Az utolsó karaktere a string index megegyezik az eredmény hossza függvényhívás, ami a szöveg lesz átadva paraméterként. Megjegyezzük, hogy az index az első karaktere 1 és 0 általában nem történik a különböző adatstruktúrák, amelyek sok olyan elemet tartalmaznak (általában több, mint egy). Amikor megpróbál hozzáférni a szimbólum index kisebb, mint 0, vagy nagyobb hosszúság (string azonosító) akkor futásidejű hiba.

Format eléréséhez karaktersorozatot:
S [I]
. ahol S - az azonosító egy string változó, és én - egy karakter index.

A expresszióját formájában S [I], ahol S - az azonosító string változó, olyan eredményt ad vissza típusú Char.

Példa hozzáférést a karakterlánc az index:

Fel kell tüntetni az alábbiakat:

Egyesítése két sor (összefűzés)

Sorok adhatunk a numerikus változók a + operátor. Az eredmény kívül hosszabb karakterlánc, amely magában foglalja a tartalmát mind sorok sorrendjében kerülnek alkalmazásra az hozzátéve működését. Van is egy függvény, amely végrehajtja Concat pontosan ugyanaz a funkciója, mint +.

A formátum működését összefűzése két húrok. ahol A - azonosítója egy sort vagy string kifejezés, és B - azonosítója egy másik sorban, vagy karakterlánc-kifejezés.

Eredmény kimenet a következő legyen:

Izolálása részkarakterláncként egy húr

A konzol meg kell jeleníteni az alábbiak szerint:

Beszúrása egy sort egy másik

Beszúr sorok végrehajtott eljárást. Az eljárás veszi input három paraméter: a húr, hogy szeretne szúrni egy sort, amelyben a csatlakozást és a pozíció kell tenni, hogy a behelyezés kell tenni. Hívás formátum:

Beszúrása (Forrás, Target, pozíció);
  • Forrás - a húr kell beilleszteni
  • Cél - azonosító string változót, amibe a tartalmát a forrás
  • Pozícióban - a helyen, ahova beilleszti a tartalmát a forrásból a cél

Kérjük, vegye figyelembe, hogy ez nem egy függvény, hanem egy eljárás. Ez nem ad vissza eredményt, és nem módosítja a cél. Másik jellemzője a használata az eljárás nem függvénye az, hogy a cél lehet továbbítani csak a változó azonosítója, de ez lehetetlen átvinni a kifejezést, vagy azonosító állandók. Insert eljárás rendeli az eredményt a Target, és rendeljen hozzá egy állandó vagy kifejezés nem lehet definíció szerint.

  • Ha Pozíció kevesebb, mint 1, akkor a folyamat, hogy 1.
  • Ha több, mint pozíció Hosszúság (Target), akkor a tartalmát a forrás hozzáadjuk a vége Cél.
  • Ha a forrás egy üres karakterlánc, Insert nem csinál semmit
Példa használat beszúrása

A karakterlánc által megjelenített program futtatása:

Egy sor egy részét is el lehet távolítani eljárások törlése. Hívjon formátum törlése eljárás:

Törlés (Target, Index, Count);
. ahol cél - azonosító string változó, amelyből karakterek eltávolítása, Index - olyan helyzetbe eltávolítását végzik, gróf - a karakterek számát törölni.
  • Ha az index kisebb, mint 1, vagy nagyobb, mint Hosszúság (Target), akkor sem a cél nem kerül eltávolításra.
  • Ha Count meghatározza több karakter, mint ott kezdik Index, a karakterek eltávolításra kerülnek az Index, amíg a sor végére. Ha száma kevesebb, mint 1, akkor semmi sem törlődik.
Példa a Törlés:

Az eredmény kimenet: Hariends

Meghatározása a helyzet előfordulása egy húr a másikba

Néha szükség van annak megállapítására, hogy egy húr tartalmaz egy másik, valamint a pozíció, ahonnan a tartalmát a húrok egyezik. Erre a célra Pos függvény. Hívás formátum:

Pos (substr, Str). ahol Str - egy szöveget kell keresni substr. A függvény visszaküldi a helyzet a bejegyzés eredményeként. Ha substr karakterlánc nem tárolja Str, a funkció eredmény egyenlő 0. funkció betűkkel - a nagy és kicsi, azaz töredékszó „táncoló” meg kell találni „Mi táncoló árnyékok”, de nem található a "Mi a Dancing In Shadows.

Példa használat Pos:

Kapcsolódó cikkek