Арифметические функции

Function Abs(e : Extended) : Extended;

Возвращает абсолютное значение параметра e (e по модулю)


Div

Выполняет целочисленное деление без остатка

int := 17 Div 2;

Function Random(i : integer) : Integer;

Генерирует целое число в заданном диапазоне

x:=Random(100); переменной x будет присвоено целое значение в диапазоне от 0 до 100

function Round ( const Number : Extended ) : Integer;

Округление чисел с плавающей запятой до целого числа

ShowMessage('Round(12.75) = '+IntToStr(Round(12.75)));
Round(12.75) = 13

function Trunc ( const Number : Extended ) : Integer;

Целая часть числа с плавающей запятой

ShowMessage('Trunc(12.75) = '+IntToStr(Trunc(12.75)));
Trunc(12.75) = 12

function IntToHex ( DecimalValue : Integer; MinimumWidth : Integer ) : string;

Преобразует целое число DecimalValue в строку шестнадцатеричного формата не менее MinimumWidth символов.

IntToHex(Value: Int64; Digits: Integer): string;

Функции времени

Now : TDateTime

Выдает текущую дату и время

today := Now;

Date : TDateTime

Возвращает текущую дату

today := Date;

Time : TDateTime

Возвращает текущее время

today := Time;

Function DayOfWeek ( Date : TDateTime ) : Integer;

Выдает индекс дня недели для значения TDateTime
//1 = воскресенье
//2 = понедельник
//3 = вторник
//4 = среда
//5 = четверг
//6 = пятница
//7 = суббота

if (DayOfWeek(Now)>=2) then // проверка дня недели

Function DayOfTheYear ( const Date : TDateTime) : integer

возвращает индекс дня года.
В отличие от pascal, для 1 января выдаст 0, а не 1

d:=DayOfTheYear(Now)+1;

Function EncodeTime ( const Hour, Min, Sec, MSec : Integer ) : TDateTime;

Формирует значение TDateTime из значений часа, минуты, секунды и миллисеккунды

myDate := EncodeTime(12, 34, 56, 789);

Function EncodeDate ( const Year, Month, Day : Integer ) : TDateTime;

Формирует значение TDateTime из значений года, месяца и дня

myDate := EncodeDate(2000, 02, 29);

Function StrToTime ( const Time : string ) : TDateTime;

преобразует строку, содержащую время в определенном формате в значение с типом TDateTime.

myTime := StrToTime('15:22:35');

Function StrToDate ( const Date : string ) : TDateTime;

Конвертирует строку с датой в значение типа TDateTime

myDate := StrToDate('15/03/75');

procedure DecodeTime ( const SourceDateTime : TDateTime; out Hour, Min, Sec, MSec : Integer ) ;

Разбивает значение TDateTime на отдельные значения времени

DecodeTime(myDate, myHour, myMin, mySec, myMilli);

procedure DecodeDate ( const SourceDate : TDateTime; out Year, Month, Day : Integer ) ;

Извлекает значения года, месяца, дня из TDateTime переменной

DecodeDate(myDate, myYear, myMonth, myDay);

Строковые функции

function StrGet(var S : String; I : Integer) : Char;

Возвращает элемент строки S с индексом I.


procedure StrSet(c : Char; I : Integer; var s : String);

Устанавливает в строке S элементу с индексом I значение c.


function Uppercase(s : string) : string;

Возвращает строку s в верхнем регистре.


function Lowercase(s : string) : string;

Возвращает строку s в нижнем регистре


function Trim(s : string) : string;

Возвращает строку s очищенную в начале и конце от пробелов и служебных символов.


function Length(s : String) : Longint;

Возвращает длину строки s.


procedure SetLength(var S: String; L: Longint);

Задаёт размер строки S величиной L.


function inttostr(i: Longint): string;

Преобразует целочисленное значение i в строку.


Int64ToStr(parametr :Int64):string;

Преобразует целочисленное значение Int64 i в строку.


function strtoint(s: string): Longint;

Преобразует строку s в целочисленное значение.


StrToInt64(parametr: String): int64;

Преобразует строку s в целочисленное значение Int64.


function strtointdef(s: string; def: Longint): Longint;

Преобразует строку s в целочисленное значение, но для неопределённой строки возвращает предустановленное значение def.


function copy(s: string; ifrom, icount: Longint): string;

Возвращает подстроку строки S, содержащую icount символов, начиная с символа с номером ifrom.


function pos(substr, s: string): Longint;

