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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при создании/открытии файла, чё-то я начал тормозить :D 
:(
    Опции темы
Albinos_x
Дата 21.12.2005, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



Доброго времени суток!

суть проблемы заключается в том, что при попытке создать и открыть текстовый файл для записи командой Rewrite(F); вылетает ошибка EInOutError (I/O error 183) в большинстве случаев, иногда вылетает 103. И в том и другом случае файл создаётся, но открываться почему-то не хочет. Как эту фигню побороть и всё таки заставить файл открыться?


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Poseidon
Дата 21.12.2005, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

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



Покажи лучше код, т.к. не известно где у тя опечатка (а я надеюсь так и есть smile ). Может F не так обьявлена, может AssignFile забыл, может ты на CD писать собрался smile
Покажи код, будет проще разобраться...


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Albinos_x
Дата 21.12.2005, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



показываю:
Код

...
var ffset:TextFile;
    fname:string;
    s:string;
    i,j:word;
begin
fname:=ExtractFilePath(Application.ExeName)+'Sis\IniG.dat';
AssignFile(ffset,fname);
Rewrite(ffset);
...
// çàêðûâàåì ôàéë
CloseFile(ffset);
close;



Добавлено @ 01:27
вообще не первый раз с этой процедурой работаю.... но блин ни разу не сталкивался с подобным smile


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Демо
Дата 21.12.2005, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Albinos_x @ 21.12.2005, 01:49)
(I/O error 183)


{ Cannot create a file when that file already exists. }
ERROR_ALREADY_EXISTS = 183;


;)


--------------------
    
PM MAIL ICQ Skype   Вверх
Albinos_x
Дата 21.12.2005, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



Цитата
{ Cannot create a file when that file already exists. }

у меня с английским слабовато, учил немецкий.... попробую перевести smile
Добавлено @ 02:23
если я правильно, перевёл, то энто значит, что подразумевается что файл уже существует. Так я его создаю командой в которой возникает этот глюк... ничего не пойму...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Albinos_x
Дата 21.12.2005, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



нашёл причину своей головной боли... она была на другой форме в строчках:
Код
...
procedure TForm1.FormCreate(Sender: TObject);
var fs:string;
begin
DateTimePicker1.Date:=date;
DateTimePicker2.Time:=time;
fs:=ExtractFilePath(Application.ExeName);
{$I-}
MkDir(fs+'Sis');
{$I+}
if (FileExists(fs+'Sis\PuP.db')) then
   begin
   Table1.Active:=false;
...

точнее непосредственно в строчках:
{$I-}
MkDir(fs+'Sis');
{$I+}
эт я пытался предусмотреть случай, когда пользователь удалит эту папку, но оказывается, не смотря на то что исключение не генерируется, при существующей папке и выполнении этой строчки, вызывает глюки при работе с файлами, теперь думаю этот недостаток исправить.

Всем спасибо! smile

Это сообщение отредактировал(а) Albinos_x - 21.12.2005, 06:38


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Romikgy
Дата 21.12.2005, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Дык проверь существует ли каталог или нет!


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Albinos_x
Дата 21.12.2005, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



Цитата(Romikgy @ 21.12.2005, 10:40)
Дык проверь существует ли каталог или нет!

я предпологал, что глюков не возникнет, т.к. команда не создаст каталог если он есть, а только сгенерирует ошибку. инструкцией {$I-} я предотвратил появление сообщения об ошибке и в тоже время исполнение дальнейшего кода не прекратилось, что мне и нужно было. Ну не думал, я, что произойдёт что-то вроде блокировки работы с файлами программы... напишем функцию проверки...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Romikgy
Дата 21.12.2005, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Дык есть она в дельфях smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Albinos_x
Дата 21.12.2005, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



Цитата(Romikgy @ 21.12.2005, 11:35)
Дык есть она в дельфях

если често, то я такую не помню, может напомнишь?


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Snowy
Дата 21.12.2005, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



DirectoryExist
Но тебе нужно
ForceDirectories
PM MAIL   Вверх
Romikgy
Дата 21.12.2005, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Можно только используя
Цитата(Snowy @ 21.12.2005, 12:00)
DirectoryExist
smile

Добавлено @ 12:04
Только так :DirectoryExists


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Albinos_x
Дата 21.12.2005, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



спасибо!


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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