⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 progress.pas

📁 Delphi direct support for GIF files
💻 PAS
字号:
unit progress;
{ Exports procedure ShowProgress and type TProgressProc.
Useful for giving user feedback during lengthy operations.
The programmer can assign his own progress procedure to ShowProgress
when he wants. By default, under DOS, procedure EmptyProgressProc
is assigned to progressproc and under Delphi ProgressForm.ShowProgress
(see unit FmProgr),
Another procedure which can be used is available: WritePercentage

R.P. Sterkenburg, TNO PML Rijswijk, The Netherlands

30 Aug 95: - created
12 Nov 96: - converted all keywords to lowercase
 4 Dec 96: - renamed progressproc to ShowProgress
           - added Delphi compiler directives to let it
             automatically use ShowProgress from FmProgr
11 Dec 96: - improved comments
           - default EmptyProgressPorc in stead of WritePercentage
 9 Feb 97: - changed compiler directives so that the unit also works under
             Delphi 2
}
interface

{$IFDEF ver70}
uses
   Crt;     { Imports GotoXY }
{$ELSE}
uses
  FmProgr;     { Imports ShowProgress }
{$ENDIF ver70}

type
  TProgressProc = procedure(frac: single);

var
  ShowProgress: TProgressProc;

procedure EmptyProgressProc(frac: single);

{$IFNDEF ver70}
procedure ShowAsGauge(frac: single);
{$ENDIF}

{$IFDEF ver70}
procedure WritePercentage(frac: single);
{$ENDIF}


implementation


{$F+}
procedure EmptyProgressProc(frac: single);
begin end;
{$F-}

{$IFDEF ver70}
{$F+}
procedure WritePercentage(frac: single);
begin
   GotoXY(1, WhereY);
   write('Finished: ', frac*100:6:2, ' %  ');
   if frac >= 1
   then Writeln;
end;
{$F-}
{$ENDIF ver70}

{$IFNDEF ver70}
{$F+}
procedure ShowAsGauge(frac: single);
begin
  FmProgr.ShowProgress(frac)
end;
{$F-}
{$ENDIF ver70}

begin
{$IFDEF ver70}
   ShowProgress := EmptyProgressProc;
{$ELSE}
   ShowProgress := ShowAsGauge;
{$ENDIF ver70}
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -