Frement
2010-05-08 11:16:43
Some functions someone on #SRL thought are worth posting :P
{*******************************************************************************
function TVAtoTSA(arr: TVariantArray): TStringArray;
Description: Converts TVariantArray to TStringArray.
*******************************************************************************}
function TVAtoTSA(arr: TVariantArray): TStringArray;
var I, F: Integer;
begin
SetArrayLength(Result, Length(arr));
for I := 0 to High(arr) do begin
try begin
Result[I] := arr[I];
end except
Inc(F);
end;
end;
if (F > 0) then
Writeln('Failed to convert '+IntToStr(F)+' values.');
end;
{*******************************************************************************
function TVAtoTIA(arr: TVariantArray): TIntegerArray;
Description: Converts TVariantArray to TIntegerArray.
*******************************************************************************}
function TVAtoTIA(arr: TVariantArray): TIntegerArray;
var I, F: Integer;
begin
SetArrayLength(Result, Length(arr));
for I := 0 to High(arr) do begin
try begin
Result[I] := arr[I];
end except
Inc(F);
end;
end;
if (F > 0) then
Writeln('Failed to convert '+IntToStr(F)+' values.');
end;
{*******************************************************************************
function CombineTSA(arr1, arr2: TStringArray): TStringArray;
Description: Combines two TStringArrays and returns the combined TStringArray.
*******************************************************************************}
function CombineTSA(arr1, arr2: TStringArray): TStringArray;
var I, N: Integer;
begin
N := High(arr1);
SetArrayLength(arr1, Length(arr1)+Length(arr2));
for I := 0 to High(arr2) do begin
arr1[N+I+1] := arr2[I];
end;
Result := arr1;
end;
{*******************************************************************************
function CombineTIA(arr1, arr2: TIntegerArray): TIntegerArray;
Description: Combines two TIntegerArrays and returns the combined TIntegerArray.
*******************************************************************************}
function CombineTIA(arr1, arr2: TIntegerArray): TIntegerArray;
var I, N: Integer;
begin
N := High(arr1);
SetArrayLength(arr1, Length(arr1)+Length(arr2));
for I := 0 to High(arr2) do begin
arr1[N+I+1] := arr2[I];
end;
Result := arr1;
end;
{*******************************************************************************
function CombineTVA(arr1, arr2: TVariantArray): TVariantArray;
Description: Combines two TVariantArrays and returns the combined TVariantArray.
*******************************************************************************}
function CombineTVA(arr1, arr2: TVariantArray): TVariantArray;
var I, N: Integer;
begin
N := High(arr1);
SetArrayLength(arr1, Length(arr1)+Length(arr2));
for I := 0 to High(arr2) do begin
arr1[N+I+1] := arr2[I];
end;
Result := arr1;
end;