type
TArrayHelper<T> = class
class procedure CoolProc(var arr: TArray<T>); // Ваша процедура
end;
…
implementation
class procedure TArrayHelper<T>.CoolProc(var arr: TArray<T>); // Реализация Вашей процедуры
var
Tmp: T;
begin
Tmp := arr[0];
arr[0] := arr[4];
arr[4] := Tmp;
end;
procedure TForm1.Button1Click(Sender: TObject); // Проверка работы
var
i: integer;
iarr: TArray<Integer>;
sarr: TArray<String>;
begin
iarr := TArray<Integer>.Create(1, 2, 3, 4, 5);
sarr := TArray<String>.Create('one', 'two', 'three', 'four', 'five');
TArrayHelper<Integer>.CoolProc(iarr); // Вызов для целых чисел
TArrayHelper<String>.CoolProc(sarr); // Вызов для строк
for I := 0 to 4 do
begin
memo1.Lines.Add(IntToStr(iarr[i]));
memo2.Lines.Add(sarr[i]);
end;
end;
property TraceList[Index: Integer]: TZLoggingEvent read GetTraceItem;
function AsString(LoggingFormatter:IZLoggingFormatter = nil): string;
property Category: TZLoggingCategory read FCategory;
property Protocol: string read FProtocol;
property Message: string read FMessage;
property ErrorCode: Integer read FErrorCode;
property Error: string read FError;
property Timestamp: TDateTime read FTimestamp;
with TForm1.Create(self) do
begin
Show;
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE + SWP_NOMOVE + SWP_NOSIZE);
end;