Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.07;
Скачать: CL | DM;

Вниз

Можно ли как нибудь увеличить быстродействие?   Найти похожие ветки 

 
Bast   (2007-09-07 10:15) [0]

Можно ли как нибудь увеличить быстродействие?
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 10:38) [1]

Жуткий код.
Объявления LABEL я не видел уже лет пять.
Что этот код делать должен?


 
tesseract ©   (2007-09-07 10:46) [2]

бред какой-то куча присвоений и МЕТКИ. В таких дебрях ногу сломишь.


 
iam   (2007-09-07 10:50) [3]

можно, переписать с нуля


 
Jeer ©   (2007-09-07 10:54) [4]

Пример того как писать не надо.


 
novill ©   (2007-09-07 11:10) [5]

такое ощущение, что код сперт из какого-то древнего примера...


 
Bast   (2007-09-07 11:11) [6]

Код написан мною) Это генератор случайных букв, чисел короче чего угодно)


 
Вася Правильный   (2007-09-07 11:12) [7]

нереально


 
Вася Правильный   (2007-09-07 11:14) [8]


> Это генератор случайных букв, чисел короче чего угодно)

Random, Chr


 
Anatoly Podgoretsky ©   (2007-09-07 11:17) [9]

> Jeer  (07.09.2007 10:54:04)  [4]

Пример того кому писать не надо.


 
Jeer ©   (2007-09-07 11:32) [10]


> Anatoly Podgoretsky ©   (07.09.07 11:17) [9]


Да почему ж - пусть пишет, не думаю, что меня это беспокоит.
Есть же садомазохисты - главное, чтобы в атомную станцию или банковское ПО такой код не попал.


 
Anatoly Podgoretsky ©   (2007-09-07 11:38) [11]

> Jeer  (07.09.2007 11:32:10)  [10]

А ты гарантируешь это?
Кроме них есть еще множество областей с катастрофическими последствиями.


 
novill ©   (2007-09-07 11:46) [12]

> [6] Bast   (07.09.07 11:11)

Ты подробно опиши что твой код делать должен. Может, кто тебе нормальный код на это напишет :)


 
Anatoly Podgoretsky ©   (2007-09-07 11:51) [13]

Вот так и будет кормиться чужим кодом.
Посоветовал бы лучше профессию сменить, сколько есть разных других профессий, где не хватает людей, дворники например.


 
Riply ©   (2007-09-07 11:56) [14]

>[12] novill ©   (07.09.07 11:46)
>Ты подробно опиши что твой код делать должен. Может, кто тебе нормальный код на это напишет :)
Так он же написал в [6] Bast


 
novill ©   (2007-09-07 12:00) [15]

> [13] Anatoly Podgoretsky ©   (07.09.07 11:51)

Ну пусть попробует. Все-таки программа начинается с ТЗ.

Может человек учился по книжке "Turbo Pascal 5.5"!?


 
Anatoly Podgoretsky ©   (2007-09-07 12:01) [16]

> novill  (07.09.2007 12:00:15)  [15]

Может и так. А ты читал его другие вопросы?


 
Jeer ©   (2007-09-07 12:17) [17]


> Anatoly Podgoretsky ©   (07.09.07 11:38) [11]


> А ты гарантируешь это?


Если он научится писать следующий код во всех случаях нажатия на кнопки,
то безопасность атомных станций я гарантирую:)

procedure TForm1.Button1Click(Sender: TObject);
begin
end;


 
novill ©   (2007-09-07 12:17) [18]

Ясно.


 
sniknik ©   (2007-09-07 12:28) [19]

Jeer ©   (07.09.07 12:17) [17]
ага, особенно на кнопке - "охладить реактор" (выключить/поднять стержни и т.д.) в нештатной ситуации.

Riply ©   (07.09.07 11:56) [14]
> Так он же написал в [6] Bast
написал
> Это генератор случайных букв, чисел короче чего угодно)
чего угодно говорите? а сгенерите-ка мне молодую, симпатичную подругу.... как раз в отпуск не с кем ехать.

серьёзно считаешь написанное нормальным ТЗ, по которому могут что то сделать?


 
Riply ©   (2007-09-07 12:33) [20]

> [19] sniknik ©   (07.09.07 12:28)
Ну мы же в "начинающих". Вот и к ТЗ соответствующие требования :)
>а сгенерите-ка мне молодую, симпатичную подругу.... как раз в отпуск не с кем ехать.
А вот это уже в "WinAPI" надо спрашивать :)


 
Dib@zol ©   (2007-09-07 15:34) [21]

от это брееед... давно с таким не встречался <%()
Может, так?

program RT;
{$APPTYPE CONSOLE}

var
 F : TextFile;
 sc, lc, k : Word;
 fn : string;

function GenRandomText(chars:Word):string;
var i : Word;
begin
 Result:="";
 for i:=1 to chars do
   Result:=Result+chr(Random(255-32)+32);
end;

begin
 Write("Enter a filename with full path: ");
 Readln(fn);

 WriteLn("");
 Write("Enter the number of symbols in each line: ");
 Readln(sc);

 WriteLn("");
 Write("Enter the line count: ");
 Readln(lc);

 AssignFile(F, fn);
 Rewrite(F);
 for k:=1 to lc do
   Writeln(F, GenRandomText(sc));
 CloseFile(F);

 WriteLn("");
 Write("File successfully created! Press any key to exit... ");
 ReadLn;
end.


 
Джо ©   (2007-09-07 15:43) [22]


> function GenRandomText(chars:Word):string;
> var i : Word;
> begin
>  Result:="";
>  for i:=1 to chars do
>    Result:=Result+chr(Random(255-32)+32);
> end;


function GenRandomText(chars:Word):string;
var i : Word;
begin
SetLength (Result, Chars);
for i:=1 to chars do
  Result[I] := chr(Random(255-32)+32);
end;


 
DVM ©   (2007-09-07 17:45) [23]


> sniknik ©   (07.09.07 12:28) [19]
> Jeer ©   (07.09.07 12:17) [17]
> ага, особенно на кнопке - "охладить реактор" (выключить/поднять
> стержни и т.д.) в нештатной ситуации.

При нештатной ситуации стержни как раз опускают - они затормаживают реакцию.


 
Dib@zol ©   (2007-09-07 17:53) [24]

> [23] DVM ©   (07.09.07 17:45)

Если бы там были ТАКИЕ программеры, то именно "Поднять"!!! Так как из за глюков работать прога будет диаметрально противоположно задуманному :) стержни опустятся и Чернобыль отложится на месяц-другой...


 
sniknik ©   (2007-09-07 18:01) [25]

> При нештатной ситуации стержни как раз опускают - они затормаживают реакцию.
вот видишь, мне тоже не стоит доверять писать в этой теме...



Страницы: 1 вся ветка

Текущий архив: 2007.10.07;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.028 c
15-1189424595
MZ
2007-09-10 15:43
2007.10.07
Управление пользователями FireBird


15-1189356433
Beastie Boys
2007-09-09 20:47
2007.10.07
про выделенный сервер


2-1189199640
dima123
2007-09-08 01:14
2007.10.07
ListView


3-1180603628
salexn
2007-05-31 13:27
2007.10.07
SQL Parser


15-1189334638
re_john
2007-09-09 14:43
2007.10.07
Как программно изменить расширение файла?