| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Работа с файлами. |
| Автор: HAS 17.6.2007, 19:16 |
| Здравствуйте. Есть запись. Есть файл, типа этой записи. Нужно сделать так : в первых байтах файла записать количество записей, которые записываем, а дальше сами записи. Помогите плз. |
| Автор: skyboy 17.6.2007, 22:16 | ||
| есть такая вещь: типизированные файлы. Ты, видимо, их и используешь. Они позволяют писать в себя только компоненты одного типа. Значит в них отдельно от записей количество не запишешь. однако можно "обмануть", если сначала объявить файл как file of integer, а потом - как file of TYourRecord. Вроде такого:
Один минум - записать-запишем, а вот прочитать таким же способом не сможем. Ибо если мы такой "перемешанный" файл представим как file of integer и прочитаем количество как integer - все будет нормально. Но при представлении файла как file of TYourRecord мы не сможем перейти ровно к первой записи - либо(если мы ничего не предпримем) мы будем считать integer в начале файла частью первой записи и, естественно, никакую из записей мы корректно не прочитаем из-за сдвига. Да и сдвинуть позицию чтения мы не сможем: seek для типизированных файлов перемещает указатель не на количество байт, а на количество компонент. -------- вариант 2: использовать нетипизированные файлы(тип file). Все проще и прозрачнее тогда получается |
| Автор: HAS 17.6.2007, 22:39 |
| мне и нужен нетипизированый файл. |
| Автор: skyboy 17.6.2007, 22:47 |
| и? импользуй. те же самые функции assignFile, rewrite/reset, read/write, closeFile. |
| Автор: gambit 25.6.2007, 21:18 | ||||
| А зачем записывать кол-во записей???? Когда я делал записную книжку, я в цикле просто доходил до конца файла и получал число записей. Добавлено через 4 минуты и 21 секунду
|