Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Высокоуровневые методы информатики и программир...docx
Скачиваний:
25
Добавлен:
12.11.2019
Размер:
6.53 Mб
Скачать

1.7.2.2. Функция форматирования Format

Format(Const SFormat:String;Const Args:Array Of Const):Stringвозвра­ща­ет отформатированную строку после применения строки формати­ро­ва­ния SFormat к элементам открытого массива Args.

Пример: label1.caption:=

Format('%s Таб.N %d, возраст %f, оклад %m.',['Иванов',19,22.5,1000.1]);

Сформируется строка: Иванов Таб.N 19, возраст 22.5, оклад 1 000.10р.

1.7.3. Преобразование дат и времени

GetTickCount ‑ возвращает число тиков (1 равна 1000 тикам), прошедших сначала запуска Windows (п. 2.3.7.6).

Date:TdateTime - возвращает текущую дату.

DateTimeToStr(DateTime:TdateTime): String - преобразует дату и время в строку.

DateTimeToString(Var Result:String;Const Format: String; DateTime: TDateTime) - преобразует дату и время DateTime в строку Result, исполь­зуя строку форматирования Format c типами:

с ‑ формат дд.мм.гг чч.мм.сс;

m,d,h,n,s или mm,dd,hh,nn,ss ‑ номер месяца, дня, часа, минуты, секунды без ведущего нуля или с ведущим нулем соответственно;

dddd ‑ наименования дня недели;

ddddd ‑ дд.мм.гг; dddddd ‑ дд <наименование месяца> гггг;

mmm или mmmm ‑ сокращенное или полное название месяца;

yy или yyyy ‑ две последние или все цифры года;

t или tt ‑ время в формате чч:мм или чч:мм:сс;

am/pm ‑ время в 12‑часовом формате с указанием до/после полудня;

ampm ‑ время в 12‑часовом формате без указания до/после полудня;

a/p ‑ время в 12‑часовом формате с указанием до/после полудня (a/p);

/,: ‑ разделители даты и времени.

DateToStr(Date:TDateTime): String - преобразует дату и время в строку с кратким форматом даты.

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

FormatDateTimeToString(Const Format: String; DateTime:TDateTime): String - возвращает строку после преобразования DateTime с помощью строки форматирования Format.

Пример:

label1.caption:=FormatDateTime('“Время встречи “ dddd, mmmm d, yyyy ' +

'“в“ hh:mm', StrToDateTime('2.07.00 14:30'));

Выведется текст: Время встречи воскресенье, Июль 2,2000 в 14:00

Now:TDateTime ‑ возвращает текущую дату и время.

StrToDate/StrToDateTime/StrToTime (Const S:String):TDateTime ‑ преобра­зует строку в формат даты/даты и времени/времени.

Time:TDateTime ‑ возвращает текущее время.

TimeToStr(Time:TDateTime):String ‑ возвращает строку со временем в полной форме.

1.7.4. Обработка строк с нулевым символом в конце

Функции, имена которых начинаются с Ansi, учитывают символы ки­рил­лицы в верхнем и нижнем регистрах.

AnsiStrIComp(S1,S2):Integer ‑ сравнение строк без учета регистров. Воз­вра­щает­ся число: 0, если S1=S2,<0, если S1<S2, >0, если S1>S2.

AnsiStrLIComp(S1,S2;N:Cardinal):Integer ‑ аналогична предыдущей функции, но сравниваются первые N символов.

AnsiStrLower(S):PChar ‑ возвращает символы в нижнем регистре.

AnsiStrUpper(S):PChar ‑ возвращает символы в верхнем регистре.

StrAlloc(Size:Cardinal):PChar ‑ выделяет память для строки длиной Size.

StrBufSize(S):Cardinal ‑ возвращает размер строки, размещенной функ­ция­ми StrAlloc или StrNew.

StrCat(S1,S2):PChar ‑ объединяет две строки.

StrComp(S1,S2):Integer ‑ сравнение строк c учетом регистров. Возвра­щает­ся число: 0, если S1=S2,<0, если S1<S2, >0, если S1>S2.

StrCopy(S1,S2):PChar ‑ копирует S2 в S1 и возвращает S1.

StrDispose(S) ‑ удаляет из памяти, динамически размещенную строку S.

StrECopy(S1,S2):PChar ‑ копирует S2 в S1 и возвращает указатель на конец строки S1 (нулевой байт).

StrEnd(S):PChar - возвращает указатель на конец строки S.

StrFmt(S,Format;Const Args:Array Of Const):PChar ‑ объединяет в одну строку S строки массива Args с помощью строки форматирования Format и возвращает указатель на строку S.

StringToWideChar(Const S:String;D:PWideChar;N:Integer):PWideChar ‑ преобразует первые N Ansi ‑ символов строки S в строку D c символами Unicode и возвращает указатель на строку D.

StrLCat(S1,S2;N:Cardinal):PChar добавляет первые N символов строки S2 в конец строки S1 и возвращает S1.

StrLCopy(S1,S2;N:Cardinal):PChar ‑ копирует первые N символов строки S2 в S1 и возвращает S1.

StrLen(S):Cardinal ‑ возвращает длину строки без учета нулевого символа.

StrLFmt(S;N:Cardinal;Format; Const Args:Array Of Const):PCharобъединяет в первые N символы строки S строки массива Args с помощью строки форматирования Format и возвращает указатель на строку S.

StrMove(S1,S2;N:Cardinal):PChar ‑ копирует первые N символов строки S2 в S1 и возвращает S1. S1 и S2 могут перекрывать друг друга в памяти.

StrNew(S):PChar ‑ выделяет место, копирует символы строки S и возвра­щает адрес на новую строку.

StrPCopy(S1:PChar;Const S2:String):PChar ‑ копирует строку S2 в стиле Паскаль S2 в S1 и возвращает S1. Размер S1 должен > размера S2.

StrPLCopy(S1:PChar;Const S2:String;N:Cardinal):PChar ‑ копирует пер­вые N символов строки S2 в стиле Паскаль S2 в S1 и возвращает S1. Раз­мер S1 должен > размера S2.

StrPos(S1,S2):PChar ‑ возвращает указатель на первое вхождение S2 в S1. При отсутствии S2 в S1, возвращается nil.

StrRScan(S,C:Char):PChar ‑ возвращает указатель на последнее вхождение символа С в S. При отсутствии С в S, возвращается nil.

StrScan(S,C:Char):PChar ‑ возвращает указатель на первое вхождение сим­вола С в S. При отсутствии С в S, возвращается nil.

WideCharLenToString(S:PWideChar;N:Integer):String-преобразует первые N символов строки Unicode S в строку ANSI.

WideCharToString(S:PWideChar):String-преобразует строку Unicode S в строку ANSI.