Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2009, 13:51   #1
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
Восклицание Ошибка I/O error 6

Пишу:
Код:
if OpenDialog1.Execute then begin
if opendialog1.FileName='' then
MessageBox (0,'Невыбран файл','Ошибка',MB_OK);
exit;
end
else begin
не работает сообщение не выскакивает а выскакивает :
I/Oerror6
что делать?
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!

Последний раз редактировалось Волк; 09.02.2009 в 13:52. Причина: Потерял букву
Волк вне форума Ответить с цитированием
Старый 09.02.2009, 13:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

На какой строке выскакивает?
Эта часть кода некриминальна, приводи весь код.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.02.2009, 13:58   #3
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
По умолчанию

вот:
Код:
procedure TForm1.N3Click(Sender: TObject);
begin
memo1.Text:='';
n5.Enabled:=true;
if OpenDialog1.Execute then begin
if opendialog1.FileName='' then
MessageBox (0,'Невыбран файл','Ошибка',MB_OK);
exit;
end
else begin
fName := OpenDialog1.FileName;
AssignFile(f, fName);
{$I-}
Reset(f);
{$I+}
if IOResult <> 0 then
begin
MessageDlg('Ошибка доступа к файлу ' + fName,mtError,[mbOk],0);
exit;
end;
while not EOF(f) do
begin
readln(f, buf);
Memo1.Lines.Add(buf);
end;
CloseFile(f);
flag:=false;
end;
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 09.02.2009, 14:00   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А вот это явный "криминал":
Код:
if OpenDialog1.Execute then 
begin
if opendialog1.FileName='' then
MessageBox (0,'Невыбран файл','Ошибка',MB_OK);
exit;
end
else begin
fName := OpenDialog1.FileName;
Наверняка у OpenDialog1 ничего не прописано в инспекторе объектов в свойстве FileName.

Последний раз редактировалось mihali4; 09.02.2009 в 14:04.
mihali4 вне форума Ответить с цитированием
Старый 09.02.2009, 14:04   #5
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
А вот это явный "криминал":
Код:
if OpenDialog1.Execute then 
begin
if opendialog1.FileName='' then
MessageBox (0,'Невыбран файл','Ошибка',MB_OK);
exit;
end
else begin
fName := OpenDialog1.FileName;
Хоть я и исправил все равно ошибка выходит,
а сообщение нет
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 09.02.2009, 14:05   #6
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

if OpenDialog1.Execute
then
begin
<тут какието ваши действия>
...............................
...............................
end
else
begin
MessageBox (0,'Невыбран файл','Ошибка',MB_OK);
exit;
end
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 09.02.2009, 14:10   #7
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
Радость

Dark_Spirit спасибо, помогло!
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 09.02.2009, 14:12   #8
mflat
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 71
По умолчанию

Код:
procedure TForm1.N3Click(Sender: TObject);
begin
if not OpenDialog1.Execute then exit;
 if OpenDialog1.FileName='' then
  MessageBox (0,'Не выбран файл','Ошибка',MB_OK);
  exit;
 else 
  begin
   FName := OpenDialog1.FileName;
   AssignFile(f, fName);
   {$I-}
   Reset(f);
   {$I+}
   if IOResult <> 0 then
    begin
      MessageDlg('Ошибка доступа к файлу ' + fName,mtError,[mbOk],0);
      exit;
    end;
While not EOF(f) do
  begin
    Readln(f, buf);
    Memo1.Lines.Add(buf);
  end;
CloseFile(f);
end;
Попробуй вот так. Может быть заработает
╓-----┴-----╜
mFlat
mflat вне форума Ответить с цитированием
Старый 09.02.2009, 14:12   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да действительно нужно проверять перед Assign не пусто ли имя файла и есть ли такой файл вообще.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка перед компиляцией Error in module Elm0 Общие вопросы Delphi 1 18.12.2008 12:48
Ошибка(C++): error C2041: illegal digit '9' for base '8' TheWanderer Общие вопросы C/C++ 4 02.10.2008 21:11
Ошибка OLE Error 800A03EC fluxion БД в Delphi 4 02.05.2008 05:12
ошибка I/O error 32 kolduev Помощь студентам 7 29.02.2008 20:22
Free Pascal(2.0.4) ошибка: Error while linking Акашаев Нурлан Паскаль, Turbo Pascal, PascalABC.NET 2 04.08.2007 10:10