| 
   
Справочник по KOL - Работа со строками
  
Ведущий раздела KOL и MCK: Анатолий aka XVeL 
Автор: Борис Моренко 
WEB-сайт: http://kolmck.net/
 
      function AnsiEq( const S1, S2: String ): Boolean;  Возвращает 
      true, если AnsiLowerCase(S1) 
      = AnsiLowerCase(S2) т.е сравнивает 2 строки без учета регистра. Данная 
      функция подойдет только для русских символов. function DelimiterLast( 
      const Str, Delimiters: String ): Integer;  Функция ищет в строке 
      Str последнее вхождение строки Delimiters и возвращает номер символа с 
      которого он идет. Если Delimiters не найден возвращается длина Str.  
      function AnsiUpperCase( const S: string ): string; 
       Преобразует символы в строке S к верхнему регистру. 
      function AnsiLowerCase( const S: 
      string ): string;  Преобразует символы в строке S к нижнему 
      регистру. 
      function AnsiCompareStr( const S1, S2: string ): Integer; 
       Сравнивает две строки ANSI S1 и S2 без учета регистра. Возвращает 
      значение < 0, если S1 < S2, 0, если S1 = S2, и > 0, если S1 > 
      S2. 
      function _AnsiCompareStr( S1, S2: PChar ): Integer;  Аналог 
      AnsiCompareStr только для PChar. 
      function CopyEnd( const S: String; Idx: Integer ): 
      String; Копирует строку из строки S с Idx символа до последнего 
 
      function CopyTail( const S: String; Len: Integer ): String; 
       Возвращает последние Len символа из строки S. Если Len > 
      Length( S ), возвращается вся строка S.  
      procedure DeleteTail( var S: String; Len: Integer );  Удаляет 
      последние Len символа из строки. 
      function LowerCase( const S: string ): 
      string;  Преобразует символы в строке S к нижнему регистру. Только 
      для латинских символов.  
      procedure NormalizeUnixText( var S: String );  В строке S 
      происходит замена всех символов #10 на символ #13 
      function IndexOfChar( const S: String; Chr: Char ): Integer; 
       Возвращает положение символа Chr в строке S. Возвращаемое значение 
      может быть то 1 до Length(S), если возвращается -1 то символ не 
найден. 
      function IndexOfCharsMin( const S, Chars: String ): 
      Integer; Возвращает положение ближайшего от начала(строки) символа 
      Chr в строке S. Если возвращается -1 то символ не найден. 
      function IndexOfStr( const S, Sub: String ): 
      Integer; Возвращает положение строки Sub в строке S. Возвращаемое 
      значение может быть то 1 до Length(S)-Length(Sub), если возвращается -1 то 
      строка не найдена.  
      function Parse( var S: String; const Separators: String ): String; 
       Функция ищет в строке S строку Separators и возвращает все что шло 
      до этого разделителя (т.е. до Separators). В строке S удаляется 
      возвращаемая часть и найденный Separators.  Т.е. если S= '1-2-3',а 
      Separators= '-' то при первом вызове на выходе '1' , а S='2-3' Если в S 
      нет Separators то возвращаемое значение рано S, а сама S становится 
      пуcтой.  
      function StrEq( const S1, S2: String ): 
      Boolean;  Возвращает true, если LowerCase(S1) = 
      LowerCase(S2) т.е сравнивает 2 строки без учета регистра. Данная функция 
      подойдет только для латинских символов.  
      function StrIn( const S: String; A: array of String ): Boolean; 
       Функция возвращает True если в одна из строк массива А равна 
      строке S. Спавнение идет с помощью функции StrEq поэтому оно не 
      чуствительно к регистру букв.  
      function StrSatisfy( const S, Mask: String ): Boolean; 
       Возвращает True если строка S соответствует маске Mask. Строка 
      Mask может содержать символ '*' (любое количество любых символов) и '?' 
      (один любой символ). Например чтобы проверить содержит ли S адрес почты 
      надо :  StrSatisfy(S,'*@*.*'); 
      function StrReplace( var S: String; const 
      From, ReplTo: String ): Boolean;  Производит замену в строке S 
      первой встреченной строки From на строку ReplTo. Если замена произошла 
      успешно возвращает True. 
      function StrPCopy( Dest: PChar; const Source: string ): PChar; 
       Копирует паскалевскую строку в строку типа PChar 
      function StrLCopy( Dest: PChar; const Source: PChar; MaxLen: 
      Cardinal ): PChar;  Копирует первые MaxLen символов из 
      паскалевсокой строки в строку типа PChar.  
      function StrComp( const Str1, Str2: PChar ): 
      Integer;  Быстрое сравнение 2-х строк. На выходе -1: Str1<Str2; 
      0: Str1=Str2; +1: Str1>Str2  
      function StrLComp( const Str1, Str2: PChar; MaxLen: Cardinal ): 
      Integer;  Сравнивает до MaxLen символов двух строк Str1 и Str2 с 
      учетом регистра. Возвращает значение < 0, если Str1 < Str2, 0, если 
      Str1 = Str2, и > 0, если Str1 > Str2.  
      function StrCopy( Dest, Source: PChar ): PChar;  Функция 
      производит быстрое копирование строки Source в Dest и возвращает Dest. 
      function StrLen( const Str: PChar ): Cardinal;  Функция 
      возвращает число символов в строке Str, не учитывая конечного нулевого 
      символа.  
      function StrScanLen( Str: PChar; Chr: Char; Len: Integer ): PChar; 
       Быстрое сканирование строки Str длиной Len на нахождение в нем 
      первого символа Chr . Если Chr не входит в Str, возвращается nil. 
      function StrScan( Str: PChar; Chr: Char ): PChar;  Полный 
      аналог предыдущей функции только сканирование происходит всей строки Str 
      до последнего символа.  
      function StrRScan( const Str: PChar; Chr: Char ): PChar; 
       Возвращает указатель на последнее вхождение символа Chr в строку 
      Str. Если Chr не входит в Str, возвращается nil.  
      function StrIsStartingFrom( Str, Pattern: PChar ): Boolean; 
       Возвращает True если строка Str начинается со строки Pattern, то 
      есть если Copy( Str, 1, StrLen( Pattern ) ) = Pattern  
      procedure Str2LowerCase( S: PChar );  Переводит символы в 
      нуль-терминальной строке в верхней регистр. 
      function TrimLeft( const S: string ): string;  Удаляет из 
      начала строки S пробелы и управляющие символы 
      function TrimRight( const S: string ): string;  Удаляет в 
      конца строки S пробелы и управляющие символы. 
      function Trim( const S: string ): string; Удаляет в конца и в 
      начале строки S пробелы и управляющие символы.  
      function UpperCase( const S: string ): string;  Преобразует 
      символы в строке S к верхнему регистру. Только для латинских символов. 
 
      function WStrReplace( var S: WideString; const From, ReplTo: 
      WideString ): Boolean;  Производит замену в строке S первой 
      встреченной строки From на строку ReplTo. Если замена произошла успешно 
      возвращает True. Анналог функции StrReplace только 
      для WideString (поэтому в Delphi 2 не будет) 
      function WStrLen( W: PWideChar ): Integer;  Возвращает длину 
      строки типа PWideChar.  
      procedure WStrCopy( Dest, Src: PWideChar );  Копирует строку 
      Dest тип PWideChar в Src 
      function WStrCmp( W1, W2: PWideChar ): Integer;  Сравнивает 
      2-е строки тип PWideChar. На выходе тоже что и у StrComp 
      function Clipboard2Text: String; 
       Возвращает из буфера обмена текст.  
      function Text2Clipboard( const S: String ): Boolean; Помещает 
      в буфер обмена текст 
           |