فهرست منبع

+ any additional functions

michael 26 سال پیش
والد
کامیت
987eb9e671
1فایلهای تغییر یافته به همراه260 افزوده شده و 14 حذف شده
  1. 260 14
      docs/sysutils.tex

+ 260 - 14
docs/sysutils.tex

@@ -1524,7 +1524,8 @@ to contain \var{Source}.
 \seefl{StrPLCopy}{StrPLCopySys}, \seef{StrPCopy}
 \end{functionl}
 
- 
+For an example, see \seef{StrPCopy}.
+
 \begin{functionl}{StrPLCopy}{StrPLCopySys}
 \Declaration
 Function StrPLCopy(Dest: PChar; Source: string; MaxLen: cardinal): PChar;
@@ -1541,6 +1542,9 @@ to contain L characters of \var{Source}.
 \seefl{StrPCopy}{StrPCopySys}.
 \end{functionl}
 
+
+For an example, see \seef{StrPLCopy}.
+
  
 \begin{functionl}{StrPas}{StrPasSys}
 \Declaration
@@ -1554,174 +1558,382 @@ None.
 \seef{StrPas}.
 \end{functionl}
 
+For an example, see \seef{StrPas}.
+
 \section{String handling functions}
 
 \begin{function}{AdjustLineBreaks}
 \Declaration
 Function AdjustLineBreaks(const S: string): string;
 \Description
+\var{AdjustLineBreaks} will change all \var{\#13} characters with
+\var{\#13\#10} on \windowsnt and \dos. On \linux, all \var{\#13\#10}
+character pairs are converted to \var{#10} and single \var{\#13}
+characters also.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiCompareStr}, \seef{AnsiCompareText}
 \end{function}
 
+\latex{\inputlisting{sysutex/ex48.pp}}
+\html{\input{sysutex/ex48.tex}}
  
 \begin{function}{AnsiCompareStr}
 \Declaration
 Function AnsiCompareStr(const S1, S2: string): integer;
 \Description
+\var{AnsiCompareStr} compares two strings and returns the following
+result:
+\begin{description}
+\item[<0]  if \var{S1<S2}.
+\item[0]  if \var{S1=S2}.
+\item[>0] if \var{S1>S2}.
+\end{description}
+the comparision takes into account Ansi characters, i.e. it takes
+care of strange accented characters. Contrary to \seef{CompareAnsiText}, 
+the comparision is case sensitive.
 \Errors
+None.
 \SeeAlso
+\seef{AdjustLineBreaks}, \seef{AnsiCompareText}
 \end{function}
 
+\latex{\inputlisting{sysutex/ex49.pp}}
+\html{\input{sysutex/ex49.tex}}
  
 \begin{function}{AnsiCompareText}
 \Declaration
 Function AnsiCompareText(const S1, S2: string): integer;
 \Description
+\Description
+\var{AnsiCompareText} compares two strings and returns the following
+result:
+\begin{description}
+\item[<0]  if \var{S1<S2}.
+\item[0]  if \var{S1=S2}.
+\item[>0] if \var{S1>S2}.
+\end{description}
+the comparision takes into account Ansi characters, i.e. it takes
+care of strange accented characters. Contrary to \seef{CompareAnsiStr}, 
+the comparision is case insensitive.
 \Errors
+None.
 \SeeAlso
+\seef{AdjustLineBreaks}, \seef{AnsiCompareText}
 \end{function}
 
- 
+\latex{\inputlisting{sysutex/ex50.pp}}
+\html{\input{sysutex/ex50.tex}}
+
 \begin{function}{AnsiExtractQuotedStr}
 \Declaration
 Function AnsiExtractQuotedStr(var Src: PChar; Quote: Char): string;
 \Description
+\var{AnsiExtractQuotedStr} Returns \var{Src} as a string,, with \var{Quute} 
+characters removed from the beginning and end of the string, and double 
+\var{Quote} characters replaced by a single \var{Quote} characters. 
+As such, it revereses the action of \seef{AnsiQuotedStr}.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiQuotedStr}
 \end{function}
 
+\latex{\inputlisting{sysutex/ex51.pp}}
+\html{\input{sysutex/ex51.tex}}
  
 \begin{function}{AnsiLastChar}
 \Declaration
 Function AnsiLastChar(const S: string): PChar;
 \Description
+This function returns a pointer to the last character of \var{S}.
+Since multibyte characters are not yet supported, this is the same
+as \var{@S[Length(S)])}.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiStrLastChar}
 \end{function}
 
+\latex{\inputlisting{sysutex/ex52.pp}}
+\html{\input{sysutex/ex52.tex}}
  
 \begin{function}{AnsiLowerCase}
 \Declaration
 Function AnsiLowerCase(const s: string): string;
 \Description
+\var{AnsiLowerCase} converts the string \var{S} to lowercase characters 
+and returns the resulting string. 
+It takes into account the operating system language
+settings when doing this, so spcial characters are converted correctly as
+well.
+
+{\em Remark} On linux, no language setting is taken in account yet.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiUpperCase}, \seef{AnsiStrLower}, \seef{AnsiStrUpper}
 \end{function}
 
+\latex{\inputlisting{sysutex/ex53.pp}}
+\html{\input{sysutex/ex53.tex}}
  
 \begin{function}{AnsiQuotedStr}
 \Declaration
 Function AnsiQuotedStr(const S: string; Quote: char): string;
 \Description
+\var{AnsiQuotedString} quotes the string \var{S} and returns the result.
+This means that it puts the \var{Quote} character at both the beginning and
+end of the string and replaces any occurrence of \var{Quote} in \var{S} 
+with 2 \var{Quote} characters. The action of \var{AnsiQuotedString} can be
+reversed by \seef{AnsiExtractQuotedStr}.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiExtractQuotedStr}
 \end{function}
 
+For an example, see \seef{AnsiExtractQuotedStr}
  
 \begin{function}{AnsiStrComp}
 \Declaration
 Function AnsiStrComp(S1, S2: PChar): integer;
 \Description
+\var{AnsiStrComp} compares 2 \var{PChar} strings, and returns the following
+result:
+\begin{description}
+\item[<0]  if \var{S1<S2}.
+\item[0]  if \var{S1=S2}.
+\item[>0]  if \var{S1>S2}.
+\end{description}
+The comparision of the two strings is case-sensitive.
+The function does not yet take internationalization settings into account.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiCompareText}, \seef{AnsiCompareStr}
 \end{function}
 
+\latex{\inputlisting{sysutex/ex54.pp}}
+\html{\input{sysutex/ex54.tex}}
  
 \begin{function}{AnsiStrIComp}
 \Declaration
 Function AnsiStrIComp(S1, S2: PChar): integer;
 \Description
+\var{AnsiStrIComp} compares 2 \var{PChar} strings, and returns the following
+result:
+\begin{description}
+\item[<0]  if \var{S1<S2}.
+\item[0]  if \var{S1=S2}.
+\item[>0]  if \var{S1>S2}.
+\end{description}
+The comparision of the two strings is case-insensitive.
+The function does not yet take internationalization settings into account.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiCompareText}, \seef{AnsiCompareStr}
 \end{function}
 
- 
+\latex{\inputlisting{sysutex/ex55.pp}}
+\html{\input{sysutex/ex55.tex}}
+
+\begin{function}{AnsiStrLastChar}
+\Declaration
+function AnsiStrLastChar(Str: PChar): PChar;
+\Declaration
+\var{AnsiStrLastChar} returns a pointer to the last character of \var{Str}.
+Since multibyte characters are not yet supported, this is the same
+as \var{StrEnd(Str)-1}.
+\Errors
+None.
+\SeeAlso
+\seef{AnsiLastChar}
+\end{function}
+
+\latex{\inputlisting{sysutex/ex58.pp}}
+\html{\input{sysutex/ex58.tex}}
+
 \begin{function}{AnsiStrLComp}
 \Declaration
 Function AnsiStrLComp(S1, S2: PChar; MaxLen: cardinal): integer;
 \Description
+\var{AnsiStrLComp} compares the first \var{Maxlen} characters of
+2 \var{PChar} strings, \var{S1} and \var{S2}, and returns the following
+result:
+\begin{description}
+\item[<0]  if \var{S1<S2}.
+\item[0]  if \var{S1=S2}.
+\item[>0]  if \var{S1>S2}.
+\end{description}
+The comparision of the two strings is case-sensitive.
+The function does not yet take internationalization settings into account.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiCompareText}, \seef{AnsiCompareStr}
 \end{function}
 
- 
+\latex{\inputlisting{sysutex/ex56.pp}}
+\html{\input{sysutex/ex56.tex}}
+
 \begin{function}{AnsiStrLIComp}
 \Declaration
 Function AnsiStrLIComp(S1, S2: PChar; MaxLen: cardinal): integer;
 \Description
+\var{AnsiStrLIComp} compares the first \var{Maxlen} characters of
+2 \var{PChar} strings, \var{S1} and \var{S2}, and returns the following
+result:
+\begin{description}
+\item[<0]  if \var{S1<S2}.
+\item[0]  if \var{S1=S2}.
+\item[>0]  if \var{S1>S2}.
+\end{description}
+The comparision of the two strings is case-insensitive.
+The function does not yet take internationalization settings into account.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiCompareText}, \seef{AnsiCompareStr}
 \end{function}
-
  
-\begin{function}{AnsiStrLast}
+\latex{\inputlisting{sysutex/ex57.pp}}
+\html{\input{sysutex/ex57.tex}}
+
+
+
+\begin{function}{AnsiStrLower}
 \Declaration
-Function AnsiStrLast(Str: PChar): PChar;
+Function AnsiStrLower(Str: PChar): PChar;
 \Description
+\var{AnsiStrLower} converts the PChar \var{Str} to lowercase characters 
+and returns the resulting pchar. Note that \var{Str} itself is modified,
+not a copy, as in the case of \seef{AnsiLowerCase}.
+It takes into account the operating system language
+settings when doing this, so spcial characters are converted correctly as
+well.
+
+{\em Remark} On linux, no language setting is taken in account yet.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiStrUpper}, \seef{AnsiLowercase}
 \end{function}
-
- 
-\begin{function}{CharAnsiStrLower}
-\Declaration
-Function AnsiStrLower(Str: PChar): PChar;
-\Description
 \Errors
 \SeeAlso
 \end{function}
 
+\latex{\inputlisting{sysutex/ex59.pp}}
+\html{\input{sysutex/ex59.tex}}
  
 \begin{function}{AnsiStrUpper}
 \Declaration
 Function AnsiStrUpper(Str: PChar): PChar;
 \Description
+\var{AnsiStrUpper} converts the \var{PChar} \var{Str} to uppercase characters 
+and returns the resulting string. Note that \var{Str} itself is modified,
+not a copy, as in the case of \seef{AnsiUpperCase}.
+It takes into account the operating system language
+settings when doing this, so spcial characters are converted correctly as
+well.
+
+{\em Remark} On linux, no language setting is taken in account yet.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiUpperCase}, \seef{AnsiStrLower}, \seef{AnsiLowerCase}
 \end{function}
 
+\latex{\inputlisting{sysutex/ex60.pp}}
+\html{\input{sysutex/ex60.tex}}
  
 \begin{function}{AnsiUpperCase}
 \Declaration
 Function AnsiUpperCase(const s: string): string;
 \Description
+\var{AnsiUpperCase} converts the string \var{S} to uppercase characters 
+and returns the resulting string. 
+It takes into account the operating system language
+settings when doing this, so spcial characters are converted correctly as
+well.
+
+{\em Remark} On linux, no language setting is taken in account yet.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiStrUpper}, \seef{AnsiStrLower}, \seef{AnsiLowerCase}
 \end{function}
 
+\latex{\inputlisting{sysutex/ex61.pp}}
+\html{\input{sysutex/ex61.tex}}
  
 \begin{procedure}{AppendStr}
 \Declaration
-Procedure AppendStr(var Dest: PString; const S: string);
+Procedure AppendStr(var Dest: String; const S: string);
 \Description
+\var{AppendStr} appends \var{S} to Dest. 
+
+This function is provided for Delphi
+compatibility only, since it is completely equivalent to \var{Dest:=Dest+S}.
 \Errors
