![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Уважаемые товарищи знатоки,
Дело собственно вот в чем: Есть процедура, которая постоянно выполняется в цикле, нужно определить сколько раз эта процедура выполняется в секунду, как это можно сделать? Последний раз редактировалось Nothing, 25.02.2010 в 11:11. |
#2
|
||||
|
||||
![]() Засеки время выполнения цикла...
Замерь текущее время до цикла затем замерь текущее время после цикла...Вычти одно из другого и подели на количество повторений в цикле... Так же можно воспользоваться более точными счетчиками GetTickCount... http://www.codenet.ru/progr/delphi/W...tTickCount.php Или очень точным счетчиком QueryPerformanceCounter... http://www.delphisources.ru/pages/fa...ct_timer2.html В начале был Бит, потом Байт и только потом появилось Слово... Последний раз редактировалось NIch, 25.02.2010 в 11:32. |
#3
|
|||
|
|||
![]() Эта процедура выполняется единожды в цикле, собственно мне нужно замерить количество выполнений процедуры за определенный прмежуток времени
|
#4
|
||||
|
||||
![]() Я понял тебя....
У тебя как то так? Код:
for i := 0 to 1000 do begin MyProcedure; end; Код:
for i := 0 to 1000 do begin n := GetTickCount;//Засек время MyProcedure;//Выполнил процедуру m := GetTickCount;//Засек время s := m-n;//Вычислил время выполнения процедуры s1 := s1+s;//Вычислил общее время цикла end; t := s1 /1000;//получил среднее время выполнения процедуры //К примеру 0,001 сек...т.е. за одну сек 1000 раз...все))) В начале был Бит, потом Байт и только потом появилось Слово... |
#5
|
||||
|
||||
![]() |
#6
|
|||
|
|||
![]() Есть еще один вопросик, решил не создавать новую тему,
Вообщем мне нужно загрузить в программу список (TList), как это сделать так чтобы принажатии на кнопку вызывалось окно выбора файла, а после выбора содержимое файла присваивалось переменной типа TList |
#7
|
|||
|
|||
![]() Цитата:
Код:
procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then ListBox1.Items.LoadFromFile(OpenDialog1.FileName); end; |
#8
|
|||
|
|||
![]() ага, понял спасибо
|
#9
|
|||
|
|||
![]() Выдает ошибку
[Error] Unit1.pas(52): Undeclared identifier: 'OpenDialog1' почему? На форму вкинул, в types она есть OpenDialog1: TOpenDialog; |
#10
|
|||
|
|||
![]() А в uses, есть Dialogs?
|
#11
|
|||
|
|||
![]() Да есть, чтоб постоянно не париться вот набросок
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus; type tform1 = class(TForm) Label1: TLabel; Subject: TEdit; Label2: TLabel; Label3: TLabel; Label4: TLabel; Load: TButton; Start: TButton; Cancel: TButton; CheckBox1: TCheckBox; Label5: TLabel; Edit1: TEdit; Label6: TLabel; Edit2: TEdit; MainMenu1: TMainMenu; File1: TMenuItem; About1: TMenuItem; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; Memo1: TMemo; OpenDialog1: TOpenDialog; Label7: TLabel; Label8: TLabel; Label9: TLabel; procedure Loadclick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure Loadclick(Sender: TObject); begin if OpenDialog1.Execute then ListBox1.Items.LoadFromFile(OpenDialog1.FileName); end; end. |
#12
|
||||
|
||||
![]() Попробуй так)))
Код:
procedure tform1.Loadclick(Sender: TObject); begin if OpenDialog1.Execute then ListBox1.Items.LoadFromFile(OpenDialog1.FileName); end; В начале был Бит, потом Байт и только потом появилось Слово... |
#13
|
|||
|
|||
![]() О1, да простите
|