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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2010, 16:14   #1
)Игнат(
Форумчанин
 
Регистрация: 06.01.2008
Сообщений: 180
Вопрос Ошибка чтения текста

Код:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,StrUtils;
type
  TForma = class(TForm)
    OButton: TButton;
    ExButton: TButton;
    ClButton: TButton;
    ExitButton: TButton;
    Counts: TLabel;
    rcrds: TLabel;
    Mstat: TMemo;
    Done: TLabel;
    OD: TOpenDialog;
    procedure FormCreate(Sender: TObject);
    procedure ExitButtonClick(Sender: TObject);
    procedure OButtonClick(Sender: TObject);
    procedure ClButtonClick(Sender: TObject);
    procedure ExButtonClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Forma: TForma;
//Ìîè ïåðåìåííûå
//ìàññèâ Èìåí ôàëîâ:
F_names:Array[1..40] of string =(элементы массива(оформлены правильно);

F_labels:Array[1..39] of string =(и тут);

 postdata:array[0..35] of string;

s,str,s_t:string;

Count,rcrd:integer;

F,H:TextFile;

implementation

{$R *.dfm}

procedure TForma.FormCreate(Sender: TObject);
begin

ClButton.Enabled:=false;
ExButton.Enabled:=false;
Mstat.Text:='';
OButton.Caption:='Îòêðûòü ôàéë';
ClButton.Caption:='Çàêðûòü ôàéë';
ExitButton.Caption:='Âûéòè èç ïðîãðàììû';
eXButton.Caption:='Íà÷àòü Îáðàáîòêó';
Counts.Caption:='Îòêðîéòå ôàéë äàííûõ!';
rcrds.Caption:='Îòêðîéòå ôàéë äàííûõ!';
done.Caption:='Îòêðîéòå ôàéë äàííûõ!';
end;

procedure TForma.ExitButtonClick(Sender: TObject);
begin
Forma.Close;
end;

procedure TForma.OButtonClick(Sender: TObject);
begin
   if OD.Execute
  then AssignFile(F, OD.FileName)
      else Exit;
      Reset(F);
      count:=1;
  //Çàíîñèì òåêñò â ïåðåìåííóþ
while Not EOF(F) do
  begin
    count:=count+1 ;
    Readln(F,S);
  end;
 rcrd:=count div 26;
Counts.Caption:='Â Ôàéëå '+ inttostr(count) +' ñòðîê' ;
 rcrds.Caption:='Â Ôàéëå ïðèìåðíî '+ inttostr(rcrd) +' çàïèñåé' ;
 Done.Caption:='Íàæìèòå êíîïêó Íà÷àòü Îáðàáîòêó';

 ClButton.Enabled:=true;
if rcrd<>0 then ExButton.Enabled:=true;
end;

procedure TForma.ClButtonClick(Sender: TObject);
begin
CloseFile(F);
 Counts.Caption:='Îòêðîéòå ôàéë äàííûõ' ;
 rcrds.Caption:='Îòêðîéòå ôàéë äàííûõ' ;
 Done.Caption:='Îòêðîéòå ôàéë äàííûõ' ;
 ExButton.Enabled:=false;
end;

procedure TForma.ExButtonClick(Sender: TObject);
var
//íååáè÷åñêèé ñïèñîê ïåðåìåííûõ!
i,j:byte;
fname:string;
begin
Reset(f);
i:=0;
// Ãëàâíûé öèêë
While not eof(f) do begin
// Òåëî Ãëàâíîãî öèêëà

    readln(f,s);
    s_t:=copy(s,1,6);
    postdata[i]:=s;
    i:=i+1;
    if (s_t='(((999') then
//BEGIN ÓÑëîâèå íóæíîé ñòðîêè
       Begin
        readln(f,s);
    postdata[i]:=s;
    i:=i+1;
        readln(f,s);
    postdata[i]:=s;
    i:=i+1;
{        readln(f,s);
    postdata[i]:=s;
    i:=i+1;   }
         //ÖÈÊË Ïî Ìàññèâó èìåí, çàïñèñü â ôàéë
          for j:=1 to 39 do
        //Òåëî öèêëà
            begin
            if AnsiContainsStr(UTF8ToAnsi(s),UTF8toAnsi(F_labels[j])) then
              begin
              fname:=f_names[j]
              end
            else
              begin
              fname:=f_names[40];

           end;
readln(f,s);// ВОТ здесь выдается ошибка 103.
    postdata[i]:=s;
    i:=i+1;
        assignFile(h,fname);

{        if FileExists(fname) then
    begin
   //Îòêðûâàåì ñóùåñòâóþùèé ôàéë è äîïèñûâàåì âåñü áëîê
    writeln(h,str);
    closefile(h);
    end
    else
    //Ïèøåì â óæå èìåþùèéñÿ
    begin
    reWrite(h);
    writeln(h,str);
    closefile(h);
    // Ñîçäàåì ôàéë è çàïèñûâàåì áëîê
}
    end;
    end;
    end;
end;
end;
end.
Выдается ошибка 103
файл открыт, доступ есть, имя правильное.
Если снова попробовать открыть - то выдается ошибка 104.
уже второй час бьюсь головой об клаву, не могу понять в чем дело. помогите разобраться
)Игнат( вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка чтения файла Umnik1 Общие вопросы Delphi 12 25.06.2013 22:57
Ошибка в коде чтения rezak91 Помощь студентам 6 25.05.2010 21:03
Код(скрипт) чтения HTML страницы как текста PuzzleC JavaScript, Ajax 3 06.03.2010 15:35
Ошибка чтения из памяти Шульц Общие вопросы Delphi 20 03.11.2009 12:26
ошибка чтения KiSH333 БД в Delphi 12 22.08.2008 11:09