Вот несколько функций для операций с двухмерными массивами. Самый простой путь для создания собственной библиотеки. Процедуры SetV и GetV позволяют читать и сохранять элементы массива VArray (его Вы можете объявить как угодно).
Например:
Код type
Самый простой путь - создать массив динамически
Код Myarray := GetMem(rows * cols * sizeof(byte,word,single,double и пр.) 
сделайте функцию fetch_num типа
Код function fetch_num(r,c:integer) : single;
и затем вместо myarray[2,3] напишите
Код myarray.fetch_num(2,3)
Вот способ создания одно- и двухмерных динамических массивов:
Код (*