+None.
 \SeeAlso
+\seep{AssignStr},\seef{NewStr}, \seep{DisposeStr}
 \end{procedure}
 
+\latex{\inputlisting{sysutex/ex62.pp}}
+\html{\input{sysutex/ex62.tex}}
  
 \begin{procedure}{AssignStr}
 \Declaration
 Procedure AssignStr(var P: PString; const S: string);
 \Description
+\var{AssignStr} allocates \var{S} to P. The old value of \var{P} is
+disposed of.
+
+This function is provided for Delphi compatibility only. \var{AnsiStrings}
+are managed on the heap and should be preferred to the mechanism of
+dynamically allocated strings.
 \Errors
+None.
 \SeeAlso
+\seef{NewStr}, \seep{AppendStr}, \seep{DisposeStr}
 \end{procedure}
 
+\latex{\inputlisting{sysutex/ex63.pp}}
+\html{\input{sysutex/ex63.tex}}
  
 \begin{function}{BCDToInt}
 \Declaration
 Function BCDToInt(Value: integer): integer;
 \Description
+\var{BCDToInt} converts a \var{BCD} coded integer to a normal integer.
 \Errors
+None.
 \SeeAlso
+\seef{StrToInt}, \seef{IntToStr}
 \end{function}
 
+\latex{\inputlisting{sysutex/ex64.pp}}
+\html{\input{sysutex/ex64.tex}}
+
  
 \begin{function}{CompareMem}
 \Declaration
 Function CompareMem(P1, P2: Pointer; Length: cardinal): integer;
 \Description
+\var{CompareMem} compares, byte by byte,  2 memory areas pointed 
+to by \var{P1} and \var{P2}, for a length of \var{L} bytes. 
+
+It returns the following values:
+\begin{description}
+\item[<0] if at some position the byte at \var{P1} is less than the byte at the
+same postion at \var{P2}.
+\item[0] if all \var{L} bytes are the same.
+\item[3]
+\end{description}
 \Errors
 \SeeAlso
 \end{function}
@@ -1731,8 +1943,21 @@ Function CompareMem(P1, P2: Pointer; Length: cardinal): integer;
 \Declaration
 Function CompareStr(const S1, S2: string): Integer;
 \Description
+\var{CompareStr} compares two strings, \var{S1} and \var{S2}, 
+and returns the following
+result:
+\begin{description}
+\item[<0]  if \var{S1<S2}.
+\item[0]  if \var{S1=S2}.
+\item[>0]  if \var{S1>S2}.
+\end{description}
+The comparision of the two strings is case-sensitive.
+The function does not take internationalization settings into account, it
+simply compares ASCII values.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiCompareText}, \seef{AnsiCompareStr}, \seef{CompareText}
 \end{function}
 
  
@@ -1740,8 +1965,21 @@ Function CompareStr(const S1, S2: string): Integer;
 \Declaration
 Function CompareText(const S1, S2: string): integer;
 \Description
+\var{CompareText} compares two strings, \var{S1} and \var{S2}, 
+and returns the following
+result:
+\begin{description}
+\item[<0]  if \var{S1<S2}.
+\item[0]  if \var{S1=S2}.
+\item[>0]  if \var{S1>S2}.
+\end{description}
+The comparision of the two strings is case-insensitive.
+The function does not take internationalization settings into account, it
+simply compares ASCII values.
 \Errors
+None.
 \SeeAlso
+\seef{AnsiCompareText}, \seef{AnsiCompareStr}, \seef{CompareStr}
 \end{function}
 
  
@@ -1749,8 +1987,16 @@ Function CompareText(const S1, S2: string): integer;
 \Declaration
 Procedure DisposeStr(S: PString);
 \Description
+\var{DisposeStr} removes the dynamically allocated string \var{S} from the
+heap, and releases the occupied memory.
+
+This function is provided for Delphi compatibility only. \var{AnsiStrings}
+are managed on the heap and should be preferred to the mechanism of
+dynamically allocated strings.
 \Errors
+None.
 \SeeAlso
+\seef{NewStr}, \seep{AppendStr}, \seep{AssignStr}
 \end{procedurel}