Bladeren bron

+ Initial implementation

michael 26 jaren geleden
bovenliggende
commit
4f6ef50810
4 gewijzigde bestanden met toevoegingen van 1477 en 0 verwijderingen
  1. 53 0
      docs/sysutex/Makefile
  2. 2 0
      docs/sysutex/foot.tex
  3. 3 0
      docs/sysutex/head.tex
  4. 1419 0
      docs/sysutils.tex

+ 53 - 0
docs/sysutex/Makefile

@@ -0,0 +1,53 @@
+#######################################################################
+#
+# Makefile to compile all examples and convert them to LaTeX
+# 
+#######################################################################
+
+# Compiler
+PP=ppc386
+
+# Unit directory
+# UNITDIR=/usr/lib/ppc/0.99.0/linuxunits
+
+
+# Any options you wish to pass.
+PPOPTS=
+
+# Script to convert the programs to LaTeX examples which can be included.
+PP2TEX=../pp2tex
+
+# Script to collect all examples in 1 file.
+MAKETEX=make1tex
+
+#######################################################################
+# No need to edit after this line.
+#######################################################################
+
+ifdef UNITDIR
+PPOPTS:=$(PPOPTS) -Up$(UNITDIR);
+endif
+
+.SUFFIXES: .pp .tex
+
+.PHONY: all tex clean
+
+OBJECTS=
+
+TEXOBJECTS=$(addsuffix .tex, $(OBJECTS))
+
+all : $(OBJECTS)
+
+tex : $(TEXOBJECTS)
+
+onetex : tex
+	$(MAKETEX) $(TEXOBJECTS)
+
+clean : 
+	rm -f *.o *.s $(OBJECTS) $(TEXOBJECTS)
+ 
+$(OBJECTS): %: %.pp
+	$(PP) $(PPOPTS) $*
+
+$(TEXOBJECTS): %.tex: %.pp head.tex foot.tex
+	$(PP2TEX) $*

+ 2 - 0
docs/sysutex/foot.tex

@@ -0,0 +1,2 @@
+\end{verbatim}
+\end{FPCList}

+ 3 - 0
docs/sysutex/head.tex

@@ -0,0 +1,3 @@
+\begin{FPCList}
+\item[Example]
+\begin{verbatim}

+ 1419 - 0
docs/sysutils.tex

