| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- {*******************************************************}
- { }
- { Delphi VCL Extensions (RX) }
- { }
- { Copyright (c) 1996 AO ROSNO }
- { }
- {*******************************************************}
- {$I RX.INC}
- {$N+}
- unit MaxMin;
- interface
- function Max(A, B: Longint): Longint;
- function Min(A, B: Longint): Longint;
- function MaxInteger(const Values: array of Longint): Longint;
- function MinInteger(const Values: array of Longint): Longint;
- {$IFDEF RX_D4}
- function MaxInt64(const Values: array of int64): int64;
- function MinInt64(const Values: array of int64): int64;
- {$ENDIF}
- function MaxFloat(const Values: array of Extended): Extended;
- function MinFloat(const Values: array of Extended): Extended;
- function MaxDateTime(const Values: array of TDateTime): TDateTime;
- function MinDateTime(const Values: array of TDateTime): TDateTime;
- {$IFDEF WIN32}
- function MaxOf(const Values: array of Variant): Variant;
- function MinOf(const Values: array of Variant): Variant;
- {$ENDIF}
- procedure SwapLong(var Int1, Int2: Longint);
- procedure SwapInt(var Int1, Int2: Integer);
- {$IFDEF RX_D4}
- procedure SwapInt64(var Int1, Int2: Int64);
- {$ENDIF}
- {$IFNDEF WIN32}
- function MakeWord(A, B: Byte): Word;
- {$ENDIF}
- implementation
- {$IFNDEF WIN32}
- function MakeWord(A, B: Byte): Word;
- begin
- Result := A or B shl 8;
- end;
- {$ENDIF}
- procedure SwapInt(var Int1, Int2: Integer);
- var
- I: Integer;
- begin
- I := Int1; Int1 := Int2; Int2 := I;
- end;
- {$IFDEF RX_D4}
- procedure SwapInt64(var Int1, Int2: Int64);
- var
- I: Int64;
- begin
- I := Int1; Int1 := Int2; Int2 := I;
- end;
- {$ENDIF}
- procedure SwapLong(var Int1, Int2: Longint);
- var
- I: Longint;
- begin
- I := Int1; Int1 := Int2; Int2 := I;
- end;
- function Max(A, B: Longint): Longint;
- begin
- if A > B then Result := A
- else Result := B;
- end;
- function Min(A, B: Longint): Longint;
- begin
- if A < B then Result := A
- else Result := B;
- end;
- function MaxInteger(const Values: array of Longint): Longint;
- var
- I: Cardinal;
- begin
- Result := Values[0];
- for I := 0 to High(Values) do
- if Values[I] > Result then Result := Values[I];
- end;
- function MinInteger(const Values: array of Longint): Longint;
- var
- I: Cardinal;
- begin
- Result := Values[0];
- for I := 0 to High(Values) do
- if Values[I] < Result then Result := Values[I];
- end;
- {$IFDEF RX_D4}
- function MaxInt64(const Values: array of int64): int64;
- var
- I: Cardinal;
- begin
- Result := Values[0];
- for I := 0 to High(Values) do
- if Values[I] > Result then Result := Values[I];
- end;
- function MinInt64(const Values: array of int64): int64;
- var
- I: Cardinal;
- begin
- Result := Values[0];
- for I := 0 to High(Values) do
- if Values[I] < Result then Result := Values[I];
- end;
- {$ENDIF RX_D4}
- function MaxFloat(const Values: array of Extended): Extended;
- var
- I: Cardinal;
- begin
- Result := Values[0];
- for I := 0 to High(Values) do
- if Values[I] > Result then Result := Values[I];
- end;
- function MinFloat(const Values: array of Extended): Extended;
- var
- I: Cardinal;
- begin
- Result := Values[0];
- for I := 0 to High(Values) do
- if Values[I] < Result then Result := Values[I];
- end;
- function MaxDateTime(const Values: array of TDateTime): TDateTime;
- var
- I: Cardinal;
- begin
- Result := Values[0];
- for I := 0 to High(Values) do
- if Values[I] < Result then Result := Values[I];
- end;
- function MinDateTime(const Values: array of TDateTime): TDateTime;
- var
- I: Cardinal;
- begin
- Result := Values[0];
- for I := 0 to High(Values) do
- if Values[I] < Result then Result := Values[I];
- end;
- {$IFDEF WIN32}
- function MaxOf(const Values: array of Variant): Variant;
- var
- I: Cardinal;
- begin
- Result := Values[0];
- for I := 0 to High(Values) do
- if Values[I] > Result then Result := Values[I];
- end;
- function MinOf(const Values: array of Variant): Variant;
- var
- I: Cardinal;
- begin
- Result := Values[0];
- for I := 0 to High(Values) do
- if Values[I] < Result then Result := Values[I];
- end;
- {$ENDIF WIN32}
- end.
|