Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

Подскажите плз, как объявить переменную типом файла записи, если запись имеет динамический массив.
к примеру:
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, 12:51   #2
mutabor
Телепат с дипломом
Профессионал
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,928
Репутация: 1570

icq: 401708834
По умолчанию

Типизированные файлы отпадают.
Сохраняй в обычный текстовый, там вроде до 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 в 12:56.
mutabor вне форума   Ответить с цитированием
Старый 10.01.2008, 12:55   #3
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,815
Репутация: 6850
По умолчанию

Так не получится. С динмасивами либо финализировать либо после их наполнения узнавать размер всей структуры и писать через Stream или BlockWrite в нетипированный файл
Stilet вне форума   Ответить с цитированием
Старый 10.01.2008, 13:00   #4
mutabor
Телепат с дипломом
Профессионал
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,928
Репутация: 1570

icq: 401708834
По умолчанию

Почему? Я всегда дин. матрицы в текстовом виде сохранял. Первая строка в файле - размеры матрицы.
Если конечно это числовые матрицы, а не типов каких-то.
__________________
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, 13:22   #5
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,815
Репутация: 6850
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


15:19.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.