Składnia funkcji i procedur

Często używane funkcje Delphi w ujęciu alfabetycznym

Abs(X)    Unit: System  Abs zwraca wartość absolutną-  X jest typu Integer lub Real
np:  var r: Real; i: Integer;   begin r := Abs(-2.3);  { 2.3 } i := Abs(-157);  { 157 } end;

Addr(X):Pointer    Unit: System   np.  var   P: Pointer;   begin   P := Addr(P);  { Now points to itself }   end;

AnsiCompareFileNamer(const S1, S2: string): Integer;    Unit: SysUtils   Porównuje 2 łańcuchy bez rozróżniania wielkości liter. Zwraca warunek: S1 > S2 > 0, S1 < S2 < 0, S1 = S2 = 0

AnsiCompareStr(const S1, S2: string): Integer;    Unit: SysUtils   Porównuje 2 łańcuchy z rozróżnianiem wielkości liter. Zwraca warunek: S1 > S2 > 0, S1 < S2 < 0, S1 = S2 = 0

AnsiCompareText(const S1, S2: string): integer    porównuje łańcuchy S1 i S2 bez rozróżniania dużych i małych liter.Zwraca 0 gdy łańcuchy są identyczne

AnsiLastChar(const S: string): PChar;    Unit: SysUtils; Zwraca ostatnie miejsce wystąpienia znaku w łańcuchu.

AnsiLowerCase(const S:string): string;   zamienia wszystkie litery w łańcuchu S na małe.

AnsiUpperCase(const S : string): string;    zamienia wszystkie litery łańcucha S na duże

AnsiPos(const Substr, S: string): Integer;    Unit: SysUtils; Zwraca występowanie podłańcucha SubStr w łańcuchu S

Bounds(ALeft, ATop, AWidth, AHeight: Integer): TRect;    Unit: Classes; Określa prostokąt, lewy róg (ALeft, ATop) , szerokość AWidth i wysokość AHeight.

ChangeFileExt(const FileName, Extension: string): string;    Unit: SysUtils; Zmienia rozszerzenie nazwy pliku, np: begin IniFileMade := ChangeFileExt(ParamStr(0), '.INI'); end;

CharsetToIdent(Charset: Longint; var Ident: string): Boolean;    Zwraca nazwę zestawu fontów

CompareStr(const S1, S2: string): Integer;    Porównuje 2 stringi z uwzględnieniem wielkosci liter

CompareText(const S1,S2: string) :Integer;    porównuje łańcuch S1 z S2 nie rozrózniając małych i dużych liter. Zwraca 0 gdy łańcuchy są równe

Concat(s1 [, s2,..., sn]: string): string;    Łączy stringi w 1 duży. Zwracana wartość jest połączeniem kolejnych parametrów

Copy(S:string; Index, Count: Integer): string;    zwraca podłańcuch z łańcucha S. łańcuch źródłowy podajemy w parametrze S typu string. Parametry Index i Count są typu Integer i oznaczają odpowiednio: Index - początek kopiowanego łańcucha a Count - liczbę znaków. Jeśli Index jest większy niż długość łańcucha, funkcja zwróci łańcuch pusty. Natomiast w przypadku gdy Count zawiera więcej znaków niż posiada S od miejsca Index, zwracane są wszystkie znaki od Index, aż do końca łańcucha S.

CreateDir(const Dir: string): Boolean;    tworzy nowy folder. Jeżeli nowy folder został stworzony funkcja zwraca wartość TRUE

CurrToStr(Value: Currency): string;    konwertuje wartość Value do łańcucha

DateTimeToStr(DateTime: TDateTime): string;    przeprowadza konwersję daty i czasu w parametrze DateTime na łańcuch. Jeżeli DateTime nie zawiera wartości określającej datę, zwracany jest łańcuch zawierający: 00/00/00

DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);    przeprowadza konwersję wartości daty i czasu podanej w DateTime na łańcuch stosując się do zaleceń podanych w parametrze Format. Sformatowany łańcuch jest zwracany w Result

DateToStr(Date: TDateTime): string;    konwertuje datę do łańcucha. Do konwersji wykorzystywana jest zmienna globalna ShortDateFormat, określająca format zapisu daty.

DayOfWeek(Date: TDateTime): Integer;    zwraca dzień tygodnia daty określonej w Date. Zwracana jest wartość typu Integer i zawierajaca się w przedziale 1 do 7. Niedziela jest pierwszym dniem tygodnia, sobota - siódmym.

DecodeDate(Date: TDateTime; var Year, Month, Day: Word);    dzieli datę określoną w Date na rok, miesiąc i dzień. Jeżeli Date jest mniejsza lub równa zero to parametry Year, Month, Day są ustawiane na 0.

DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);    dzieli wartość czasu określoną w Time na godziny, minuty, sekundy i milisekundy.

Delete(var S: string; Index, Count: Integer) ;    usuwa podłańcuch z danego łańcucha S. Wycinanych jest Count znaków poczynając od stojącego na pozycji Index. Jeśli Index jest większy od długości łańcucha, nie zostaną wyciete żadne znaki. Natomiast jeżeli Count zawiera zbyt wiele znaków, wycięte zostaną wszystkie znaki od znaku o numerze Index do końca łańcucha. Otrzymany łańcuch zapisywany jest w parametrze S.

DeleteFile(const FileName: string): Boolean;    usuwa plik o nazwie określonej w parametrze FileName z dysku. Jeżeli plik nie istnieje lub nie może zostać usunięty, funkcja zwraca FALSE, ale nie zgłasza wyjątku.

DiskFree(Drive: Byte): Integer;    zwraca liczbę wolnych bajtów na dysku określonym w parametrze Drive. Parametr Drive oznacza: 0-bieżący, 1-A, 2-B, itd. Jeżeli podany parametr jest błędny (nie ma takiego dysku) funkcja zwraca -1.

DiskSize(Drive: Byte): Integer;    zwraca rozmiar (w bajtach) dysku określonego w parametrze Drive. Drive oznacza: 0-bieżący, 1-A,2-B, itd. Gdy parametr jet błędny - zwraca -1.

EncodeDate(Year, Month, Day: Word): TDateTime;    zwraca wartość TDateTime dla wartości określonych w parametrach Year, Month, Day. Rok w przedziale 1do 9999, miesiąc 1do 12, dzień to wartość 1 do 31.

EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;    zwraca wartośc TDateTime na podstawie parametrów Hour, Min, Sec, MSec. Dopuszczalna wartość Hour to 1 - 12 lub 1 - 23 (przy stałej Time23Hour ustawionej na TRUE), Min i Sec powinny zawierać się w przedziale 0 - 59, Parametr MSec w przedziale 0 - 999.

ExpandFileName(const FileName: string): string;    zwraca łańcuch zawierający nazwę i pełną ścieżkę dostępu do pliku podanego w parametrze FileName

ExtractFileDir(const FileName: string): string;    wydziela napęd i foldery z pliku podanego w parametrze FileName. Funkcja zwróci pusty łańcuch, jeśli FileName będzie zawierało wyłącznie nazwę pliku - bez napędu czy folderów.

ExtractFileExt(const FileName: string): string;    zwraca rozszerzenie pliku. Zwracany łańcuch zawiera również kropkę będącą separatorem pomiędzy nazwą pliku a jego rozszerzeniem. Łańcuch będzie pusty jeżeli plik nie posiada rozszerzenia.

ExtractFileName(const FileName: string): string    wydziela nazwę i rozszerzenie z nazwy pliku podanego w parametrze FileName. Zwracany łańcuch zawiera nazwę pliku, kropkę oddzielającą i rozszerzenie.

FileExists(const FileName: string): Boolean;    zwraca TRUE, jeżeli plik FileName istnieje lub FALSE w przypadku braku takiego pliku.

FileSearch(const Name, DirList: string): string;    szuka pliku Name w liscie ścieżek dostępu podanych w DirList. Każda ścieżka powinna określać dysk oraz folder przeszukiwania. Poszczególne ścieżki należy oddzielic srednikiem. Jeżeli plik zostanie znaleziony funkcja zwraca ścieżkę dostępu do pliku; w przeciwnym razie zwraca pusty łańcuch.

FindClose(var F: TSearchRec);    zwalnia pamięć przydzieloną przez funkcję FindFirst. FindClose kończy sekwencję FindFirst/FindNext.

FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;    szuka pliku w wyspecjalizowanym folderze zgodnego z atrybutami Attr. Informacja o pierwszym napotkanym pliku zostaje zwrócona w parametrze F. Folder w parametrze Path może być połączony z maską pliku (np.'D:\katalog\*.RTF'). Parametr Attr określa atrubuty szukanego pliku, które można łączyć, np: faReadOnly +faHidden+faSysFile+faVolumeID+faDirectory+faArchive+faAnyFile. Funkcja zwraca wartość 0 jeżeli plik został znaleziony lub kod błędu - jeżeli nie. Parametr F jest rekordem typu TSearchRec; jego tabela zawiera opis pól: Time, Size, Attr, Name, FindHandle.

FindNext(var F: TSearchRec): Integer;    jej wywołanie musi być poprzedzone użyciem FinfFirst. FindNext szuka następnego pliku o takich samych parametrach jakie podano w FindFirst. Dane o odnalezieniu pliku są zwracane w parametrze F, a funkcja zwraca 0; w przeciwnym przypadku funkcja zwraca kod błędu.

