unit TrimStr; {$B-} { Файл: TrimStr Автор: Bob Swart [100434,2072] Описание: программы для удаления конечных/начальных пробелов и левых/правых частей строк (аналог Basic-функций). Версия: 2.0
LTrim() - Удаляем все пробелы в левой части строки RTrim() - Удаляем все пробелы в правой части строки Trim() - Удаляем все пробелы по краям строки RightStr() - Возвращаем правую часть стоки заданной длины LeftStr() - Возвращаем левую часть стоки заданной длины MidStr() - Возвращаем центральную часть строки
} interface Const Space = #$20;
function LTrim(Const Str: String): String; function RTrim(Str: String): String; function Trim(Str: String): String; function RightStr(Const Str: String; Size: Word): String; function LeftStr(Const Str: String; Size: Word): String; function MidStr(Const Str: String; Size: Word): String;
implementation
function LTrim(Const Str: String): String; var len: Byte absolute Str; i: Integer; begin i := 1; while (i <= len) and (Str[i] = Space) do Inc(i); LTrim := Copy(Str,i,len) end {LTrim};
function RTrim(Str: String): String; var len: Byte absolute Str; begin while (Str[len] = Space) do Dec(len); RTrim := Str end {RTrim};
function Trim(Str: String): String; begin Trim := LTrim(RTrim(Str)) end {Trim};
function RightStr(Const Str: String; Size: Word): String; var len: Byte absolute Str; begin if Size > len then Size := len; RightStr := Copy(Str,len-Size+1,Size) end {RightStr};
function LeftStr(Const Str: String; Size: Word): String; begin LeftStr := Copy(Str,1,Size) end {LeftStr};
function MidStr(Const Str: String; Size: Word): String; var len: Byte absolute Str; begin if Size > len then Size := len; MidStr := Copy(Str,((len - Size) div 2)+1,Size) end {MidStr}; end.