프로그램을 개발 중이며 그 위에 StringGrid가 있습니다. 특정 버튼을 누르면 내 프로그램은 stringgtid를 c : \ myfolder \ tab9.txt에 저장합니다. 언젠가 그리드에 많은 행이 있고 시간이 걸릴 수 있기 때문에 저장 프로세스가 끝날 때까지 남은 시간을 나타내는 진행률 표시 줄을 넣고 싶습니다.StringGrid를 저장하는 동안 진도 표시 줄 진행
procedure SaveSG(StringGrid:TStringGrid; const FileName:TFileName);
var
f: TextFile;
i,k: Integer;
begin
AssignFile(f, FileName);
Rewrite(f);
with StringGrid do
begin
Writeln(f, ColCount); // Write number of Columns
Writeln(f, RowCount); // Write number of Rows
for i := 0 to ColCount - 1 do // loop through cells of the StringGrid
for k := 0 to RowCount - 1 do
Writeln(F, Cells[i, k]);
end;
CloseFile(F);
end;
나는이 방법으로 프로 시저를 호출 : SaveSG(StringGrid1,'c:\myfolder\myfile.txt');
이 코드를 사용하고 있습니다. 문제는 저장 진행 상황을 나타내는 진행률 막대를 수행하는 방법을 이해하지 못한다는 것입니다. 지금은 ProgressBar1.Position:=0
과 ProgressBar1.Max:=FileSize
만을 선언했습니다. 의견 있으십니까?
이 작업을 수행하려면 * 제대로 * 파일을 자체 스레드에로드 한 다음 일정 간격으로 진행률 표시 줄에 메시지를 보내야합니다. –