Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка "I/O error 104" [D7, XP]


Steep ©   (2008-01-13 20:52:00) 

эх... снова я...
Project raised exception class EInOutError with message "I/O error 104"

Я читаю файл - числа разделенные ';'
и заношу в StringGrid и массив.

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



procedure TForm1.Button1Click(Sender: TObject);
var
 f: TextFile;
 s, stemp: string;
 SArray: array[0..9, 0..59] of real;
 r,c,k: integer;
begin
 if OD.Execute=true then
 begin
   AssignFile(F, OD.FileName);
   Reset(f);
   r := 0;
   //Çäåñü ÷èòàåì âåñü ôàéë
   while not eof(f) do
   begin
     c := 0;
     ReadLn(f, s);
     //Èùåì â ñòðîêå äàííûå
       Showmessage(s + '; new string; r=' + IntToStr(r) + '; c=' + IntToStr(c));
     while s'' do
     begin
       k := Pos(';', s); //ïîçèöèÿ
       if k=0 then k := Length(s);
       stemp := Copy( S, 1, k-1 );
         //Showmessage( stemp + '; that copy; r=' + IntToStr(r) + '; c=' + IntToStr(c) );
       //Çàíîñèì äàííûå
       SArray[r,c] := StrToFloat(stemp);
       StringGrid.Rows[r].Strings[c] := stemp;
       //óäàëÿåì çàíåñåííîå èç ñòðîêè
       Delete(S, 1, k);
       inc(c);
         //Showmessage( 'S = 0' + s );
     end;
     inc(r);
   end;
   //Çäåñü çàêðûâàåì ôàéë
   CloseFile(f);
 end;
end;


Смирнов   (2008-01-14 10:06:00) [1]

if (not OD.execute) = (2 * 2 <> 4) then


KilkennyCat   (2008-01-14 09:25:00) [2]

if (not OD.execute) = false then - это еще круче


Смирнов   (2008-01-14 08:56:00) [3]


> может, тогда и так понравится, а?
>
> if OD.Execute then


еще вариант
if OD.Execute <> false then


KilkennyCat   (2008-01-14 04:54:00) [4]


> Steep   (13.01.08 21:13) [5]
>
>
> > No_Dead ©  
>
> может и не принято - но мне так нравится :)


может, тогда и так понравится, а?

if OD.Execute then


Amoeba   (2008-01-14 03:13:00) [5]

И в чем господа, собственно, была проблема то?


Steep   (2008-01-13 21:13:00) [6]


> No_Dead ©  

может и не принято - но мне так нравится :)
если он один - то я так сокращаю.....


No_Dead   (2008-01-13 21:03:00) [7]

> [3] Dmitry S ©   (13.01.08 20:59)

так принято сокращать? хм, не знал и в правду


Dmitry S   (2008-01-13 20:59:00) [8]

OD:TOpenDialog


No_Dead   (2008-01-13 20:56:00) [9]

> if OD.Execute=true then

а это что?
я просто не знаю:(

а так все work, если закомментить указанную


Steep   (2008-01-13 20:53:00) [10]

Блин! чегото я только отправляю вопрос на форум и меня озаряет :)))))

Здесь же нужно в массиве наоборот указать (или заносить :) )
SArray: array[0..59, 0..9] of real;

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо