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.
Hosted by www.Geocities.ws

1