Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу добавить запись в типизированный файл 
V
    Опции темы
TP@MB@Y
Дата 28.6.2006, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 18.12.2004
Где: Москва

Репутация: нет
Всего: 4



Код

AssignFile(f,FNAME);
Reset(f);
write(f,rec); 
CloseFile(f);


Выдает ошибку что доступ запрещен. 
Файл существует и не занят никаким приложением :-/ 
PM   Вверх
Mailman
Дата 28.6.2006, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 6.6.2006

Репутация: нет
Всего: нет



Думаю тебе стоит несколько дополнить свой код ). Потому как то, что ты написал - верно. =)

Добавлено @ 22:04 
А ваще, ты не ответил, РАЗРЕШЁН ли доступ ;) 
PM MAIL   Вверх
Yanis
Дата 28.6.2006, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(TP@MB@Y @  28.6.2006,  22:51 Найти цитируемый пост)
Файл существует и не занят никаким приложением :-/

Уверен? Проверь ещё чему равно FileMode


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Palladin
Дата 28.6.2006, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Ну у тебя ошибок здесь нет, может просто в этой строке 
assign(f,fname);
у тебя путь в fname неправильный указывается, попробуй по топорному путь прописать
assign(f,'F:/твоя папка/тип.txt');

и посмотри будут ошибки или нет smile  


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
TP@MB@Y
Дата 28.6.2006, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 18.12.2004
Где: Москва

Репутация: нет
Всего: 4



Mailman,  ээм, а как дополнить то? ааа, я забыл в посте написать еще Seek(f,filesize(f)); (по памяти писал)
делаю я вот так:
Код

 AssignFile(f,FNAME);
 Reset(f);
 Seek(f,filesize(f));
 Write(f,info);
 CloseFile(f);



RooR,  путь правильно прописан, т.к. если делать rewrite, то запись проходит успешно)

Yanis, да точно не занят.  Но в крайнем случае проверю так как ты написал smile 
PM   Вверх
Yanis
Дата 28.6.2006, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



TP@MB@Y
Проверь атрибуты у файла. Очевидно, что ты что то неправильно делаешь. Вот только что.... 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Guedda
Дата 28.6.2006, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Цитата(Yanis @  29.6.2006,  00:03 Найти цитируемый пост)
Вот только что....  

Ты открываешь файл на чтение:
Цитата(TP@MB@Y @  28.6.2006,  23:53 Найти цитируемый пост)
Reset(f);

И пишешь в него:
Цитата(TP@MB@Y @  28.6.2006,  23:53 Найти цитируемый пост)
Write(f,info);

Так нельзя...

Добавлено @ 23:19 
Я не помню про типизированные, но обычные файл для дозаписи открываются обычным Append 


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Yanis
Дата 28.6.2006, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Guedda @  29.6.2006,  00:18 Найти цитируемый пост)
Ты открываешь файл на чтение:

Цитата(Guedda @  29.6.2006,  00:18 Найти цитируемый пост)
И пишешь в него:

Цитата(Guedda @  29.6.2006,  00:18 Найти цитируемый пост)
Так нельзя...

smile
Не в обиду сказано, но это жара так на тебя влияет? smile 
Цитата
procedure Reset(var F [: File; RecSize: Word ] );

Description
In Delphi code, Reset opens the existing external file with the name assigned to F using the mode specified by the global FileMode variable.


Добавлено @ 23:25 
Цитата(Guedda @  29.6.2006,  00:18 Найти цитируемый пост)
Я не помню про типизированные, но обычные файл для дозаписи открываются обычным Append  

Append опять же как гласит справка, только для текстовых файлов. 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Guedda
Дата 28.6.2006, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Цитата(Yanis @  29.6.2006,  00:24 Найти цитируемый пост)
но это жара так на тебя влияет?

Да. Жара... Спутал с Pascal.  


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Yanis
Дата 28.6.2006, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Guedda @  29.6.2006,  00:28 Найти цитируемый пост)
Да. Жара... Спутал с Pascal.  

Дык в паскале то она ту же самую функцию выполняет smile 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Palladin
Дата 28.6.2006, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Код

AssignFile(f,FNAME);
 Reset(f);
 Seek(f,filesize(f)); //я точно не помню, но кажется эта строка вообще не нужна, т.к. функция reset(f) и так поставит указатель в конец файла
 Write(f,info); //что такое info????? может пробуй делать запись из этого инфо посимвольно ;-) 
 CloseFile(f); //только открыл, а уже закрываеш :D 
 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Marriage
Дата 28.6.2006, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

Репутация: нет
Всего: 2



1)Файл этот открыл в своей проге и не закрыл
2)Файл открыт другим процессом.
Все вродебы. Что за файл то хоть ??? 


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
Yanis
Дата 28.6.2006, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(RooR @  29.6.2006,  00:33 Найти цитируемый пост)
т.к. функция reset(f) и так поставит указатель в конец файла

Остаётся мне сегодня только цитировать....
Цитата
procedure Reset(var F [: File; RecSize: Word ] );
...
The current file position is set to the beginning of the file.
...
 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
TP@MB@Y
Дата 30.6.2006, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 18.12.2004
Где: Москва

Репутация: нет
Всего: 4



Yanis,  спасибо за мысль насмчет filemode. Дело было в нем. Я ручками перед reset присвоил filemod:=2 и все окей! smile 
PM   Вверх
Yanis
Дата 30.6.2006, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



TP@MB@Y
Значит "кто-то" её меняет. По умолчанию она должна быть равна 2


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0940 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.