Очистка строки (символьное значение числа) от пробелов, нулей и точки

Очистка строки (символьное значение числа) от пробелов, нулей и точки

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Очистка строки (символьное значение числа) от пробелов, нулей и точки
Функция возращает строку очищенную от символов: пробел, ноль, точка.
Зависимости: нет
Автор: Виталий, <a href="mailto:center_sapr@mnogo.ru">center_sapr@mnogo.ru</a>, Львов
Copyright: Witek
Дата: 26 апреля 2002 г.
***************************************************** }

unit Unit2;
interface
function StrFl(st: string): string;
implementation
function StrFl(st: string): string;
label
 p1, p2, p3;
var
 poz: Byte;
 k: integer;
 stt: string;
begin
 k := Length(st);
 if k <= 1 then
  goto p2;
 p1:
 stt := Copy(st, 1, 1); {Очистка от пробелов}
 if stt = ' ' then
 begin
  st := Copy(st, 2, k - 1);
  k := k - 1;
  goto p1;
 end;
 stt := Copy(st, k, 1);
 if stt = ' ' then
 begin
  st := Copy(st, 1, k - 1);
  k := k - 1;
  goto p1;
 end;
 p3:
 poz := Pos('.', st); {Очистка от нулей}
 if poz = 0 then
  goto p2;
 stt := Copy(st, k, 1);
 if stt = '0' then
 begin
  st := Copy(st, 1, k - 1);
  k := k - 1;
  goto p3;
 end;
 if stt = '.' then {Очистка от точки}
 begin
  st := Copy(st, 1, k - 1);
 end;
 p2:
 StrFl := st;
end;
end.
//Пример результатов:
//5.000 -> 5
//5.001 -> 5.001
//05.100 -> 05.1

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...