![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли как нибудь увеличить быстродействие?
Bast © (2007-09-07 10:15:00)Можно ли как нибудь увеличить быстродействие?
procedure TForm1.Button1Click(Sender: TObject);
var
a:array of char;
p:char;
max,min,k,i:integer;
s:string;
f:textfile;
label
bb, nn, kk, ee;
begin
if savedialog1.Execute then
begin
assignfile(f,savedialog1.FileName);
rewrite(f);
s:=edit1.Text;
setlength(a,length(s));
for i:=1 to length(s) do a[i]:=s[i];
min:=strtoint(edit2.Text);
max:=min-1;
nn:
inc(max);
if max>strtoint(edit3.Text) then goto ee;
k:=max;
s:='';
//setlength(s,max);
for i:=min to max do
begin
s:=s+a[1];
writeln(f,s);
//вывод s
end;
bb:
for i:=2 to length(a) do
begin
s[k]:=a[i];
writeln(f,s);
//вывод s
end;
kk:
dec(k);
if k=0 then goto nn;
p:=s[k];
for i:=1 to length(a) do if p=a[i] then break;
if i=length(a) then goto kk
else
begin
s[k]:=a[i+1];
writeln(f,s);
//вывод s
for i:=k+1 to max do
begin
s[i]:=a[1];
writeln(f,s);
//вывод s
end;
k:=max;
goto bb;
end;
end;
ee:
closefile(f);
showmessage('OK!');
end;
end.
novill (2007-09-07 11:10:00) [21]такое ощущение, что код сперт из какого-то древнего примера...
Jeer (2007-09-07 10:54:00) [22]Пример того как писать не надо.
iam (2007-09-07 10:50:00) [23]можно, переписать с нуля
tesseract (2007-09-07 10:46:00) [24]бред какой-то куча присвоений и МЕТКИ. В таких дебрях ногу сломишь.
novill (2007-09-07 10:38:00) [25]Жуткий код.
ОбъявленияLABELя не видел уже лет пять.
Что этот код делать должен?