Pascal - пользовательское имя массива - PullRequest
0 голосов
/ 22 ноября 2018

Я пишу приложение Lazarus, которое выбирает и манипулирует данными, содержащимися в определенном двумерном массиве, указанном пользователем, из числа предустановленных двумерных массивов.Моя проблема в том, что я не знаю, как преобразовать пользовательскую строку ввода в имя массива.

Пример приложения содержит три двумерных массива: aaa, bbb и ccc.Я хочу, чтобы пользователь ввел, скажем, bbb и индекс (i) в два поля редактирования, а затем смог прочитать данные, содержащиеся в bbb [i, 2] и bbb [i, 3].

...
type
  table = array [1..10, 1..3] of real;

  var
  aaa, bbb, ccc : table;
  Duration : real;
  i : integer;
  Sector : string[3];

...
procedure SetUpTables;
  {code that puts data into aaa, bbb, and ccc}
end;
...

{Code that asks user to input aaa, bbb or ccc into Edit1.Text}

...
procedure TForm1.Edit1Exit(Sender: Tobject)
  Sector := Edit1.Text;
  Duration := Sector[i,3];
end;
...

В последней процедуре я хочу использовать содержимое сектора (aaa, bbb или ccc) для доступа к bbb [i, 3].Как вы можете себе представить, я получаю ошибку «Недопустимый квалификатор» в строке «Продолжительность: = Сектор [1,3];» во втором индексе для Сектора.

Боюсь, что не вижукак использовать содержимое Sector в качестве имени массива.Буду признателен за любые мысли о том, как это можно сделать.

...