Standard Functions in r_keeper 7


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

Function Abs(e : Extended) : Extended;

Returns the absolute value of the e parameter (e in modulus)


Div

Performs integer division without a remainder

int := 17 Div 2;

Function Random(i : integer) : Integer;

Generates an integer within the specified range

x:=Random(100); the x variable will be assigned an integer value ranging from 0 to 100

function Round ( const Number : Extended ) : Integer;

Rounding floating point numbers to an integer

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

Round(12.75) = 13

function Trunc ( const Number : Extended ) : Integer;

Integer part of a floating-point number

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

Trunc(12.75) = 12

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

Converts a DecimalValue integer to a hexadecimal string having no less than MinimumWidth characters

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

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

Now : TDateTime

Displays current date and time

today := Now;

Date : TDateTime

Displays current date

today := Date;

Time : TDateTime

Displays current time

today := Time;

Function DayOfWeek ( Date : TDateTime ) : Integer;

Displays the day of the week index for the TDateTime value

//1 = 

Displays the day of the week index for the TDateTime value

//2 = Monday

//3 = Tuesday

//4 = Wednesday

//5 = Thursday

//6 = Friday

//7 = Saturday

if (DayOfWeek(Now)>=2) then // day of the week check

Function DayOfTheYear ( const  Date : TDateTime) : integer

Displays day of the year index

In contrast to pascal, the value for January 1 is 0 and not 1

d:=DayOfTheYear(Now)+1;


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

Generates the TDateTime value from the hour, minute, second and millisecond values.

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.