Разное
Облака / Clouds
The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Как удалить не пустой каталог
Категория: Файловая система
Категория: Файловая система
Упаковать *.mdb-файл
Категория: Базы данных
Категория: Базы данных
Программно скрыть MainMenu
Категория: Компоненты
Категория: Компоненты
Автоматическое определения кодировки текста
Категория: Текст и строки
Категория: Текст и строки
Добавить данные в EXE файл и получить их
Категория: Файловая система
Категория: Файловая система
Округление в меньшую сторону
Категория: Математика
Категория: Математика
Упаковать BD Accuracer
Категория: Базы данных
Категория: Базы данных
Процедуры и функции для рабты с файлами
Категория: Файловая система
Категория: Файловая система
Получить короткий путь файла (изменив русские буквы) если есть длинный и на оборот
Категория: Файловая система
Категория: Файловая система
Округление в большую сторону
Категория: Математика
Категория: Математика
Delphi - Справочник: TStringList
TStringList
|
type TStringList; |
Тип (Unit Classes)
|
Содержит список переменной длины, состоящий из строк
|
Описание:
|
TStringList - полезный тип класса. Он чрезвычайно полезен для многих видов обработок списков. Элементы в строковом списке могут быть вставлены, перемещены и отсортированы. Список может быть сформирован строка за строкой, или загружен из большой строки разделенной запятой или даже из текстового файла. TStringList происходит от TStrings. Вы можете использовать и TStrings, но это не рекомендуется, так как он не полный - некоторые из его методов абстрактны. TStringList осуществляет эти абстрактные методы (Clear, Delete и Insert). Мы рассмотрим основные свойства и методы TStringList, включая полученные из TStrings. Свойство Count Возвращает число строк в списке. Свойство Capacity Устанавливает или получает текущую вместимость строкового списка. Вы можете управлять этой вместимостью по необходимости. Свойство Strings Получает или корректирует строку по данному индексу в списке (первый элемент списка имеет индекс 0). Обратите внимание, что свойство Strings является свойством, заданным по умолчанию. Это означает, что вы можете использовать его без его указания: myName := names.Strings[4]; является эквивалентным: myName := names[4]; Свойство Text Устанавливает или получает список в виде большой строки. Эта строка будет содержать каждую строку закончивающуюся комбинацией символов перевода каретки и перевода строки (CRLF). Полезно для загрузки из визуального объекта, который может содержать многочисленные строки текста. Свойство CommaText Получает или устанавливает список в виде большой строки. Эта строка будет иметь список строк разделенных запятыми. Это полезно для загрузки из экспорта текстовой электронной таблицы. Если при получении строка содержит вложенные пространства, то она будет заключена в двойные кавычки. Cвойство DelimitedText Получает или устанавливает список через большую строку. Эта строка содержит список строк разделенных значением Delimiter (по умолчанию - запятая). Строки, содержащие вложенные пробелы должны быть заключены в QuoteChar (по умолчанию - "). Свойство QuoteChar Используется для замыкания строк, которые имеют вложенные пробелы при использовании DelimitedText. Свойство Delimiter Используется для разделения строк при использовании DelimitedText . Свойство Names Строки в строковом списке могут быть обработаны, как пары название/значение, как во втором примере кода. Каждая строка не должна иметь никаких внедренных пробелов, и содержать знак =. Это очень полезное понятие. См. свойства Value и ValueFromIndex, и метод IndexOfName. Свойство Values Возвращает значение для данного названия, когда используются строки пары название/значение (см. выше). Свойство ValueFromIndex Возвращает значение по индексу строки (начинается с 0), когда используются пары название/значение. Свойство CaseSensitive Когда true, Delphi обрабатывает строки чувствительно к регистру при выполнении некоторых операций, таких как Sort. Свойство Duplicates Это свойство может иметь одно из следующих перечислимых TDuplicates значений: dupIgnore Игнорирует (отбрасывает) дубликаты dupAccept Позволяют дубликаты dupError Выбрасывает исключение, если имеются дубликаты Свойство Sorted Когда true, все строки будут добавляться в свою позицию отсортированной последовательности. Когда false, они будут добавляться в конец. См. также метод Sort. Свойство Objects Возвращает объект, связанный со строкой по данному индексу, если он существует. Метод Add Добавляет данную строку в список, возвращая ее позицию в списке (начинается с 0). Метод Append Так же как и Add, но без возвращения индексного значения. Метод Insert Вставляет строку в заданную индексом позицию. Позиция 0 вызовет вставку в начало. Метод Delete Удаляет строку по данному индексу. Метод Clear Удаляет все строки из списка. Метод Move Перемещает строку из одной позиции в другую, сдвигая другие строки соответственно. Метод Exchange Перестанавливает две строки в списке, идентифицированные по их индексным позициям. Метод IndexOf Получает индекс позиции строки в списке соответствующей данной строке. Если строка не найдена, то возвращается -1. Метод IndexOfName Получает индекс позиция первой пары название/значение строки, где название соответствует данной строке. Если не найдена - возвращается -1. Метод Find То же самое, что и IndexOf, но с использованием списков сортированных строк. Метод Sort Если Sorted является ложным, то это вызовет сортировку списка. Метод AddStrings Добавляет строки из другого списка. Метод Assign Заменяет текущий список содержанием другого списка. Метод LoadFromFile Очень полезный метод, загружает строковый список из текстового файла. Каждая текстовая строка (законченая CRLF - см. DelimitedText) становится строкой списка. Метод SaveToFile Сохраняет строковый список в текстовый файл. |
Пример кода: Пример
|
//Пример кода : Простой пример var animals : TStringList; // Определение нашей переменной списка строк i : Integer; begin // Определение объекта списка строк, и указание нашей переменной на него animals := TStringList.Create; // Теперь добавляем несколько названия в наш список animals.Add('Cat'); animals.Add('Mouse'); animals.Add('Giraffe'); // Теперь показываем этих животных for i := 0 to animals.Count-1 do ShowMessage(animals[i]); // animals[i] эквивалентно animals.Strings[i] end; //Пример кода : Использование строк название-значение var names : TStringList; // Определение нашей переменной списка строк ageStr : String; i : Integer; begin // Определение объекта списка строк, и указание нашей переменной на него names := TStringList.Create; // Теперь добавляем несколько названия в наш список names.CommaText := 'Neil=45, Brian=63, Jim=22'; // И теперь находим возраст Брайена ageStr := names.Values['Brian']; // Показ этого значения ShowMessage('Возраст Brian'а = '+ageStr); // Теперь отображаем все имена и значение возраста for i := 0 to names.Count-1 do begin ShowMessage(names.Names[i]+' - '+names.ValueFromIndex[i]); end; end; //Пример кода : Использование DelimitedText, Delimiter и QuoteChar var cars : TStringList; // Определение нашей переменной списка строк i : Integer; begin // Определение объекта списка строк, и указание нашей переменной на него cars := TStringList.Create; // Теперь добавляем несколько значений в наш список - используя свойство DelimitedText // с заменой управляющих переменных cars.Delimiter := ' '; // Каждый элемент списка будет разделён пробелом cars.QuoteChar := '|'; // И каждый элемент взят в '|' cars.DelimitedText := '|Honda Jazz| |Ford Mondeo| |Jaguar "E-type"|'; // Теперь показываем эти автомобили for i := 0 to cars.Count-1 do ShowMessage(cars[i]); // cars[i] эквивалентно cars.Strings[i] end;
Результат:
|
Cat Mouse Giraffe Возраст Brian'а 63 Neil - 45 Brian - 63 Jim - 22 Honda Jazz Ford Mondeo Jaguar "E-type" |