IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Ошибка при открытии файла I/O error 103
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Здравствуйте, столкнулся с такой проблемой при открытии типизированного файла все происходит нормально, но когда нажимаю кнопку отмена вместо открыть появляется ошибка I/O error 103



procedure TForm1.N5Click(Sender: TObject); // Open file
type
zapic=record
tablica:string[1];
fynkci9:string[200];
kolvo_strok:integer;
kolvo_el:integer;
end;
var
j:integer;
ft:file of zapic;
s:zapic;
m:string;
begin
OpenDialog1.Title:='Открыть файл';
openDialog1.Filter :='Файлы таблицы истинности|*.tabl';
if OpenDialog1.Execute then
begin
fname:=OpenDialog1.FileName;
AssignFile(ft,fname);
Reset(ft);
end
else ShowMessage('Открытие файла остановлено');
j:=0;
read(ft,s);
stringgrid2.RowCount:=s.kolvo_strok;
while not eof(ft) do
begin
read(ft,s);
stringgrid2.Cells[0,j]:=s.tablica;
inc(j);
end;
edit1.Text:=inttostr(s.kolvo_el);
edit2.Text:=s.fynkci9;
closeFile(ft);
end;



Пытался посмотреть по шагам ставлю указатель на начало процедуры, дойдя до строки


if OpenDialog1.Execute then



указатель почему-то перепрыгивает совсем на другую процедуру



procedure TForm1.Timer1Timer(Sender: TObject);
begin
StringGrid2.TopRow := StringGrid1.TopRow;
end;

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Извиняюсь за созданную тему решение было найденно добавлением оператора exit



.....
else begin ShowMessage('Открытие файла остановлено'); exit; end;
....

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата
решение было найденно добавлением оператора exit
А зачем тебе лишний Exit, когда и без него прекрасно все можно сделать? Ты зачем разбил последовательность операторов на 2 части? Вот так что, кто-то тебе запретил делать:
begin
OpenDialog1.Title:='Открыть файл';
openDialog1.Filter :='Файлы таблицы истинности|*.tabl';
if OpenDialog1.Execute then
begin
fname:=OpenDialog1.FileName;
AssignFile(ft,fname);
Reset(ft);

j:=0;
read(ft,s);
stringgrid2.RowCount:=s.kolvo_strok;
while not eof(ft) do
begin
read(ft,s);
stringgrid2.Cells[0,j]:=s.tablica;
inc(j);
end;
edit1.Text:=inttostr(s.kolvo_el);
edit2.Text:=s.fynkci9;
closeFile(ft);
end
else ShowMessage('Открытие файла остановлено');
end;
? Никаких Exit-ов, заметь... И код читается лучше... Кстати, ошибки при чтении тоже надо бы обрабатывать, нельзя быть уверенным на 100%, что их не будет...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


мммм..... Спасибо, действительно так гораздо лучше и понятней
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






China Syntroid
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Бывалый
***

Группа: Пользователи
Сообщений: 155
Пол: Мужской

Репутация: -  0  +


Why not settling on games that is fun and at the same time your earning. Well it'll make suspense because the game is well but dude just try it and it gave me hope while pandemic is real rn. BEST BONUSES IN CASINO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 4:16
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name