У меня есть блок, в котором есть несколько переменных, которые должны быть векторов одинакового размера.
Однако я не знаю длину этого массива до того, как проанализирую файл.
Итак, я хочу иметь динамический c массив, который является «глобальным» для всего блока, а затем я могу
Код ниже показывает проблему, а также решение, которое у меня есть сейчас , Решение, которое я имею сейчас, состоит в том, чтобы назначить максимальное значение, равное длине массива.
unit xyz;
interface
uses
abc
const
maxval=50;
type
vectorofdouble = [1...maxval] of double; // I want to change this to dynamic array
type
T_xyz = object
public
NP: integer;
private
var1: vectorofdouble;
var2: vectorofdouble;
public
number: integer;
var3: vectorofdouble;
private
procedure Create();
function func1(etc): integer;
public
procedure ReadFile(const FileName, inputs: string);
end;
implementation
procedure T_xyz.ReadFile();
////////
Read(F,np)
//SetLength(vectorofdouble, np) // DOES NOT WORK
for i := 0 to maxval // I DONT WANT TO LOOP UP TO MAXVAL
begin
var1[i] := 0
end;
procedure T_xyz.func1(etc);
////////
do stuff
for i := 0 to maxval // I DONT WANT TO LOOP UP TO MAXVAL
begin
var2[i] := 0
end;
end;
end.