По поводу Аськи, так она меня признавать не хочет, хотя я в ней с 2001 года. На отрез отказывается
так что пиши письма, если что а по поводу массивов, так функция может возвращать поинтер pointer, т.е. в функции пишешь имя_функциии:=@myarray его потом можно писать newarray:=имя_функции; newarray^[..]:=.. а функцию описываешь function имя_функции:pointer; если я не ошибся, так как написал не долго думая, то должно работать, а вообще на моём сайте куча моих модулей, хотя я на сколько я помню никогда не возвращал массив как результат функции, так как в функции переменная массива есть локальная переменная и возвращать на неё указатель глупость, другое дело в качестве var параметра в вызове функции указывать массив, описанный в вызывающем блоке, вот тогда будет рулёз
а на счёт CRT, так порви его и выбрось и если приспичело писать на текстовый экран, то это легко осуществить через прямое отображение в видеопамять, и не будет дурацких сдвигов экрана и прочеё туфты, неговоря уже о процедуре Delay, которая некорректно работает на Celeron и на всём, что выше i80386. Удачи!