HomePage Delphi Library
Unit Ads_Math;
{Copyright(c)1998 Advanced Delphi Systems
Richard Maley
Advanced Delphi Systems
12613 Maidens Bower Drive
Potomac, MD 20854 USA
phone 301-840-1554
[email protected]
[email protected]
[email protected]}
Interface
Uses
SysUtils, ExtCtrls, StdCtrls, Ads_Strg;
Const RunOutsideIDE_ads = True;
Const RunOutsideIDEDate_ads = '12/1/98';
Const RunOutsideIDECompany_ads = 'Advanced Delphi Systems';
Const RunOutsideIDEPhone_ads = 'Please purchase at (301) 840-1554';
{!~ Returns the larger of two numbers}
Function Max(Number1, Number2: Single): Single;
{!~ Returns the smaller of two numbers}
Function Min(Number1, Number2: Single): Single;
{!~
Returns the smaller of two integers
}
Function Min_I(Number1, Number2: Integer): Integer;
{!~ Converts a string to an Extended floating point number}
Function NumVal(InputString: String): Extended;
{!~ Returns the constant pi as a real number}
Function Pi_Real: Real;
{!~ Returns A PseudoRandom Number Between 0 And 1}
Function Rand: Integer;
{!~ Returns A Random Number}
Function RandomInteger(RandMin, RandMax: Integer): Integer;
Implementation
Type
TPanel_Cmp_Sec_ads = class(TPanel)
Public
procedure ResizeShadowLabel(Sender: TObject);
End;
procedure TPanel_Cmp_Sec_ads.ResizeShadowLabel(
Sender : TObject);
Var
PH, PW : Integer;
LH, LW : Integer;
begin
PH := TPanel(Sender).Height;
PW := TPanel(Sender).Width;
LH := TLabel(Controls[0]).Height;
LW := TLabel(Controls[0]).Width;
TLabel(Controls[0]).Top := ((PH-LH) div 2)-3;
TLabel(Controls[0]).Left := ((Pw-Lw) div 2)-3;
end;
Type
TEditKeyFilter = Class(TEdit)
Published
{!~ Throws away all keys except 0-9,-,+,.}
Procedure OnlyNumbers(Sender: TObject; var Key: Char);
{!~ Throws away all keys except 0-9}
Procedure OnlyNumbersAbsolute(Sender: TObject; var Key: Char);
{!~ Throws away all keys except a-z and A-Z}
Procedure OnlyAToZ(Sender: TObject; var Key: Char);
End;
{!~ Throws away all keys except 0-9,-,+,.}
Procedure TEditKeyFilter.OnlyNumbers(Sender: TObject; var Key: Char);
Begin
KeyPressOnlyNumbers(Key);
End;
{!~ Throws away all keys except 0-9}
Procedure TEditKeyFilter.OnlyNumbersAbsolute(Sender: TObject; var Key: Char);
Begin
KeyPressOnlyNumbersAbsolute(Key);
End;
{!~ Throws away all keys except a-z and A-Z}
Procedure TEditKeyFilter.OnlyAToZ(Sender: TObject; var Key: Char);
Begin
KeyPressOnlyAToZ(Key);
End;
{!~ Returns the larger of two numbers}
Function Max(Number1, Number2: Single): Single;
Begin
If Number1 > Number2 Then
Begin
Result := Number1;
End
Else
Begin
Result := Number2;
End;
End;
{!~ Returns the smaller of two numbers}
Function Min(Number1, Number2: Single): Single;
Begin
If Number1 < Number2 Then
Begin
Result := Number1;
End
Else
Begin
Result := Number2;
End;
End;
{!~
Returns the smaller of two integers
}
Function Min_I(Number1, Number2: Integer): Integer;
Begin
If Number1 < Number2 Then
Begin
Result := Number1;
End
Else
Begin
Result := Number2;
End;
End;
{!~ Converts a string to an Extended floating point number}
Function NumVal(InputString: String): Extended;
Begin
Result := 0;
InputString := NumbersOnly(InputString);
Try
Result := StrToFloat(InputString);
Except
End;
End;
{!~ Returns the constant pi as a real number}
Function Pi_Real: Real;
Begin
Result := Pi;
End;
{!~ Returns A PseudoRandom Number Between 0 And 1}
Function Rand: Integer;
Begin
Result := RandomInteger(0,1);
End;
{!~ Returns A Random Number}
Function RandomInteger(RandMin, RandMax: Integer): Integer;
Var
RandRange: Integer;
RandValue: Integer;
Begin
If RandMax <= RandMin Then
Begin
Result := RandMin;
Exit;
End;
Randomize;
RandRange := RandMax-RandMin;
RandValue := Random(RandRange);
Result := RandValue + RandMin;
End;
End.