home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2002 February
/
Chip_2002-02_cd1.bin
/
zkuste
/
delphi
/
nastroje
/
d23456
/
PRODEL.ZIP
/
PROTMAI2.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
2001-05-05
|
5KB
|
194 lines
unit Protmai2;
{$O-} // Do not remove, Delphi might crash !!!
{$R-}
{$Q-}
{$A+}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Procal2;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
f0: TLabel;
f0d: TLabel;
f100: TLabel;
f1000: TLabel;
f100d: TLabel;
f1000d: TLabel;
Bevel1: TBevel;
Label20: TLabel;
prom: TLabel;
promd: TLabel;
Label26: TLabel;
Bevel2: TBevel;
Bevel4: TBevel;
Bevel5: TBevel;
Bevel6: TBevel;
Bevel8: TBevel;
Bevel9: TBevel;
Bevel10: TBevel;
Bevel11: TBevel;
Label8: TLabel;
tmlf: TLabel;
tmlfd: TLabel;
Label9: TLabel;
Label12: TLabel;
Label13: TLabel;
Label15: TLabel;
Label17: TLabel;
ResLabel: TLabel;
Label25: TLabel;
Label2: TLabel;
Label18: TLabel;
Label19: TLabel;
Label21: TLabel;
Bevel3: TBevel;
Label3: TLabel;
prouse: TLabel;
proused: TLabel;
Label14: TLabel;
Label10: TLabel;
Label11: TLabel;
f0s: TLabel;
f100s: TLabel;
f1000s: TLabel;
tmlfs: TLabel;
f100ds: TLabel;
f1000ds: TLabel;
tmlfds: TLabel;
f0ds: TLabel;
Warnlab: TLabel;
procedure StartItAll(Sender: TObject);
private
{ Private-Deklarationen }
FUNCTION MBox : TMyLargeInteger;
PROCEDURE UserMessage ( VAR Message ); Message WM_USER+5;
private
res : Array[0..5] OF TMyLargeInteger;
resstr : Array[0..5] OF String;
resstr2 : Array[0..5] OF String;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
FUNCTION TForm1.MBox : TMyLargeInteger;
BEGIN
PostMessage(application.mainform.handle, WM_USER+5, 1, 2);
MessageBox(0, 'Messagebox demo, waiting for click should not be measured',
'Protest', MB_OK);
END;
PROCEDURE TForm1.UserMessage ( VAR Message );
VAR
I : Integer;
BEGIN
i := 0;
WHILE i < 100000 DO
INC(i);
END;
PROCEDURE ConvertTime ( VAR wertstr : String; wert : Double; AsCycles : Boolean );
VAR
einheit : String;
BEGIN
IF AsCycles = TRUE THEN BEGIN
Str(wert:0:0, einheit);
wertstr := '';
WHILE Length(einheit) > 3 DO BEGIN
wertstr := ',' + Copy(einheit, Length(einheit)-2, 3) + wertstr;
einheit := Copy(einheit, 1, Length(einheit)-3);
END;
wertstr := einheit + wertstr;
exit;
END;
wertstr := '0.000╡S';
END;
procedure TForm1.StartItAll(Sender: TObject);
VAR
i, x : Integer;
xd : Real;
ergebnis : Integer;
resstrs : Array[0..5] OF String;
resstr2s : Array[0..5] OF String;
begin
FOR i := 0 TO 5 DO
res[i].quadpart := 0;
Ergebnis := 0;
FOR i := 1 TO 200 DO
res[3].lowpart := res[3].lowpart + TopFunction(Ergebnis).lowpart;
Ergebnis := 0;
FOR i := 1 TO 200 DO
res[2].lowpart := res[2].lowpart + FunctionWith1000(Ergebnis).lowpart;
Ergebnis := 0;
FOR i := 1 TO 200 DO
res[1].lowpart := res[1].lowpart + FunctionWith100(Ergebnis).lowpart;
FOR i := 1 TO 200 DO
Empty;
res[4].lowpart := res[4].lowpart + MBox.lowpart;
FOR i := 0 TO 5 DO BEGIN
x := res[i].lowpart;
IF x < 4 THEN
x := x DIV 200;
ConvertTime(resstr[i], x, TRUE);
xd := Round(x);
ConvertTime(resstr2[i], xd, FALSE);
IF i < 4 THEN BEGIN
x := res[i].lowpart;
ConvertTime(resstrs[i], x, TRUE);
xd := Round(x);
ConvertTime(resstr2s[i], xd, FALSE);
END;
END;
f0.caption := resstr[0];
f100.caption := resstr[1];
f1000.caption := resstr[2];
tmlf.caption := resstr[3];
prom.caption := resstr[4];
prouse.caption := resstr[5];
f100s.caption := resstrs[1];
f1000s.caption := resstrs[2];
tmlfs.caption := resstrs[3];
f0d.caption := resstr2[0];
f100d.caption := resstr2[1];
f1000d.caption := resstr2[2];
tmlfd.caption := resstr2[3];
promd.caption := resstr2[4];
proused.caption := resstr2[5];
f0ds.caption := resstr2s[0];
f100ds.caption := resstr2s[1];
f1000ds.caption:= resstr2s[2];
tmlfds.caption := resstr2s[3];
{$IFDEF PROFILE } ResLabel.Visible := TRUE; {$ENDIF }
{$IFNDEF PROFILE } WarnLab.visible := TRUE; {$ENDIF }
end;
end.