Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 1133
Благодарности: 581

Профиль | Отправить PM | Цитировать


Цитата Johny777:
помогите пожалуйста упростить код »
Не буду утверждать, что самый лучший вариант, т.к. совершенству нет предела...
читать дальше »

Код: Выделить весь код
function OnlyInt(const Value: string): string; /// оставлять только цифры
var
  i, len: Integer;
begin
  Result := '';
  len := Length(Value);
  if len > 0 then
    for i := 1 to len do
      case Value[i] of
        0..9: Result := Result + Value[i];
      end;
end;

function IsInt(const Value: string): Boolean;   /// цифры ли
var
  i: Integer;
begin
  Result := False;
  if Length(Value) > 0 then
    for i := 0 to 9 do
      begin
        Result := Pos(IntToStr(i), Value) > 0;
        if Result then
          Break;
      end;
end;

Функция GetText1 вернёт пустую строку, при таком варианте GetText1('<tag>', '</tag><tag>Test</tag>', '</tag>'), я бы написал её так:
читать дальше »

Код: Выделить весь код
function GetText1(const OpenTag, aText, CloseTag: string): string;
var
  pos_tag: Integer;
  s: string;
begin
  Result := '';
  pos_tag := Pos(OpenTag, aText);
  if pos_tag > 0 then
    try
      s := Copy(aText, pos_tag + Length(OpenTag), Length(aText) - pos_tag);
      pos_tag := Pos(CloseTag, s);
      if pos_tag > 0 then
        Result := Copy(s, 1, pos_tag - 1);
    finally
      SetLength(s, 0);
    end;
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:48, 17-09-2012 | #942