Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.042 c
1-1185652576
click
2007-07-28 23:56
2007.10.07
плавный скроллинг TScrollBox


10-1137864342
avseal
2006-01-21 20:25
2007.10.07
работа с OLEContainerом


2-1188712738
ПРОФан
2007-09-02 09:58
2007.10.07
Нажатие F6


15-1189059162
boriskb
2007-09-06 10:12
2007.10.07
Чой то это... непонятно


2-1189391632
арпывапр
2007-09-10 06:33
2007.10.07
отключение USB?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский