Форум: "Основная";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];
ВнизОптимизация кода (цикл в цикле), код ниже: Найти похожие ветки
← →
Shaman_Naydak (2002-03-27 21:06) [11]Ну поспешил человек, с кем не бывает..
Вот вариант Подгородецкого:
procedure TForm1.Button4Click(Sender: TObject);
var
S: string;
i, j: Integer;
begin
S := "";
if Length(Memo1.Lines.Text) <> 0 then begin
J := 1;
SetLength(S, Length(Memo1.Lines.Text)*3);
for I := 1 to Length(Memo1.Lines.Text) do begin
if Memo1.Lines.Text[I] >= " " then begin
S[J] := Memo1.Lines.Text[I];
S[J+1] := #13;
S[J+2] := #10;
J := J + 3;
end;
end;
end;
S[J] := #0;
Memo1.Lines.Text := PChar(@S[1]);
end;
А Вот и Мой вариант ( еще быстрее) :))
procedure TForm1.Button5Click(Sender: TObject);
var
S: string;
i: Integer;
P: PChar;
begin
S:=Memo1.Text;
if S = "" then
P:=PChar(S)
else
begin
i:=Length(S);
SetLength(S, i*3);
P:=PChar(@S[i*3])+1;
for i:=i downto 1 do
if S[i] >= " " then
begin
dec(P); P^:=#10;
dec(P); P^:=#13;
dec(P); P^:=S[i];
end;
end;
Memo1.Text:=P;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c