Программирование в Delphi. Барков И.А - 12 стр.

UptoLike

Составители: 

12
б) в файл (создавая поток и вызывая два предыдущих метода):
procedure LoadFrornFile (const FileName: strings-procedure SaveToFile(const FileName: string);
в) в данные в формате текстового редактора (подряд расположенные строки, оканчивающиеся
парой символов CR/LF (16-ричные коды SOD/SOA)).
procedure AddScrings(Strings:
TStrings! ;
Добавляет в конец набора другой набор Strings.
procedure Assign!Source: T'Persisier-t l
;
Уничтожает прежнее содержимое набора и подставляет вместо
него Source, если источник имеет тип TStrings. В противном
случае возникает исключительная ситуация EConvertError.
При этом метод function GetText: PChar; выгружает строки в единый массив, где они разделены
парами символов CR/LF; в конце такого массива ставится нулевой байт. Размер массива не может пре-
вышать 65520 байт; поэтому строки выгружаются до тех пор, пока их суммарная длина не превосходит
этого значения.
Метод procedure SetText(Text: PChar); читает строки из массива Text. Строки в массиве должны
быть отделены друг от друга парой символов CR/LF; допускается и один символ LF (16-ричный код
$ОА). Символы с кодами 0, $lA(<Ctrl>+<Z>) воспринимаются как конец текста. При этом прежнее со-
держимое набора уничтожается.
Класс TStringList
Этот класс объединяет в себе свойства TStrings и TList простейшим способомуказатель на
объект и соответствующая строка объединяются в запись, указатель на
которую хранится в списке. В
классе переопределены многие виртуальные методы TStrings: Add, Clear, Delete, Exchange, IndexOf,
Insert; он является полностью функциональным и вы можете создавать экземпляры TStringList в своей
программе для работы с наборами строк и объектов (помимо тех, которые уже есть в компонентах).
Кроме унаследованных от TStrings, определены дополнительно полезные методы и свойства:
function Find(const S: string; var Index:
Integer): Boolean;
Метод ищет в наборе
строку S и в случае успеха возвращает
результат True, а в параметре Index — ее индекс.
property Sorted: Boolean; Свойствопризнак отсортированности элементов (сортиров-
ка осуществляется через посимвольное сравнение строк). Уста-
новка Sort := True вызывает процедуру сортировки, которую
можно вызвать и явно при помощи метода:
procedure Sort; Попытка добавить или вставить элемент в отсортированный
список вызывает исключительную ситуацию EListError; в этом
случае до выполнения действия свойству Sorted нужно присво-
ить значение False.
property Duplicates: TDuplicates; TDu-
plicates = (duplgnore, dupAccept,
dupError);
Свойство определяет, что происходит при попытке добавить в
список дубликат уже имеющейся строки: duplgnore — добав-
ление игнорируется (отклоняется); dupError — добавление при-
водит к созданию исключительной ситуации EListError; dupAc-
cept — одинаковые строки разрешены. В этом случае при поис-
ке в неотсортированном списке не определено, которая из
строк будет найдена первой.
       б) в файл (создавая поток и вызывая два предыдущих метода):
       procedure LoadFrornFile (const FileName: strings-procedure SaveToFile(const FileName: string);
       в) в данные в формате текстового редактора (подряд расположенные строки, оканчивающиеся
парой символов CR/LF (16-ричные коды SOD/SOA)).
procedure AddScrings(Strings:            Добавляет в конец набора другой набор Strings.
TStrings! ;
procedure Assign!Source: T'Persisier-t l Уничтожает прежнее содержимое набора и подставляет вместо
;                                        него Source, если источник имеет тип TStrings. В противном
                                         случае возникает исключительная ситуация EConvertError.



        При этом метод function GetText: PChar; выгружает строки в единый массив, где они разделены
парами символов CR/LF; в конце такого массива ставится нулевой байт. Размер массива не может пре-
вышать 65520 байт; поэтому строки выгружаются до тех пор, пока их суммарная длина не превосходит
этого значения.
        Метод procedure SetText(Text: PChar); читает строки из массива Text. Строки в массиве должны
быть отделены друг от друга парой символов CR/LF; допускается и один символ LF (16-ричный код
$ОА). Символы с кодами 0, $lA(+) воспринимаются как конец текста. При этом прежнее со-
держимое набора уничтожается.

                                             Класс TStringList

         Этот класс объединяет в себе свойства TStrings и TList простейшим способом — указатель на
объект и соответствующая строка объединяются в запись, указатель на которую хранится в списке. В
классе переопределены многие виртуальные методы TStrings: Add, Clear, Delete, Exchange, IndexOf,
Insert; он является полностью функциональным и вы можете создавать экземпляры TStringList в своей
программе для работы с наборами строк и объектов (помимо тех, которые уже есть в компонентах).
         Кроме унаследованных от TStrings, определены дополнительно полезные методы и свойства:
 function Find(const S: string; var Index: Метод ищет в наборе строку S и в случае успеха возвращает
 Integer): Boolean;                        результат True, а в параметре Index — ее индекс.

property Sorted: Boolean;             Свойство — признак отсортированности элементов (сортиров-
                                      ка осуществляется через посимвольное сравнение строк). Уста-
                                      новка Sort := True вызывает процедуру сортировки, которую
                                      можно вызвать и явно при помощи метода:

procedure Sort;                       Попытка добавить или вставить элемент в отсортированный
                                      список вызывает исключительную ситуацию EListError; в этом
                                      случае до выполнения действия свойству Sorted нужно присво-
                                      ить значение False.
property Duplicates: TDuplicates; TDu- Свойство определяет, что происходит при попытке добавить в
plicates = (duplgnore, dupAccept,      список дубликат уже имеющейся строки: duplgnore — добав-
dupError);                             ление игнорируется (отклоняется); dupError — добавление при-
                                       водит к созданию исключительной ситуации EListError; dupAc-
                                       cept — одинаковые строки разрешены. В этом случае при поис-
                                       ке в неотсортированном списке не определено, которая из
                                       строк будет найдена первой.




                                                 12