Функция ищет первое вхождение строки Substr в строку S и возвращает целочисленное значение, которое является индексом первого символа Substr внутри S. Если строка Substr не найдена, то Pos возвращает нуль.


procedure delete(var s: string; ifrom, icount: Longint);

Удаляет из строки S icount количество символов с позиции ifrom.


procedure insert(s: string; var s2: string; ipos: Longint);

Вставляет строку s в s2, с позиции ipos.


function StrToFloat(s: string): Extended;

Возвращает реальное число (с плавающей точкой), преобразованное из строки s.


function TimeToStr ( Time : TDateTime ) : string;

Конвертирует значение времени типа TDateTime в строку


function DateToStr ( Date : TDateTime ) : string;

Преобразует значение даты TDateTime в строку


function FloatToStr(e : Extended) : String;

Возвращает значение e ввиде строки.


function Padl(s : string; I : longInt) : string;

Возвращает символьную строку s, которая состоит из заданного выражения, дополненного пробелами до указанной длины l слева.


function Padr(s : string; I : longInt) : string;

Возвращает символьную строку s, которая состоит из заданного выражения, дополненного пробелами до указанной длины l справа.


function Padz(s : string; I : longInt) : string;

Возвращает символьную строку s, которая состоит из заданного выражения, дополненного символами '0' до указанной длины l слева.


function Replicate(c : char; I : longInt) : string;

Возвращает символьную строку, состоящую из заданного символа c, повторенного l раз.


function StringOfChar(c : char; I : longInt) : string;

Функция создает новую строку длиной l, заполненную символами c.


Function FormatDateTime ( const Formatting : string; DateTime : TDateTime ) : string;

Функция FormatDateTime обеспечивает, богатое форматирование TDateTime DateTime значения в строку. Форматирование определяется строкой Форматирования.

Форматируемая строка (Formatting) может включать смесь обычных символов (которые передаются неизменными в строку результата), и символы форматирования данных. Форматирование лучше всего объясняется кодом примера.

Следующие (неазиатские) строки символа форматирования могут использоваться в форматируемой строке:

y = Год из 2-х последних цифр
yy = Год из 2-х последних цифр
yyyy = Год из 4-х цифр
m = Номер месяца без 0
mm = Номер месяца как 2 цифры
mmm = Месяц используя ShortDayNames (Янв)
mmmm = Месяц используя LongDayNames (Январь)
d = Число без 0
dd = Число как 2 цифры
ddd = Число используя ShortDayNames (Воск)
dddd = Число используя LongDayNames (Воскресенье)
ddddd = Число в ShortDateFormat
dddddd = Число в LongDateFormat

c = Используя ShortDateFormat + LongTimeFormat
h = Час без 0
hh = Час как 2 цифры
n= Минуты без 0
nn = Минуты как 2 цифры
s = Секунды без 0
ss = Секунды как 2 цифры
z= Миллисекунды без 0
zzz = Миллисекунды как 2 цифры
t = Используя ShortTimeFormat
tt = Используя LongTimeFormat

am/pm = Используется после h : выдаёт 12 часов + am/pm
a/p = Используется после h : выдаёт 12 часов + a/p
ampm = Как a/p но TimeAMString,TimePMString
/ = Заменяется значением DateSeparator
:= Заменяется значением TimeSeparator

В дополнение к этому форматированию, различные из вышеупомянутых вариантов затрагиваются следующими переменными, с их значением по значением по умолчанию:

DateSeparator = /
TimeSeparator = :
ShortDateFormat = dd/mm/yyyy
LongDateFormat = dd mmm yyyy
TimeAMString = AM
TimePMString = PM
LongTimeFormat = hh:mm:ss
ShortMonthNames = Янв Фев ...
LongMonthNames = Январь, Февраль ...
ShortDayNames = Воск, Пон ...
LongDayNames = Воскресенье, Понедельник ...
TwoDigitYearCenturyWindow = 50

var
myDate : TDateTime;

begin
// Установка нашей переменной TDateTime в полное значение даты и времени:
// 09/02/2000 в 01:02:03.004 (.004 миллисекунд)
myDate := EncodeDateTime(2000, 2, 9, 1, 2, 3, 4);

// Только дата - числовые значения без начальных нулей (кроме года)
ShowMessage(' d/m/y = '+
FormatDateTime('d/m/y', myDate));

// Только дата - числовые значения с начальными нулями
ShowMessage(' dd/mm/yy = '+
FormatDateTime('dd/mm/yy', myDate));