Format DateTime(const Format: string; DateTime: TDateTime): string;    formatuje datę i czas określany w parametrze DateTime zgodnie z parametrem Format i zwraca łańcuch. Parametr Format może być określony dużymi lub małymi literami - uzyskany wynik będzie taki sam.

GetCurrentDir: string;    zwraca łańcuch zawierający bieżący folder na bieżącym napędzie.

Insert(Source: string; var S : string) : Index;    procedura Insert wstawia podłańcuch S do łańcucha Source w miejsce wyznaczone przez Index. Index wskazuje na znak, przed którym należy wstawić podłańcuch. Parametr Source jest wyrażeniem typu łańcuchowego.

Length(S: string): Integer;    zwraca liczbę znaków, które zawiera łancuch S. Liczba znaków nie zawsze oznacza liczbę bajtów zajmowanych przez S.

LowerCase(const S: string): string;    zamienia wszystkie duże litery w łańcuchu na małe. Przy zamianie nie są uwzględniane polskie litery - to robi AnsiLowerCase.

Now: TDateTime;    zwraca bieżącą datę i czas. Odpowiada równoczesnemu wywołaniu funkcji Date + Time.

Pos(Substr: string; S: string) : Integer;    zwraca pozycję występowania podłańcucha Substr w ciągu znaków S. Oba parametry są typu łańcuchowego. Funkcja zwraca pozycję występowania pierwszego wspólnego znaku w ciągu S. Jeśli szukany podłańcuch nie wystepuje, funkcja zwraca 0.

RemoveDir(const Dir: string) : Boolean;    usuwa istniejący, pusty folder i zwraca TRUE. W przeciwnym przypadku zwracana jest wartość FALSE.

RenameFile(const OldName, NewName: string): Boolean;    zmienia nazwę pliku OldName na podaną w parametrze NewName i zwraca TRUE. Jeżeli zmiana nazwy nie była możliwa lub plik NewName już istnieje to zwraca FALSE.

SetCurrenrDir(const Dir: string): Boolean;    zmienia aktualny folder roboczy i zwraca TRUE; w przeciwnym przypadku zwraca FALSE.

SetLength(var S: string; NewLength: Integer);    procedura zmienia dynamicznie wielkość zmiennej łańcuchowej S. Dla krótkich łańcuchów SetLength zmienia tylko wartość określającą długość (bajt S[0]) łańcucha S. W tym przypadku wartość NewLength musi zawierać się w przedziale 0-255.

SetString(var S: string; buffer: PChar; len: Integer);    procedura ustawia zawartość i długość zmiennej łańcuchowej S na podstawie znaków podanych w parametrze buffer. Dla łańcuchów krótkich SetString wstawia długość łańcucha (bajt S[0]) na wartość podaną w parametrze len. Jeżeli parametr buffer nie jest pusty kopiuje len znaków z buffer do łańcucha S.

StringOfChar(Ch: Char; Count: Integer): string;    zwraca łańcuch zawierający Count takich samych znaków. Znak ten podajemy w parametrze Ch.

StrAlloc(Size: Cardinal) ;    tworzy nowy łańcuch dynamiczny, do którego wskaźnik jest wartością funkcji. Size okresla rozmiar zmiennej dynamicznej, którego maksymalna długość w zmiennej może byc równa Size - 1. Ostatni bajt to znak pusty więc taki łańcuch nazywamy łańcuchem zakończonym zerem. Można go usunąćza pomocą StrDispose.

StrBufSize(Str: PChar);   zwraca maksymalną liczbę znaków, które mogą być zapisane w łańcuchu dynamicznym Str.

StrCat(Dest, Source: PChar): PChar;    łączy ze sobą 2 łańcuchy dynamiczne, dołaczając Source na koniec Dest. Docelowy łańcuch musi mieć miejsce dla co najmniej StrLen(Dest)+ StrLen(Source)+ 1 znaków.

StrComp(Str1, Str2: Pchar): Integer;    porównuje ze sobą 2 łańcuchy.

StrCopy(Dest, Source: PChar): PChar;   kopiuje Source do Dest i zwraca Dest. Nie zmienia długości łańcucha wyjściowego, który musi mieć co najmniej StrLen(Source)+ 1 znaków.

StrDispose(Str: PChar);    zwalnia zmienną dynamiczną wskazywaną przez Str. Jeżeli Str wskazuje na NIL funkcja StrDispose nie robi nic.

StrECopy(Dest, Source: PChar): PChar;   kopiuje Source do Dest i zwraca Dest.

