Delphi7でミリ秒またはナノ秒のタイマーを探しています。シーケンシャル検索で3つのISAMファイルの速度を確認する必要があります。最初のindファイルには、「record_0」から「record_50」のような50個の文字列が含まれています。2番目の「record_0」から「record_500」および3番目の「record_0」から「record_5000」。私はすべてを実装しましたが、タイマーの作り方がわかりません。文字列を各ISAMファイルの最後の項目と比較しています。これが最初のindファイルの私のコードです:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
var content : String[20];
var indexCounter:integer;
var keyword:string;
begin
//First ISAM file
AssignFile(indF1, 'index1.ind');
ReWrite(indF1);
Reset(indF1);
for i:=0 to 49 do begin
content := 'record_';
content := content + IntToStr(i+1);
index1.index1 := content;
index1.position1 := FileSize(indF1);
Seek(indF1, FileSize(indF1));
write(indF1, index1);
end;
CloseFile(indF1);
Label12.Caption := FileSizeStr('index1.ind');
//Sequential search in first ind file
Reset(indF1);
keyword := 'record_50';
indexCounter := 0;
//start timer
while not Eof(indF1) do begin
Seek(indF1, indexCounter);
Read(indF1, Index1);
if (keyword = Index1.index1) then begin
//stop timer;
//Label20 := milliseconds/nanoseconds;
//return/break while loop (result := -1; exit;) ???
end;
indexCounter := indexCounter + 1;
end;
プロシージャ/関数が必要です。これを呼び出すと、ミリ秒またはナノ秒でカウントを開始し、文字列が見つかったときに停止し(各indファイルの最後の文字列です)、すべてのファイルをトラバースするための経過時間を表示します。また、whileループを解除する方法もわかりません。前もって感謝します。