Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекцый для 1 курса-1 семестр.doc
Скачиваний:
3
Добавлен:
09.11.2019
Размер:
2.95 Mб
Скачать

Рэдагаванне радкоў

1. Функцыя Copy(S, Start, N) капіруе з радка S падрадок даў­жы­нёй N сімвалаў, пачынаючы з пазіцыі Start (параметры Start, N – ты­пу Integer).

Калі значэнне Start большае за даўжыню радка S, тады вынікам будзе пусты радок. Калі значэнне N большае, чым колькасць сімвалаў ад Start да канца радка S, тады вернецца рэшта радка S ад пазіцыі Start да канца радка.

Выкарыстанне функцыі Copy:

Прыклады.

SCopy := Copy('ABC***123', 4, 3); {SCopy='***'}

SCopy := Copy('ABC', 4, 3); {SCopy=''}

SCopy := Copy('ABC***123', 4, 11); {SCopy='***123'}

2. Функцыя Pos(Subs, S)зварочвае нумар сімвала ў радку S, па­чы­на­ю­чы з якога ў радок S уключаецца падрадок Subs (тып выніку Pos – Byte). Калі S не ўтрымлівае ў сабе Subs, тады функцыя верне 0.

Выкарыстанне функцыі Pos:

Няхай: S:='abcdef'.

Pos('de', S)  4.

Pos('r', S)  0.

3. Працэдура Delete(S, Start, N) выдаляе N сімвалаў радка S, па­чы­на­ю­чы з пазіцыі Start.

S := 'РАДОК';

Delete(S, 2, 3);  {S='РК'}

Калі Start = 0 ці перавышае даўжыню радка S, тады радок не зме­ніц­ца; калі N = 0, тады радок не зменіцца; калі N большае за рэшту радка, будзе выдалены падрадок ад Start і да канца радка S.

Выкарыстанне функцыі Delete:

Delete(S, 16, 255) – укарочваюцца радкі, даўжэйшыя за 16 сімвалаў.

4. Працэдура Insert(Subs, S, Start) устаўляе падрадок Subs у радок S, пачынаючы з пазіцыі Start.

Выкарыстанне функцыі Insert:

S:='Пачатак-канец';

Insert('сярэдзіна -', S, 9);

Атрымаем вынік: S = 'Пачатак-сярэдзіна-канец'.

Калі даўжыня радка S аказваецца пры ўстаўцы большай за аб­’­яў­ле­ную, тады радок аўтаматычна ўкарочваецца да аб’яўленай даўжыні S (абсякаецца правы канец).

5. Працэдура запаўнення FillChar(V, Len, C), дзе V – пе­ра­мен­ная любога тыпу, Len (тып Word) – лік байтаў пераменнай V, якія будуць за­поў­не­ны значэннем C (C – тыпу Byte ці Char).

Выкарыстанне працэдуры FillChar:

VAR S: STRING;

...

FillChar(S[1], 80, ' ');

S[0]:=chr(80);

Заўвага. У такім выпадку абавязкова трэба сказаць, якой даўжыні стаў радок.

Пераўтварэнне радкоў

1. Працэдура Str(V, S) пераўтварае лікавае значэнне V у радок S. Пас­ля V можа запісвацца фармат у такім выглядзе:

V:m або V:m:n,

дзе n < m, m, n – даныя цэлага тыпу; m – шырыня поля для ліку; n – ко­ль­касць знакаў пасля дзесятковай кропкі.

Для цэлых лікаў задаюць толькі поле m. Калі ж для сапраўдных лікаў за­да­юць толькі m, тады лік запішацца ў экспаненцыяльнай форме.

Выкарыстанне працэдуры Str:

Str(6.66:8:2, S);  {S=' 6.66'}

Str(6.66:8:0, S);  {S=' 7'}

Заўвага. Калі m > 0, тады лік выраўноўваецца па правым краі, а калі m < 0, тады выраўноўванне адбываецца па левым краі, а лішкі як бы сці­ра­юц­ца: Str(6.66:-8:2, S);  {S='6.66'}.

VAR F, n : Integer;

S : STRING;

...

F:=-5; n:=1;

Str(-123.426:F:n,S); {S='-123.5'}

Str(6.66:8:2, S); {S=' 6.66'}

2. Працэдура Val(S,V,ErrorCode) пераўтварае значэнне радка S у ве­лі­чы­ню цэлалікавага ці сапраўднага тыпу і запісвае ў лікавую пе­ра­мен­ную V. Пераменная ErrorCode – тыпу Integer. Калі пераўтварэнне маг­чы­ма, тады пераменная ErrorCode роўная 0, у адваротным выпадку яна мае нумар сімвала ў радку S, на якім працэдура спынілася.

Выкарыстанне працэдуры Val:

VAR V:Longint;

S:='14.2E+2'; Val(S,V,C); {V=1420; C=0}

S:='14.2A+2'; Val(S,V,C); {V=?; C=5}