procedure ShowFormWait(AOwner:TComponent);
//2003.02.26
begin
if not Assigned(FormWait) then begin
FormWait:=TFormWait.Create(AOwner);
end;
WindowList:=DisableTaskWindows(FormWait.Handle);
FormWait.Show;
FormWait.Update;
end;
procedure HideFormWait();
//2003.02.26
begin
if Assigned(FormWait) then begin
EnableTaskWindows(WindowList);
FreeAndNil(FormWait);
end;
end;
procedure InitFormWait(MusicName:WideString);
//2003.03.24
begin
if Assigned(FormWait) then begin
FormWait.LabelMusic.Caption:='Saving ['+MusicName+']';
FormWait.Update;
end;
end;
procedure ProgressFormWait(Value:Integer);
//2003.03.24
begin
if Assigned(FormWait) then begin
FormWait.ProgressBar1.Position:=Value;
end;
end;
procedure TMLDataModule.DoSaveMusic(FileStream:TTntFileStream;DBStream:TStream);
//save music data from file into database
const
MAXBUFSIZE=500000;
var
BufferSize:Integer;
begin
FileStream.Position:=0;
DBStream.Position:=0;
BufferSize:=MAXBUFSIZE;
Application.MainForm.Update;
if BufferSize>FileStream.Size then begin
BufferSize:=FileStream.Size;
end;
while BufferSize>0 do begin
DBStream.CopyFrom(FileStream,BufferSize);
ProgressFormWait(FileStream.Position*100 div FileStream.Size);
Application.ProcessMessages;
BufferSize:=MAXBUFSIZE;
if BufferSize>FileStream.Size-FileStream.Position then begin
BufferSize:=FileStream.Size-FileStream.Position;
end;
end;
end;