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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2013, 18:33   #1
aleksskay
Форумчанин
 
Регистрация: 20.12.2011
Сообщений: 102
По умолчанию программа с файлами

почему данная программа выдает сообщение об ошибке
Код:
 procedure TForm1.Button1Click(Sender: TObject);
var
  f2,f:TextFile ;
 Fname2,Fname, s:string;

begin
  Fname := edit1.Text;
  Fname2 := edit2.Text;

  AssignFile(f, 'fname');
  AssignFile(f2, 'Fname2');
  {$I-}
  Reset(f);

  {$I+}
  Rewrite(f2);
  While not Eof(f) do
  begin
    readln(f, s);
    Memo1.lines.Add(s);
    writeln(f2,s);
  end;
  CloseFile(f);
  CloseFile(f2);



end;

Последний раз редактировалось Stilet; 18.02.2013 в 18:37.
aleksskay вне форума Ответить с цитированием
Старый 18.02.2013, 18:40   #2
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Существует такая переменная FileMode она управляет режимом доступа к файлу.. возможно как-т о так будет гуд
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
f2,f:TextFile ;
Fname2,Fname, s:string;

begin
Fname := edit1.Text;
Fname2 := edit2.Text;

AssignFile(f, 'fname');
AssignFile(f2, 'Fname2');
{$I-}
FileMode:=0;//только чтение
Reset(f);
{$I+}
FileMode:=2;//только запись
Rewrite(f2);
While not Eof(f) do
begin
FileMode:=0;//только чтение
readln(f, s);
Memo1.lines.Add(s);
FileMode:=2;//только чтение
writeln(f2,s);
end;
CloseFile(f);
CloseFile(f2);
end;
execom вне форума Ответить с цитированием
Старый 19.02.2013, 10:05   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну и где текст/скриншот ошибки?!

я думаю, что проблема совсем в другом.
пробуйте так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
f2,f:TextFile ;
Fname2,Fname, s:string;

begin
Fname := edit1.Text;
Fname2 := edit2.Text;

AssignFile(f, fname);
AssignFile(f2, Fname2);
а ещё, добавьте проверку на существование файла и выдачу сообщения, в случае, если файл не найден.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
f2,f:TextFile ;
Fname2,Fname, s:string;

begin
Fname := edit1.Text;
Fname2 := edit2.Text;

if not FileExists(FName) then begin
   ShowMessage('Файл ёк! Нет файла '+FName);
   Exit;
end;

AssignFile(f, fname);
AssignFile(f2, Fname2);
....
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++] Работа с файлами. Программа не компилируется M_Asja Помощь студентам 13 12.12.2012 18:50
Работа с файлами на Си, не работает программа ПеПпИ Помощь студентам 0 28.11.2010 22:29
Программа с текстовыми файлами AlDonea Помощь студентам 1 01.06.2010 22:59
программа по работе с текстовыми файлами Kowmar Помощь студентам 0 25.05.2010 01:31
Модульная программа на С работа с файлами Stiff Master Общие вопросы C/C++ 1 02.04.2009 19:55