StrEnd(Str: PChar): PChar;   zwraca wskaźnik do pustego znaku na końcu łańcucha Str.

StrLCat(Dest, Source: PChar; MaxLen: Cardinal): PChar;    dołącza co najwyżej MaxLen - StrLen(Dest) znaków z Source na koniec Dest i zwraca Dest.

StrLComp(Str1, Str2: PChar; MaxLen: Cardinal): Integer;    porównuje łańcuchy Str1 i Str2 do znaku MaxLen. Wszystkie znaki za MaxLen są ignorowane.

StrLCopy(Dest, Source: PChar; MaxLen: Cardinal): PChar;    kopiuje co najwyżej MaxLen znaków z Source do Dest i zwraca Dest.

StrLen(Str: PChar): Cardinal;    kopiuje co najwyżej MaxLen znaków z Source do Dest i zwraca Dest.

StrLICopy(Str1, Str2: PChar; MaxLen: Cardinal) : Integer;    porównuje łańcuchy Str1 i Str2 do znaku MaxLen. Funkcja ignoruje wielkość liter.

StrLower(Str: PChar): PChar;    zamienia wszystkie znaki w Str na małe litery i zwraca Str.

StrMove(Dest, Source: PChar; Count: Cardinal): PChar;    kopiuje dokładnie Count znaków z Source do Dest i zwraca Dest. Source i Dest mogą zachodzić na siebie.

StrNew(Str: PChar): PChar;    tworzy nowy łańcuch dynamiczny i kopiuje do nowego łańcucha zawartość Str.

StrPas(Str: PChar): string;    konwertuje łąńcuch zakończony zerem PChar na standardowy łańcuch string.

StrPCopy(Dest: PChar; Source: string): PChar;    kopiuje łańcuch string(Source) do łańcucha PChar(Dest). Nie zmienia długości łańcucha Dest, który musi mieć miejsce na przynajmniej Length(Source)+ 1 znaków.

StrPLCopy(dest: PChar; const Source: string; MaxLen: Cardinal): PChar;    kopiuje MaxLen znaków łańcucha strnig(Source) do łańcucha PChar(Dest) i zwraca Dest.

StrPos(Str1, Str2: PChar): PChar;    zwraca wskaźnik na pierwsze wystąpienie łańcucha Str2 w Str1. Jeżeli Str2 nie występuje w Str1 to zwraca NIL.

StrRScan(Str: PChar; Chr: Char): PChar;    zwraca wskaźnik na ostatnie wystąpienie znaku Chr w Str. Jeśli Chr nie występuje to zwraca NIL. Kończące łańcuch zero jest traktowane jako część łańcucha.

StrScan(Str: PChar; Chr: Char) : PChar;    zwraca wskaźnik na pierwsze wystąpienie znaku Chr w Str. Jeśli Chr nie występuje to zwraca NIL. Kończące łańcuch zero jest traktowane jako część łańcucha.

StrToDate(const S: string): TDateTime;    zamienia łańcuch na datę typu TDateTime. Data w łańcuchu musi być prawidłową datą. Łańcuch musi zawierać dwie lub trzy liczby, oddzielone od siebie znakiem separatora, określonym przez zmienną globalną DateSeparator. Kolejność dla dnia, miesiąca i roku jest określona przez zmienną globalną ShortDateFormat.

StrToDateTime(const: string): TDateTime;    konwertuje łańcuch do wartości TDateTime (data i czas). Łańcuch określony w parametrze S musi być w formacie określonym przez stałe daty i czasu.

StrToTime(const S: string): TDateTime;   konwertuje łańcuch S na czas typu TDateTime. Łańcuch musi zawierac dwie lub trzy liczby oddzielone od siebie separatorem. Zwracane liczby określają godziny, sekundy i (opcjonalnie) sekundy.

StrUpper(Str: PChar): PChar;    zamienia wszystkie znaki w Str na duże litery i zwraca zmieniony Str.

TimeToStr(Time: TDateTime): string;    konwertuje czas z parametru Time na łańcuch określony przez zmienną globalną LongTimeFormat.

Trim(const S: string): string;    wycina na końcu i na poczatku łańcucha S spacje i znaki sterujące.

TrimLeft(const S: string) : string;    wycina na początku łańcucha S spacje i znaki sterujące

TrimRight(const S: string): string;    wycina na końcu łańcucha S spacje i znaki sterujące.

UpperCase(const S: string): string;    zamienia w łańcuchu S wszystkie małe litery na duże. Przy zamianie nie są uwzględniane polskie litery - to robi AnsiUpperCase.


W praktyce powyższe funkcje wykorzystano na stronie:  www.awalum.hol.es