Arrays: Difference between revisions

Content added Content deleted
Line 1,641: Line 1,641:
procedure TForm1.Button1Click(Sender: TObject);
procedure TForm1.Button1Click(Sender: TObject);
var
var
StaticArray: array[0..9] of Integer;
StaticArray: array[1..10] of Integer; // static arrays can start at any index
DynamicArray: array of Integer;
DynamicArray: array of Integer; // dynamic arrays always start at 0
StaticArrayText,
StaticArrayText,
DynamicArrayText: string;
DynamicArrayText: string;
lcv: Integer;
ixS, ixD: Integer;
begin
begin
// Setting the length of the dynamic array the same as the static one
// Setting the length of the dynamic array the same as the static one
SetLength(DynamicArray, Length(StaticArray));
SetLength(DynamicArray, Length(StaticArray));
// Asking random numbers storing into the static array
// Asking random numbers storing into the static array
for lcv := 0 to Pred(Length(StaticArray)) do
for ixS := Low(StaticArray) to High(StaticArray) do
begin
begin
StaticArray[lcv] := StrToInt(
StaticArray[ixS] := StrToInt(
InputBox('Random number',
InputBox('Random number',
'Enter a random number for position',
'Enter a random number for position',
IntToStr(Succ(lcv))));
IntToStr(ixS)));
end;
end;
// Storing entered numbers of the static array in reverse order into the dynamic
// Storing entered numbers of the static array in reverse order into the dynamic
ixD := High(DynamicArray);
for lcv := 0 to Pred(Length(StaticArray)) do
DynamicArray[Pred(Length(DynamicArray)) - lcv] := StaticArray[lcv];
for ixS := Low(StaticArray) to High(StaticArray) do
// Concatenating the static and dynamic array into a single string variable
for lcv := 0 to Pred(Length(StaticArray)) do
begin
begin
StaticArrayText := StaticArrayText + IntToStr(StaticArray[lcv]);
DynamicArray[ixD] := StaticArray[ixS];
Dec(ixD);
DynamicArrayText := DynamicArrayText + IntToStr(DynamicArray[lcv]);
end;
// Concatenating the static and dynamic array into a single string variable
StaticArrayText := '';
for ixS := Low(StaticArray) to High(StaticArray) do
StaticArrayText := StaticArrayText + IntToStr(StaticArray[ixS]);
DynamicArrayText := '';
for ixD := Low(DynamicArray) to High(DynamicArray) do
DynamicArrayText := DynamicArrayText + IntToStr(DynamicArray[ixD]);
end;
end;
// Displaying both arrays (#13#10 = Carriage Return/Line Feed)
// Displaying both arrays (#13#10 = Carriage Return/Line Feed)