Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2008, 11:17   #1
Герыч
 
Регистрация: 17.03.2007
Сообщений: 4
Восклицание Как работать с файлами с помощью динамических массивов

Подскажите плз, как объявить переменную типом файла записи, если запись имеет динамический массив.
к примеру:
type
client=record
count:byte;
descript:string[255];
tree:array of integer;
end;
...
var f:file of client; {- вот здесь он скажет, что файл должен иметь ограниченное значение}

Как считать с файла, если я знаю какой величины будет массив.
Где прописать setlength(f,i) чтобы при инициализации переменной уже был определён массив.

И ещё, как в том же случае быть с многоуровневым массивом(tree:array of array of integer


Очень надо, подскажите пожалуйста
Герыч вне форума Ответить с цитированием
Старый 10.01.2008, 11:51   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Типизированные файлы отпадают.
Сохраняй в обычный текстовый, там вроде до 1024 символов в ширину (или это Блокнот так ограничивает, не уверен).
Пример, матрица 5 х 3, count = 56, string = 'example':
56
example
012345
543210
012345

Если это так и этой ширины(1024) мало, тогда низкоуровневым доступом к файлу сохраняй как тебе удобно.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 10.01.2008 в 11:56.
mutabor вне форума Ответить с цитированием
Старый 10.01.2008, 11:55   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Так не получится. С динмасивами либо финализировать либо после их наполнения узнавать размер всей структуры и писать через Stream или BlockWrite в нетипированный файл
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.01.2008, 12:00   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Почему? Я всегда дин. матрицы в текстовом виде сохранял. Первая строка в файле - размеры матрицы.
Если конечно это числовые матрицы, а не типов каких-то.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 10.01.2008, 12:22   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Это я к примеру сказал. Я ж не против текстовиков )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление динамических объектов / полная очистка формы 095 Общие вопросы Delphi 3 23.04.2012 16:09
Требуется программист, умеющий работать с принтерами и MIB-файлами nik4al Фриланс 1 15.09.2008 12:55
Создание и использование динамических структур Oksana11 Помощь студентам 5 09.01.2008 19:39
Как работать с dll файлами Artem Общие вопросы Delphi 7 21.09.2007 13:45