@@ -0,0 +1,1419 @@
+%
+%   $Id$
+%   This file is part of the FPC documentation.
+%   Copyright (C) 1999, by Michael Van Canneyt
+%
+%   The FPC documentation is free text; you can redistribute it and/or
+%   modify it under the terms of the GNU Library General Public License as
+%   published by the Free Software Foundation; either version 2 of the
+%   License, or (at your option) any later version.
+%
+%   The FPC Documentation is distributed in the hope that it will be useful,
+%   but WITHOUT ANY WARRANTY; without even the implied warranty of
+%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+%   Library General Public License for more details.
+%
+%   You should have received a copy of the GNU Library General Public
+%   License along with the FPC documentation; see the file COPYING.LIB.  If not,
+%   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+%   Boston, MA 02111-1307, USA. 
+%
+\chapter{The SYSUTILS unit.}
+
+This chapter describes the \file{sysutils} unit. The \var{sysutils} unit 
+was largely written by Gertjan Schouten, and completed by michael Van Canneyt. 
+It aims to be compatible to the Delphi sysutils unit, but in contrast with 
+the latter, it is designed to work on multiple platforms.
+
+This chapter starts out with a definition of all types and constants 
+that are defined, followed by a complete explanation of each function.
+
+\section{Constants and types}
+
+The following general-purpose constants are defined:
+\begin{verbatim}
+const
+   SecsPerDay = 24 * 60 * 60; // Seconds and milliseconds per day
+   MSecsPerDay = SecsPerDay * 1000;
+   DateDelta = 693594;        // Days between 1/1/0001 and 12/31/1899
+   Eoln = #10;
+\end{verbatim}
+The following types are used frequently in date and time functions.
+They are the same on all platforms.
+\begin{verbatim}
+type
+   TSystemTime = record
+      Year, Month, Day: word;
+      Hour, Minute, Second, MilliSecond: word;
+   end ;
+
+   TDateTime = double;
+
+   TTimeStamp = record
+      Time: integer;   { Number of milliseconds since midnight }
+      Date: integer;   { One plus number of days since 1/1/0001 }
+   end ;
+\end{verbatim}
+The following type is used in the \seep{FindFirst},\seep{FindNext} 
+and \seep{FindClose} functions. The \var{win32} version differs from 
+the other versions. If code is to be portable, that part  shouldn't 
+be used.
+\begin{verbatim}
+Type 
+  THandle = Longint; 
+  TSearchRec = Record
+    Time,Size, Attr : Longint;
+    Name : TFileName;
+    ExcludeAttr : Longint;
+    FindHandle : THandle;
+    {$ifdef Win32}
+    FindData : TWin32FindData;        
+    {$endif}
+    end;
+\end{verbatim}
+The following constants are file-attributes that need to be matched in the 
+findfirst call.
+\begin{verbatim}
+Const 
+  faReadOnly  = $00000001; 
+  faHidden    = $00000002;
+  faSysFile   = $00000004;
+  faVolumeId  = $00000008;
+  faDirectory = $00000010;
+  faArchive   = $00000020;
+  faAnyFile   = $0000003f;
+\end{verbatim}
+The following constants can be used in the \seef{FileOpen} call.
+\begin{verbatim}
+Const
+  fmOpenRead       = $0000;
+  fmOpenWrite      = $0001;
+  fmOpenReadWrite  = $0002;
+\end{verbatim}
+The following variables are used in the case translation routines.
+\begin{verbatim}
+type
+   TCaseTranslationTable = array[0..255] of char;
+var
+   UpperCaseTable: TCaseTranslationTable;
+   LowerCaseTable: TCaseTranslationTable;
+\end{verbatim}
+The initialization code of the \file{sysutils} unit fills these 
+tables with the appropriate values. For the win32 and go32v2
+versions, this information is obtained from the operating system.
+
+The following constants control the formatting of dates.
+For the Win32 version of the \file{sysutils} unit, these 
+constants are set according to the internationalization 
+settings of Windows by the initialization code of the unit.
+\begin{verbatim}
+Const 
+   DateSeparator: char = '-';
+   ShortDateFormat: string = 'd/m/y';
+   LongDateFormat: string = 'dd" "mmmm" "yyyy';
+   ShortMonthNames: array[1..12] of string[128] =
+     ('Jan','Feb','Mar','Apr','May','Jun',
+      'Jul','Aug','Sep','Oct','Nov','Dec');
+   LongMonthNames: array[1..12] of string[128] =
+     ('January','February','March','April',
+      'May','June','July','August',
+      'September','October','November','December');
+   ShortDayNames: array[1..7] of string[128] =
+     ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
+   LongDayNames: array[1..7] of string[128] =
+     ('Sunday','Monday','Tuesday','Wednesday',
+       'Thursday','Friday','Saturday');
+\end{verbatim}  
+
+The following constants control the formatting of times.
+For the Win32 version of the \file{sysutils} unit, these 
+constants are set according to the internationalization 
+settings of Windows by the initialization code of the unit.
+\begin{verbatim}
+Const
+   ShortTimeFormat: string = 'hh:nn';
+   LongTimeFormat: string = 'hh:nn:ss';
+   TimeSeparator: char = ':';
+   TimeAMString: string[7] = 'AM';
+   TimePMString: string[7] = 'PM';
+\end{verbatim}
+
+The following constants control the formatting of currencies 
+and numbers. For the Win32 version of the \file{sysutils} unit, 
+these  constants are set according to the internationalization 
+settings of Windows by the initialization code of the unit.
+\begin{verbatim}
+Const
+  DecimalSeparator : Char = '.';
+  ThousandSeparator : Char = ',';
+  CurrencyDecimals : Byte = 2;
+  CurrencyString : String[7] = '$';
+  { Format to use when formatting currency :
+    0 = $1        1 = 1$         2 = $ 1      3 = 1 $
+    4 = Currency string replaces decimal indicator. 
+        e.g. 1$50 
+   }
+  CurrencyFormat : Byte = 1;
+  { Same as above, only for negative currencies:
+    0 = ($1)
+    1 = -$1
+    2 = $-1
+    3 = $1-
+    4 = (1$)
+    5 = -1$
+    6 = 1-$
+    7 = 1$-
+    8 = -1 $
+    9 = -$ 1
+    10 = $ 1-
+   }
+  NegCurrFormat : Byte = 5;
+\end{verbatim}
+The following types are used in various string functions.
+\begin{verbatim}
+type
+   PString = ^String;
+   TFloatFormat = (ffGeneral, ffExponent, ffFixed, ffNumber, ffCurrency);
+\end{verbatim}
+The following constants are used in the file name handling routines. Do not
+use a slash of backslash character directly as a path separator; instead 
+use the \var{OsDirSeparator} character.
+\begin{verbatim}
+Const
+  DirSeparators : set of char = ['/','\'];  
+{$ifdef Linux}
+  OSDirSeparator = '/';
+{$else}
+  OsDirSeparator = '\';
+{$endif}
+\end{verbatim}
+
+\section{Date and time functions}
+
+\subsection{Date and time formatting characters}
+Various date and time formatting routines accept a format string.
+to format the date and or time. The following characters can be used
+to control the date and time formatting:
+\begin{description}
+\item[c] : shortdateformat + ' ' + shorttimeformat
+\item[d] : day of month
+\item[dd] : day of month (leading zero)
+\item[ddd] : day of week (abbreviation)
+\item[dddd] : day of week (full)
+\item[ddddd] : shortdateformat
+\item[dddddd] : longdateformat
+\item[m] : month
+\item[mm] : month (leading zero)
+\item[mmm] : month (abbreviation)
+\item[mmmm] : month (full)
+\item[y] : year (four digits)
+\item[yy] : year (two digits)
+\item[yyyy] : year (with century)
+\item[h] : hour
+\item[hh] : hour (leading zero)
+\item[n] : minute
+\item[nn] : minute (leading zero)
+\item[s] : second
+\item[ss] : second (leading zero)
+\item[t] : shorttimeformat
+\item[tt] : longtimeformat
+\item[am/pm] : use 12 hour clock and display am and pm accordingly
+\item[a/p] : use 12 hour clock and display a and p accordingly
+\item[/] : insert date seperator
+\item[:] : insert time seperator
+\item["xx"] : literal text
+\item['xx'] : literal text
+\end{description}
+
+\begin{function}{Date}
+\Declaration
+Function Date: TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{DateTimeToFileDate}
+\Declaration
+Function DateTimeToFileDate(DateTime : TDateTime) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{DateTimeToStr}
+\Declaration
+Function DateTimeToStr(DateTime: TDateTime): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{procedure}{DateTimeToString}
+\Declaration
+Procedure DateTimeToString(var Result: string; const FormatStr: string; const DateTime: TDateTime);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{procedure}{DateTimeToSystemTime}
+\Declaration
+Procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TSystemTime);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{function}{DateTimeToTimeStamp}
+\Declaration
+Function DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{DateToStr}
+\Declaration
+Function DateToStr(Date: TDateTime): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{DayOfWeek}
+\Declaration
+Function DayOfWeek(DateTime: TDateTime): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{procedure}{DecodeDate}
+\Declaration
+Procedure DecodeDate(Date: TDateTime; var Year, Month, Day: word);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{procedure}{DecodeTime}
+\Declaration
+Procedure DecodeTime(Time: TDateTime; var Hour, Minute, Second, MilliSecond: word);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{function}{EncodeDate}
+\Declaration
+Function EncodeDate(Year, Month, Day :word): TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{EncodeTime}
+\Declaration
+Function EncodeTime(Hour, Minute, Second, MilliSecond:word): TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileDateToDateTime}
+\Declaration
+Function FileDateToDateTime(Filedate : Longint) : TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FormatDateTime}
+\Declaration
+Function FormatDateTime(FormatStr: string; DateTime: TDateTime):string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{IncMonth}
+\Declaration
+Function IncMonth(const DateTime: TDateTime; NumberOfMonths: integer): TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{IsLeapYear}
+\Declaration
+Function IsLeapYear(Year: Word): boolean;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{MSecsToTimeStamp}
+\Declaration
+Function MSecsToTimeStamp(MSecs: Comp): TTimeStamp;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{Now}
+\Declaration
+Function Now: TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrToDate}
+\Declaration
+Function StrToDate(const S: string): TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrToDateTime}
+\Declaration
+Function StrToDateTime(const S: string): TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrToTime}
+\Declaration
+Function StrToTime(const S: string): TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{SystemTimeToDateTime}
+\Declaration
+Function SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{Time}
+\Declaration
+Function Time: TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{TimeStampToDateTime}
+\Declaration
+Function TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{TimeStampToMSecs}
+\Declaration
+Function TimeStampToMSecs(const TimeStamp: TTimeStamp): comp;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{TimeToStr}
+\Declaration
+Function TimeToStr(Time: TDateTime): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+
+\section{Disk functions}
+
+\begin{function}{CreateDir}
+\Declaration
+Function CreateDir(Const NewDir : String) : Boolean;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{DiskFree}
+\Declaration
+Function DiskFree(Drive : Byte) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{DiskSize}
+\Declaration
+Function DiskSize(Drive : Byte) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{GetCurrentDir}
+\Declaration
+Function GetCurrentDir : String;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{RemoveDir}
+\Declaration
+Function RemoveDir(Const Dir : String) : Boolean;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{SetCurrentDir}
+\Declaration
+Function SetCurrentDir(Const NewDir : String) : Boolean;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+
+
+\section{File handling functions}
+
+      
+  
+\begin{function}{ChangeFileExt}
+\Declaration
+Function ChangeFileExt(const FileName, Extension: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{DeleteFile}
+\Declaration
+Function DeleteFile(Const FileName : String) : Boolean;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{procedure}{DoDirSeparators}
+\Declaration
+Procedure DoDirSeparators(Var FileName : String);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{function}{ExpandFileName}
+\Declaration
+Function ExpandFileName(Const FileName : string): String;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{ExpandUNCFileName}
+\Declaration
+Function ExpandUNCFileName(Const FileName : string): String;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{ExtractFileDir}
+\Declaration
+Function ExtractFileDir(Const FileName : string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{ExtractFileDrive}
+\Declaration
+Function ExtractFileDrive(const FileName: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{ExtractFileExt}
+\Declaration
+Function ExtractFileExt(const FileName: string): string; 
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{ExtractFileName}
+\Declaration
+Function ExtractFileName(const FileName: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{ExtractFilePath}
+\Declaration
+Function ExtractFilePath(const FileName: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{ExtractRelativepath}
+\Declaration
+Function ExtractRelativepath(Const BaseName,DestNAme : String): String;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileAge}
+\Declaration
+Function FileAge(Const FileName : String): Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{procedure}{FileClose}
+\Declaration
+Procedure FileClose(Handle : Longint);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{function}{FileCreate}
+\Declaration
+Function FileCreate(Const FileName : String) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileExists}
+\Declaration
+Function FileExists(Const FileName : String) : Boolean;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileGetAttr}
+\Declaration
+Function FileGetAttr(Const FileName : String) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileGetDate}
+\Declaration
+Function FileGetDate(Handle : Longint) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileOpen}
+\Declaration
+Function FileOpen(Const FileName : string; Mode : Integer) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileRead}
+\Declaration
+Function FileRead(Handle : Longint; Var Buffer; Count : longint) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileSearch}
+\Declaration
+Function FileSearch(Const Name, DirList : String) : String;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileSeek}
+\Declaration
+Function FileSeek(Handle,Offset,Origin : Longint) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileSetAttr}
+\Declaration
+Function FileSetAttr(Const Filename : String; Attr: longint) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileSetDate}
+\Declaration
+Function FileSetDate(Handle,Age : Longint) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileTruncate}
+\Declaration
+Function FileTruncate(Handle,Size: Longint) : boolean;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FileWrite}
+\Declaration
+Function FileWrite(Handle : Longint; Var Buffer; Count : Longint) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{procedure}{FindClose}
+\Declaration
+Procedure FindClose(Var F : TSearchrec);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{function}{FindFirst}
+\Declaration
+Function FindFirst(Const Path : String; Attr : Longint; Var Rslt : TSearchRec) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FindNext}
+\Declaration
+Function FindNext(Var Rslt : TSearchRec) : Longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{GetDirs}
+\Declaration
+Function GetDirs(Var DirName : String; Var Dirs : Array of pchar) : Longint; 
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{RenameFile}
+\Declaration
+Function RenameFile(Const OldName, NewName : String) : Boolean;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{SetDirSeparators}
+\Declaration
+Function SetDirSeparators(Const FileName : String) : String;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+
+\section{PChar functions}
+
+\begin{function}{StrAlloc}
+\Declaration
+Function StrAlloc(Size: cardinal): PChar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrBufSize}
+\Declaration
+Function StrBufSize(var Str: PChar): cardinal;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{procedure}{StrDispose}
+\Declaration
+Procedure StrDispose(var Str: PChar);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{function}{StrPCopy}
+\Declaration
+Function StrPCopy(Dest: PChar; Source: string): PChar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrPLCopy}
+\Declaration
+Function StrPLCopy(Dest: PChar; Source: string; MaxLen: cardinal): PChar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrPas}
+\Declaration
+Function StrPas(Str: PChar): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrCat}
+\Declaration
+Function StrCat(dest,source : pchar) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrComp}
+\Declaration
+Function StrComp(str1,str2 : pchar) : longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrCopy}
+\Declaration
+Function StrCopy(dest,source : pchar) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrECopy}
+\Declaration
+Function StrECopy(dest,source : pchar) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrEnd}
+\Declaration
+Function StrEnd(p : pchar) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrIComp}
+\Declaration
+Function StrIComp(str1,str2 : pchar) : longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrLCat}
+\Declaration
+Function StrLCat(dest,source : pchar;l : longint) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrLComp}
+\Declaration
+Function StrLComp(str1,str2 : pchar;l : longint) : longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrLCopy}
+\Declaration
+Function StrLCopy(dest,source : pchar;maxlen : longint) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrLen}
+\Declaration
+Function StrLen(p : pchar) : longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrLIComp}
+\Declaration
+Function StrLIComp(str1,str2 : pchar;l : longint) : longint;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrLower}
+\Declaration
+Function strlower(p : pchar) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrMove}
+\Declaration
+Function StrMove(dest,source : pchar;l : longint) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrNew}
+\Declaration
+Function StrNew(p : pchar) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrPos}
+\Declaration
+Function StrPos(str1,str2 : pchar) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrRScan}
+\Declaration
+Function StrRScan(p : pchar;c : char) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrScan}
+\Declaration
+Function StrScan(p : pchar;c : char) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrUpper}
+\Declaration
+Function StrUpper(p : pchar) : pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+\section{String functions}
+
+\begin{function}{AdjustLineBreaks}
+\Declaration
+Function AdjustLineBreaks(const S: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiCompareStr}
+\Declaration
+Function AnsiCompareStr(const S1, S2: string): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiCompareText}
+\Declaration
+Function AnsiCompareText(const S1, S2: string): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiExtractQuotedStr}
+\Declaration
+Function AnsiExtractQuotedStr(var Src: PChar; Quote: Char): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiLastChar}
+\Declaration
+Function AnsiLastChar(const S: string): PChar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiLowerCase}
+\Declaration
+Function AnsiLowerCase(const s: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiQuotedStr}
+\Declaration
+Function AnsiQuotedStr(const S: string; Quote: char): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiStrComp}
+\Declaration
+Function AnsiStrComp(S1, S2: PChar): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiStrIComp}
+\Declaration
+Function AnsiStrIComp(S1, S2: PChar): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiStrLComp}
+\Declaration
+Function AnsiStrLComp(S1, S2: PChar; MaxLen: cardinal): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiStrLIComp}
+\Declaration
+Function AnsiStrLIComp(S1, S2: PChar; MaxLen: cardinal): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiStrLast}
+\Declaration
+Function AnsiStrLast(Str: PChar): PChar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{CharAnsiStrLower}
+\Declaration
+Function AnsiStrLower(Str: PChar): PChar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiStrUpper}
+\Declaration
+Function AnsiStrUpper(Str: PChar): PChar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{AnsiUpperCase}
+\Declaration
+Function AnsiUpperCase(const s: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{procedure}{AppendStr}
+\Declaration
+Procedure AppendStr(var Dest: PString; const S: string);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{procedure}{AssignStr}
+\Declaration
+Procedure AssignStr(var P: PString; const S: string);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{function}{BCDToInt}
+\Declaration
+Function BCDToInt(Value: integer): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{CompareMem}
+\Declaration
+Function CompareMem(P1, P2: Pointer; Length: cardinal): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{CompareStr}
+\Declaration
+Function CompareStr(const S1, S2: string): Integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{CompareText}
+\Declaration
+Function CompareText(const S1, S2: string): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{procedure}{DisposeStr}
+\Declaration
+Procedure DisposeStr(S: PString);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{function}{FloatToStr}
+\Declaration
+Function FloatToStr(Value: Extended): String;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FloatToStrF}
+\Declaration
+Function FloatToStrF(Value: Extended; format: TFloatFormat; Precision, Digits: Integer): String;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{procedure}{FmtStr}
+\Declaration
+Procedure (Var Res: String; Const Fmt : String; Const args: Array of const);
+\Description
+\Errors
+\SeeAlso
+\end{procedure}
+
+ 
+\begin{function}{Format}
+\Declaration
+Function Format(Const Fmt : String; const Args : Array of const) : String;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{FormatBuf}
+\Declaration
+Function FormatBuf(Var Buffer; BufLen : Cardinal; Const Fmt; fmtLen : Cardinal; Const Args : Array of const) : Cardinal;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{IntToHex}
+\Declaration
+Function IntToHex(Value: integer; Digits: integer): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{IntToStr}
+\Declaration
+Function IntToStr(Value: integer): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{IsValidIdent}
+\Declaration
+Function IsValidIdent(const Ident: string): boolean;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{LeftStr}
+\Declaration
+Function LeftStr(const S: string; Count: integer): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{LoadStr}
+\Declaration
+Function LoadStr(Ident: integer): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{LowerCase}
+\Declaration
+Function LowerCase(const s: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{NewStr}
+\Declaration
+Function NewStr(const S: string): PString;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{QuotedStr}
+\Declaration
+Function QuotedStr(const S: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{RightStr}
+\Declaration
+Function RightStr(const S: string; Count: integer): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrFmt}
+\Declaration
+Function StrFmt(Buffer,Fmt : PChar; Const args: Array of const) : Pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrLFmt}
+\Declaration
+Function StrLFmt(Buffer : PCHar; Maxlen : Cardinal;Fmt : PChar; Const args: Array of const) : Pchar;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrToInt}
+\Declaration
+Function StrToInt(const s: string): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{StrToIntDef}
+\Declaration
+Function StrToIntDef(const S: string; Default: integer): integer;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{Trim}
+\Declaration
+Function Trim(const S: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{TrimLeft}
+\Declaration
+Function TrimLeft(const S: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{TrimRight}
+\Declaration
+Function TrimRight(const S: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+ 
+\begin{function}{UpperCase}
+\Declaration
+Function UpperCase(const s: string): string;
+\Description
+\Errors
+\SeeAlso
+\end{function}
+
+