![]() |
|
|
#1
|
|||
|
|||
![]() Пишу программу тест! В ней будет возможность создавать свои собственные тесты (короче конструктор тестов). Вся информация будет записываться в один файл! Так вот вопрос: какой файл лучше выбрать для записи всего этого дела. И меня в тесте несколько типов заданий, для каждого использую отдельную запись плюс еще общая информация! Думаю сначала нужно общую информацию вписать, потом все записи с заданиями, но вот как потом их прочитать от туда правильно вот в чём проблема?
|
#2
|
|||
|
|||
![]() да любой. какой удобнее парсить.
хоть типизированный от объекта/записи и сливать все это дело в бинарном формате через filestream, хоть бд подними, хоть xml используй. Чесслово (с), с чем умеешь работать - то и удобнее. |
#3
|
|||
|
|||
![]() на счёт filestream, как можно обратится к записи, которая будет записана под определенным порядковым номером, если я её размер не знаю, там ведь только курсор перемещать можно по байтам? или есть другой способ?
|
#4
|
|||
|
|||
![]() Цитата:
как обходной вариант, объединять все записи тестов в, например, массив или TList и сливать/читать целиком его и обращаться по индексу в уже загруженном состоянии. кстати, что мешает узнать размер записи через SizeOf? Имею ввиду размер конкретного теста, перед его сливом в файл. |
#5
|
|||
|
|||
![]() с массивом не получится, записи разные (Variant даже не подходит), можно по подробнее на счёт TList!
|
#6
|
|||
|
|||
![]() Цитата:
Вот только по поводу добавления туда разных записей не могу сказать - просто не приходилось использовать. Попробуй создать без указания параметров, просто как List:= TList.Create; |
#7
|
||||
|
||||
![]() Цитата:
1 - Идентификатор файла. 2 - Число записей. 3 - Длина записи. 4..х - Описание полей записей. х+1 - смещение в файле на запись. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |