Цитата 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;