Тип  String  интерпретируется  компилятором  Object  Pascal  по-разному,  в  зависимости  от  значения  директивы  компилятора  $H.  Если  она  включена  –  {$H+}  –  то  тип  String  интерпретируется  как  AnsiString,  если  нет  –  {$H-}  –  то  как  ShortString.  По  умолчанию  действует  директива  {$H+}.

Если  в  разделе  описаний  указано,  например  String[10],  то  независимо  от  директив  компилятора  тип  трактуется как  ShortString  с  указанным  числом  символов.

Тип  WideString  также  представляет  собой  динамически  размещаемые  в  памяти  компьютера  строки,  длина  которых  ограничена  только  объёмом  свободной  памяти  компьютера.  Однако  в  отличие  от  строки  типа  AnsiString  каждый  символ  является  Unicode-символом,  т. е.  кодируется  2  байтами.

Пример  43.  В  строке  ′Ivanov I.′  дописать  полностью  имя  (Ivan).

var  s : ansistring;

begin

s:='Ivanov  I.';

setlength(s, 12);

s[9]:='v';  s[10]:='a';  s[11]:='n';  s[12]:='.';

НЕ нашли? Не то? Что вы ищете?

writeln(s); 

readln;

end.

Стандартные  подпрограммы  для  строк.

function  AnsiCompareStr(const  S1, S2 : string): integer;

Сравнивает  две  строки  S1  и  S2  в  кодировке  Ansi  с  учётом  регистра.  Возвращает  значение  меньше  0,  если  S1<S2,  0,  если  S1=S2,  и  больше  0,  если  S1>S2.  В  русифицированных  версиях  Widows  может  быть  применена  к  строкам,  содержащим  русские  буквы.

function  AnsiCompareText(const  S1, S2 : string): integer;

Полностью  аналогична  предыдущей  функции  за  исключением  того,  что  сравнение  символов  осуществляется  без  учёта  регистра.

function  AnsiLowerCase(const  S : string): string;

Возвращает  в  кодировке  Ansi  строку  S,  преобразованную  к  нижнему  регистру.  В  русифицированных  версиях  может  быть  применена  к  строкам,  содержащим  русские  буквы.

function  AnsiPos(const  Substr,  S : string): integer;

Возвращает  позицию (индекс)  первого  вхождения  Substr  в  S.  Если  Substr  не  входит  в  S,  то  возвращается  0.  В  русифицированных  версиях  Windows  может  быть  применена  к  строкам,  содержащим  русские  буквы.

function  AnsiUpperCase(const  S : string): string;

Возвращает  строку  S  в  кодировке  Ansi,  преобразованную  к  верхнему  регистру.  В  русифицированных  версиях  Windows  может  быть  применена  к  строкам,  содержащим  русские  буквы.

function  Concat(S1, S2…SN : string): string;

Возвращает  строку,  представляющую  сцепление  строк  S1, S2… SN.  Идентична  операции  +  для  строк.

function  Copy(S;  Index, Count: integer): string;

Параметр  S  –  это  строка  типа  string  или  динамический  массив.  Функция  Copy  возвращает  подстроку  строки  S,  начинающуюся  с  символа  с  номером  Index  и  содержащую  Count  символов.

procedure  Delete(var  S : string;  Index, Count : integer);

Удаляет  из  S  подстроку,  начинающуюся  с  символа  с  номером  Index  и  содержащую  Count  символов.

procedure  Insert(Substr : string;  S : string;  Index : integer);

Вставляет  строку  Substr  в  S,  начиная  с  символа  с  номером  Index.

function  Length(S : string): integer;

Возвращает  число  символов  в  строке  S.

function  Pos(Substr, S : string): integer;

Возвращает  позицию (индекс)  первого  вхождения  подстроки  Substr  в  строку  S.  Если  Substr  нет  в  S,  то  возвращается  0.

procedure  SetLength(var  S;  NewLength : integer);

Параметр  S  является  строкой  или  динамическим  массивом.  Процедура  устанавливает  новую  длину  NewLength  строки  S.  Если  строка  имеет  тип  ShortString,  то  значение  параметра  NewLength  должно  находиться  в  диапазоне  0..255.  Для  длинных  строк  значение  параметра  NewLength  ограничено  лишь  размерами  доступной  памяти  компьютера.  При  увеличении  длины  строки  старые  значения,  находившиеся  там,  сохраняются,  а  во  вновь  добавленных  позициях  находятся  неопределённые  значения.

function  StringOfChar(Ch : char; Count : integer): string;

Создаёт  строку,  состоящую  из  Count  раз  повторяющегося  символа  Ch.

function  Trim(const  S : string): string;

Удаляет  из  строки  S  начальные  и  завершающие  пробелы  и  управляющие  символы.

Лабораторная работа 9

Программирование с использованием файлов. Работа  с  файлами  заключается  в  записи  и  считывании  информации.  Для  того  чтобы  указать,  с  каким  элементом  будет  производиться  очередная  операция  чтения  или  записи,  существует  понятие  указателя  на  доступный  элемент  файла. После  каждого  чтения  или  записи  указатель  перемещается  на  следующий  элемент  файла.

Перед  использованием  файловой  переменной  она  должна  быть  связана  с  внешним  файлом  ( файлом  на  диске)  с  помощью  вызова  процедуры 

AssignFile(< файловая переменная>, < имя файла>);

здесь  <файловая переменная> –  имя  переменной  файлового  типа,  объявленной  в  программе;  <имя  файла> –  символьная  строка,  содержащая  имя  файла.  Если  файл  находится  в  одной  папке  с  обрабатывающей  его  программой,  то  достаточно  указать  только  имя  файла,  в  противном  случае  надо  указать  полный  путь  к  файлу,  например:

′c:\files\z1.txt′

Когда  связь  с  внешним  файлом  установлена,  его  можно  открыть  для  ввода  или  вывода  информации.  Существующий  файл  можно  открыть  с  помощью  процедуры 

Reset(<файловая  переменная>);

Процедура  reset  открывает  существующий  внешний  файл,  имя  которого  было  связано  с  файловой  переменной.  Если  внешний  файл  с  указанным  именем  отсутствует,  то  возникает  ошибка  периода  выполнения  программы.  Если  файл  уже  открыт,  то  он  сначала  закрывается,  а  затем  открывается  вновь.  Файловый  указатель  устанавливается  на  элемент  файла  с  порядковым  номером  0.

Текстовый  файл,  открытый  процедурой  reset,  доступен  только  для  чтения.  Для  типизированных  и  нетипизированных  файлов,  открытых  процедурой  reset,  допускается  выполнять  операции  чтения  и  записи  в  файл.

Новый  файл  можно  создать  и  открыть  для  записи  с  помощью  процедуры 

Rewrite(<файловая  переменная>);

Процедура  rewrite  создаёт  новый  файл,  имя  которого  связано  с  файловой  переменной.  Если  файл  с  указанным  именем  уже  существует,  то  он  удаляется  и  на  его  месте  создаётся  новый  пустой  файл.  Текущая  позиция  в  файле  устанавливается  на  начало  файла,  т. е.  указатель  будет  указывать  на  элемент  с  порядковым  номером  0.

Если  процедура  rewrite  открывает  текстовый  файл,  то  он  становится  доступным  только  для  записи.  Для  типизированных  и  нетипизированных  файлов,  открытых  процедурой  rewrite,  допускается  выполнять  операции  чтения  и  записи  в  файл.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9