Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

I/O Error 105 Delphi

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> I/O Error 105 Delphi
Имя
Сообщение << Старые топики   Новые топики >>
I/O Error 105 Delphi - 2012-02-07 05:01:15.660000   
boo25

Сообщений: 106
Оценки: 0
Присоединился: 2009-01-23 14:48:18.650000
Решил сделать чтобы открытый файл автоматом сохранялся при нажатии на кнопку.
Вот код:

begin
SaveStringGrid(StringGrid1, OpenDialog1.FileName);
end;

Работает без проблем если файл открыт в программе, но если файл не открыт и нажать кнопку сохранения то вылазит ошибка I/O Error 105.
Подскажите как сделать заглушку от этой ошибки, пробовал несколько вариантов и ничего не выходит.
Post #: 1
RE: I/O Error 105 Delphi - 2012-02-07 10:16:43.803333   
Barkass$

Сообщений: 1854
Оценки: 40
Присоединился: 2008-11-11 12:19:45.216666
Прежде чем задавать вопрос, надо указывать, что ты используешь готовую процедуру сохранения StringGrid'a.

1.
if Length (OpenDialog1.FileName) = 0 then
ShowMessage('Error') else
SaveStringGrid(StringGrid1, OpenDialog1.FileName);

2.
try
SaveStringGrid(StringGrid1, OpenDialog1.FileName);
except
ShowMessage('Error');
end;
Post #: 2
RE: I/O Error 105 Delphi - 2012-02-07 17:38:20.500000   
boo25

Сообщений: 106
Оценки: 0
Присоединился: 2009-01-23 14:48:18.650000
Спасибо за помощь!
Помог первый вариант.
Post #: 3
RE: I/O Error 105 Delphi - 2012-02-07 17:46:04.396666   
Barkass$

Сообщений: 1854
Оценки: 40
Присоединился: 2008-11-11 12:19:45.216666
2 вариант тоже поможет, просто блок try except корректно обрабатывает исключение только после компилирования. Т.е. что бы все было идеально, надо запускать программу Не в делфе.

И еще я там немного не правильно написал. Грамотнее будет вот так:

2.
try
SaveStringGrid(StringGrid1, OpenDialog1.FileName);
except
on Exception do ShowMessage('Error');
end;

Есть еще 3 вариант, без считывания длины.

if OpenDialog1.FileName = '' then
ShowMessage('Error') else
SaveStringGrid(StringGrid1, OpenDialog1.FileName);

Вариантов как видишь, множество. Что такое OpenDialog1.FileName, обычное диалоговое окно которому в данном случае передается имя и путь файла. Передается все это дело в обычный String, т.е. в виде текста. А все действия и исключения которые можно сделать с текстом, можно сделать и с FileName.

Бдительно рекомендую ознакомиться с азами в делфе.
Post #: 4
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> I/O Error 105 Delphi







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.