![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.11.2011
Сообщений: 83
|
![]() Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
во-первых, задания как такого я не вижу.
во-вторых, если не считать безумного алгоритма (он легко уходит в бесконечных цикл!) код вполне себе рабочий. вот только последний close(f) перед readln уберите - он ошибочен и не нужен. в-третьих, я бы пересоздал файлы q.dat и q1.dat. думаю ошибка в том, что файлы были созданы, а потом тип-запись q изменился. Это и приводит к ошибке чтения/записи! p.s. проверьте размеры файлов g.dat и q1.dat если в коде написать так: WriteLn('size record q = ', sizeof(q)); то легко увидеть, что size record q = 212 поэтому размеры файлов должны быть СТРОГО кратны 212. Если это не так - можете смело удалять файл - его структура не соответствует типу q Последний раз редактировалось Serge_Bliznykov; 18.04.2012 в 22:52. |
![]() |
![]() |
![]() |
#3 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
![]()
Не знаю как в pascal, но в Delphi кратен должен быть 220. В файл записываются ещё и идентификаторы полей и разделители всякие записываются.
Если помог, проси поставить минус. Будь оригинален!
|
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 19.11.2011
Сообщений: 83
|
![]() Цитата:
Если на Ваше мнение алгоритм немножко туповат, подскажите, пожалуйста, другой. Цикл не бесконечный! Если в вопрос который был отобран по id еще не вывелся (проверка делается во втором цикле while) тогда он выводится, записывается в файл f1 и тогда - inc(i). Код:
close(f) убрал - спасибо. Файлы заново пересоздал - ничего не помогло. |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 19.11.2011
Сообщений: 83
|
![]()
ребята ну помогите кто как может
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Ты еще не написал, что сделал в ответ на полученные советы.
|
![]() |
![]() |
![]() |
#7 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
![]()
Pasha_dos, залей файл q , чтобы можно было поэкспериментировать.
Так же не пойму зачем два раза пытаетесь открыть файл "q". Код:
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 19.04.2012 в 20:02. |
![]() |
![]() |
![]() |
#8 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
чем вам помочь - я не знаю. Цитата:
в записи три Integer (это даёт разницу в 6 байт, ну и плюс выравнивание (его можно отключить использовать конструкцию packed record) попробуйте в Delphi посмотреть размер такого типа, например: Код:
|
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Локальный диск D защищен от записи. Что делать? | MatriXX | Безопасность, Шифрование | 5 | 31.12.2011 14:46 |
Измерить скорость чтения и записи данных на диск | testerka | Общие вопросы .NET | 2 | 18.11.2010 10:48 |
узнать программно скорость записи на диск | smalsvoloch | Общие вопросы Delphi | 0 | 29.04.2010 10:33 |
Определить возможность записи на диск [HDD,USB FLash,other] | Lime | Общие вопросы Delphi | 5 | 28.11.2009 19:53 |