- •Delphi функции для работы с файлами
- •Работа с дополнительными формами Delphi
- •Работа с дополнительными формами Delphi
- •Форма Form1 содержит вызов формы Form2, которая объявлена в модуле Unit2, но который отсутствует в списке используемых модулей. Вы хотите добавить его?
- •Создание собственных процедур и функций Delphi
- •Пример. Вычисление факториала
- •Урок Delphi 10 Обработка исключительных ситуаций в Delphi
- •Компоненты Delphi Урок 11 Обзор палитры компонентов Delphi
- •Страница Standart
- •Страница Standart
- •Страница System
- •Страница System
- •Компонент Delphi Timer
- •Урок Delphi 12 Работа со строками Delphi
- •StringList Delphi - работа со списком строк
- •Обзор алгоритмов сортировки
- •Модификация: Алгоритм сортировки вставками и его реализация в Delphi
- •Урок Delphi 13 Создание интерфейса пользователя
- •Урок Delphi 14: Мультимедийные возможности Delphi Графика в Delphi
- •Потоки в Delphi Организация многопоточной работы в Delphi
- •Применение потоков
- •Особености взаимодействия потоков с объектами vcl
- •Использование метода Synchronize при работе с потоками
- •Компоненты Delphi Динамическое создание компонентов в Delphi
- •С чего начать изучение программирования?
Урок Delphi 12 Работа со строками Delphi
Работа со строками Delphi позволяет извлечь из строки необходимую информацию и представить её в нужном виде. Система предоставляет весь спектр необходимых функций для работы со строками Delphi и преобразования строк Delphiв необходимые форматы:
Непосредственно сами строки Delphi поддерживают единственную операцию, так называемую операцию конкатенации, то есть присоединения. Несмотря на "научное" название, операция конкатенации выполняет очень простую процедуру. С помощью операции конкатенации одна строка присоединяется к другой: var S, S1, S2: String; begin S:=S1+S2; end; Результирующая строка S будет суммой двух слагаемых строк. Длина строки, то есть количество символов в строке, возвращается встроенной функцией function Length(S: String): Integer; Delphi работает со строками типа String, в котором длина строки записывается в начале строки, перед первым символом. Поэтому индекс первого символа в строке не 0, а 1. То есть, если: S:='Строка типа String'; то S[1] - символ 'С', S[2] - символ 'т', последний символ в строке - S[Length(S)], равный 'g'. Однако часто приходится иметь дело со строками типа PChar, которые использует операционая система Windows. В строках типа PChar длина строки определяется специальным символом конца строки - #0. Поэтому для использования функций Windows тип String необходимо предварительно переводить в тип PChar. Преобразование типа String в тип PChar выполняет функция function PChar(S: String): PChar; Для полноценной работы со строками Delphi используются следующие стандартные процедуры и функции: Функции преобразования в числовой формат и обратно Выполняя вычисления, используем для ввода данных и отображения результатов следующие функции, работающие со строками Delphi:
Процедуры и функции преобразования дат и времени Сначала собственно функции, предоставляющие информацию о текущих дате и времени:
Далее, функции, работающие с составляющими даты и времени (год, месяц, число, день недели, часы, минуты, секунды и даже миллисекунды):
Наконец, собственно, функции, переводящие дату и время из формата TDateTime в строчный формат:
Следующие функции работают с параметрами возвращаемой строки. Функции с приставкой Ansi работают в том числе и скириллическими символами. Если символы в строках предполагаются исключительно латинские, то можно использовать аналогичные функции, но без приставки Ansi:
Следующие функции сравнивают две строки между собой:
Следующие функции осуществляют поиск в текущей строке подстроки, вставляют, удаляют или заменяют подстроку:
Наконец, функция копирования части строки:
Помимо прочего, эту функцию можно использовать для вывода нецелого числа с нужным количеством цифр после запятой. Для этого, сначала получаем строку из числа формата Real, затем находим функцией Pos позицию запятой в этой строке, прибавляем нужное количество и копируем в результат это количество символов. Вот готовая функция: function RealToStr(X: Real; Count: Integer): String;//Count - количество цифр после запятой var S: String; N: Integer; begin S:=FloatToStr(X); //после запятой - длинная последовательность цифр //DecimalSeparator - константа, содержащая истинный разделитель целой и дробной частей числа N:=Pos(DecimalSeparator, S); //позиция запятой в строке //вычисляем длину строки с нужным количеством знаков после запятой: if N=0//если в строке нет запятой - это целое число, и then N:=Length(S)//тогда просто выводим это число else N:=N+Count;//иначе вычисляем длину строки Result:=Copy(S, 1, N);//копируем часть строки в результат end; Или вот, к примеру, текст модуля, обеспечивающего ввод в компонент Edit только чисел. |
