Я пишу приложение 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 в качестве имени массива.Буду признателен за любые мысли о том, как это можно сделать.