// Использование коротких названий для дня, месяца, и добавление текста свободного формата ('of')
ShowMessage(' ddd d of mmm yyyy = '+
FormatDateTime('ddd d of mmm yyyy', myDate));

// Использование длинных названий для дня и месяца
ShowMessage('dddd d of mmmm yyyy = '+
FormatDateTime('dddd d of mmmm yyyy', myDate));

// Использование настроек только ShortDateFormat
ShowMessage(' ddddd = '+
FormatDateTime('ddddd', myDate));

// Использование настроек только LongDateFormat
ShowMessage(' dddddd = '+
FormatDateTime('dddddd', myDate));

// Использование настроек ShortDateFormat + LongTimeFormat
ShowMessage(' c = '+
FormatDateTime('c', myDate));
end;

d/m/y = 9/2/00
dd/mm/yy = 09/02/00
ddd d of mmm yyyy = Ср 9 Фев 2000
dddd d of mmmm yyyy = Среда 9 Февраля 2000
ddddd = 09/02/2000
dddddd = 09 Февраля 2000
c = 09/02/2000 01:02:03

function FormatFloat(const Mask: string; d : Extended) : String;

Функция обеспечивает богатое форматирование числа с плавающей запятой Value в строку.

Форматируемая строка может содержать соединение текста свободного формата и управляющих символов:
0: Вызывает отображение цифр или 0
#: Дополнительное цифровое отображение
,: Вызывает отображение тысяч
.: Вызывает отображение десятичных чисел
E+: Вызывает отображение знаковой экспоненты
E-: Дополнительное отображение знака экспоненты
;: Разделитель положительных, отрицательных и нулевых значений

var
float : extended;

begin
// Установка нашего числа с плавающей запятой
float := 1234.567;

// Отображение типового значения, используя все варианты формата

// Округление десятичного значения
ShowMessage('##### : '+FormatFloat('#####', float));
ShowMessage('00000 : '+FormatFloat('00000', float));
ShowMessage('0 : '+FormatFloat('0' , float));
ShowMessage('#,##0 : '+FormatFloat('#,##0', float));
ShowMessage(',0 : '+FormatFloat(',0' , float));
ShowMessage('');

// Включение десятичного значения
ShowMessage('0.#### : '+FormatFloat('0.####', float));
ShowMessage('0.0000 : '+FormatFloat('0.0000', float));
ShowMessage('');

// Научный формат
ShowMessage('0.0000000E+00 : '+FormatFloat('0.0000000E+00', float));
ShowMessage('0.0000000E-00 : '+FormatFloat('0.0000000E-00', float));
ShowMessage('#.#######E-## : '+FormatFloat('#.#######E-##', float));
ShowMessage('');

// Включение текста свободного формата
ShowMessage('"Value = "0.0 : '+FormatFloat('"Value = "0.0', float));
ShowMessage('');

// Различное форматирование отрицательных чисел
ShowMessage('0.0 : '+FormatFloat('0.0' , -1234.567));
ShowMessage('0.0 "CR";0.0 "DB" : '+
FormatFloat('0.0 "CR";0.0 "DB"', -1234.567));
ShowMessage('0.0 "CR";0.0 "DB" : '+
FormatFloat('0.0 "CR";0.0 "DB"', 1234.567));
ShowMessage('');

// Различный формат нулевых значений
ShowMessage('0.0 : '+FormatFloat('0.0' , 0.0));
ShowMessage('0.0;-0.0;"Nothing" : '+
FormatFloat('0.0;-0.0;"Nothing"', 0.0));
end;

##### : 1235
00000 : 01235
0 : 1235
#,##0 : 1,235
,0 : 1,235

0.#### : 1234.567
0.0000 : 1234.5670

0.0000000E+00 : 1.2345670E+03
0.0000000E-00 : 1.2345670E03
#.#######E-## : 1.234567E3

"Value = " : Value = 1234.6

0.0 : -1234.6
0.0 "CR";0.0 "DB" : 1234.6 DB
0.0 "CR";0.0 "DB" : 1234.6 CR

0.0 : 0.0
0.0;-0.0;"Nothing" : Nothing

Работа с массивами

function getarraylength(var v: array): Integer;

Возвращает длину массива v.


procedure setarraylength(var v: array; i: Integer);

Задаёт длину массива v величиной i.


Работа с типом "variant"

function VarGetType(x: Variant): TVarType;

Возвращает код типа данных, содержащихся в переменной x.


function Null: Variant;

Возвращает значение NULL.