我在某个文件中有一些脚本" MyScript.sql" 在表格上我有我的TProgressBar。 我想用TFDScript阅读脚本并根据脚本移动进度条。
我的代码是
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;`
答案 0 :(得分:1)
您可以处理OnProgress事件并在那里阅读,例如TotalJobSize属性确定要继续的字节数,TotalJobDone来确定处理的字节数。例如:
procedure TForm1.FDScript1Progress(Sender: TObject);
begin
ProgressBar1.Max := TFDScript(Sender).TotalJobSize;
ProgressBar1.Position := TFDScript(Sender).TotalJobDone;
end;
如果您正在使用进度条控件并按百分比设置进度值,则最好阅读TotalPct10Done属性。