Sqlite 如何使用TProgressBar显示TFDScript执行的进度?
我在MyScript.sql文件中有一些脚本 表格上有我的TProgressBar。 我想用TFDScript读取脚本,并根据脚本移动progressbar 我的代码是Sqlite 如何使用TProgressBar显示TFDScript执行的进度?,sqlite,delphi,firedac,Sqlite,Delphi,Firedac,我在MyScript.sql文件中有一些脚本 表格上有我的TProgressBar。 我想用TFDScript读取脚本,并根据脚本移动progressbar 我的代码是 Var Lista: TStringList; // SQL DDL list for creating table and populate table I: Integer; Begin With FDConn Do //FDConn is my FaireDac con
Var
Lista: TStringList; // SQL DDL list for creating table and populate table
I: Integer;
Begin
With FDConn Do //FDConn is my FaireDac connection
Begin
LoginPrompt := False;
With Params Do
Begin
Clear;
DriverID := 'SQLite';
Database := 'MyDatabase.sdb';
LoginPrompt := False;
End;
Lista := TStringList.Create;
Lista.Clear;
Try
FDScript.ValidateAll; //FDScript is TFDScript and prgBar is TProgressBar
prgBar.Max := FDScript.TotalJobSize - 1;
prgBar.Update;
Lista.Clear;
Lista.LoadFromFile('MyScript.sql');
// Now how I can read script 1 line by 1 line and move progress bar with
prgBar.StepIt;
prgBar.Update;`
您可以处理事件并读取其中的内容,例如,属性,以确定要继续处理的字节数和要处理的字节数。例如:
procedure TForm1.FDScript1Progress(Sender: TObject);
begin
ProgressBar1.Max := TFDScript(Sender).TotalJobSize;
ProgressBar1.Position := TFDScript(Sender).TotalJobDone;
end;
如果进度条控件的进度值是按百分比设置的,那么最好阅读该属性。我不知道怎么做,你能发布一些代码说明它是如何工作的吗?当然,我添加了一个示例。但对于TotalPct10Done,则不适用。对于TProgressBar,最好读取TotalJobSize和TotalJobDone。