Функции преобразования в числовой формат и обратно
Выполняя вычисления, используем для ввода данных и отображения результатов следующие функции, работающие со строками Delphi:
функция IntToStr(N: Integer): String Преобразует целое число N в строку. |
функция StrToInt(S: String): Integer Преобразует строку S в целое число. |
функция FloatToStr(X: Extended): String Преобразует число с плавающей точкой X в строку. |
функция StrToFloat(S: String): Extended Преобразует строку S в число с плавающей точкой. |
Процедуры и функции преобразования дат и времени
Сначала собственно функции, предоставляющие информацию о текущих дате и времени:
функция Now: TDateTime Возвращает текущую дату и время. |
функция Date: TDateTime Возвращает текущую дату. |
функция Time: TDateTime Возвращает текущее время. |
Далее, функции, работающие с составляющими даты и времени (год, месяц, число, день недели, часы, минуты, секунды и даже миллисекунды):
функция DayOfWeek(Date: TDateTime): Integer Возвращает текущий номер дня недели: 1 - воскресенье, 7 - суббота. |
процедура DecodeDate(Date: TDateTime; var Year, Month, Day: Word) Разбивает дату Date на год - Year, месяц - Month и день - Day. |
процедура DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word) Разбивает время Time на час - Hour, минуты - Min, секунды - Sec и миллисекунды - MSec. |
функция EncodeDate(Year, Month, Day: Word): TDateTime Объединяет год - Year, месяц - Month и день - Day в значение типа TDateTime. |
функция EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime Объединяет час - Hour, минуты - Min, секунды - Sec и миллисекунды - MSec в значение типа TDateTime. |
Наконец, собственно, функции, переводящие дату и время из формата TDateTime в строчный формат:
функция DateTimeToStr(DateTime: TDateTime): String Преобразует дату и время DateTime в строку. |
функция DateToStr(Date: TDateTime): String Преобразует дату Date в строку. |
функция TimeToStr(Time: TDateTime): String Преобразует время Time в строку. |
Следующие функции работают с параметрами возвращаемой строки. Функции с приставкой Ansi работают в том числе и с кириллическими символами. Если символы в строках предполагаются исключительно латинские, то можно использовать аналогичные функции, но без приставки Ansi:
функция AnsiLowerCase(const S: String): String Возвращает строку S, преобразованную к нижнему регистру. |
функция AnsiUpperCase(const S: String): String Возвращает строку S, преобразованную к верхнему регистру. |
функция Length(const S: String): Integer Возвращает количество символов в строке S. |
функция Trim(const S: String): String Удаляет из строки S начальные и завершающие пробелы и управляющие символы. |
функция TrimLeft(const S: String): String Удаляет из строки S начальные пробелы и управляющие символы. |
функция TrimRight(const S: String): String Удаляет из строки S завершающие пробелы и управляющие символы. |
Следующие функции сравнивают две строки между собой:
функция AnsiCompareStr(const S1, S2: String): Integer Сравнивает две строки S1 и S2 с учётом регистра символов. Возвращает значение <0 если S1<S2, 0 если S1=S2, >0 если S1>S2 |
функция AnsiCompareText(const S1, S2: String): Integer Сравнивает две строки S1 и S2 без учёта регистра символов. Возвращает значение <0 если S1<S2, 0 если S1=S2, >0 если S1>S2 |
Следующие функции осуществляют поиск в текущей строке подстроки, вставляют, удаляют или заменяют подстроку:
функция Pos(Substr: String; Str: String): Integer Возвращает позицию (индекс) первого вхождения Substr в строке Str. Если Substrнет в Str, возвращает 0. |
функция Insert(Source: String; var S: String; Index: Integer): Integer Вставляет строку Source в строку S, начиная с номера символа, равного Index |
процедура Delete(var S: String; Index, Count: Integer) Удаляет из строки S подстроку, начинающуюся с номера символа, равного Index, и содержащую до Count символов. |
функция StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): String Заменяет в строке S подстроку OldPattern на строку NewPattern с учётом флагаTReplaceFlags. Для работы с этой функцией нужно создать переменную типа TReplaceFlags - это множество, и включить в него одно или оба значения из следующих: rfReplaceAll - будут заменены все вхождения. Если это значение не будет включено во множество, то будет заменено только первое вхождение; rfIgnoreCase - замена будет без учёта регистра символов. Если это значение не будет включено во множество, то замена будет чувствительна к регистру символов. |
Наконец, функция копирования части строки:
функция Copy(S: String; Index, Count: Integer): String Возвращает подстроку строки S, начиная с номера символа, равного Index и содержащую до Count символов. |
Помимо прочего, эту функцию можно использовать для вывода нецелого числа с нужным количеством цифр после запятой. Для этого, сначала получаем строку из числа формата 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;
end;
Контрольні питання
1. Розглянути роботу із строками Delphi
2. Охарактеризувати функції преобразування у числовий формат та навпаки
САМОСТІЙНА РОБОТА СТУДЕНТА
ЗМІСТОВИЙ МОДУЛЬ 2: ПРОЦЕДУРНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ. ПРОГРАМУВАННЯ ГРАФІКИ
ТЕМА 2.1: ОСНОВИ МОВИ OBJECT PASCAL
Самостійне заняття №15 –Структура типів даних
План заняття
1. Поняття типів даних Delphi
2. Прості типи даних
3. Порядкові типи даних
4. Довільні типи даних
5. Тип даних дата та час
ТИПЫ ДАННЫХ
Любые данные, т. е. константы, переменные, свойства, значения функций или выражения, в Object Pascal характеризуются своими типами. Тип определяет множество допустимых значений, которые может иметь тот или иной объект, а также множество допустимых операций, которые применимы к нему. Кроме того, тип определяет также и формат внутреннего представления данных в памяти ПК.
Object Pascal характеризуется разветвленной структурой типов данных (рис. 7.1). В языке предусмотрен механизм создания новых типов, благодаря чему общее количество используемых в программе типов может быть сколь угодно большим.
В этой и четырех последующих главах приводится подробное описание всех типов.
Дата добавления: 2014-12-01; просмотров: 1960;