Открытие файла

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Открытие файла

Сообщение vladimirse » 19.11.2012 09:54:43

Доброго времени суток, уважаемые!
Приступил не так давно к изучению freepascal по этому вопросы у меня достаточно глупые.

1. В среде Lazarus создаю консольное приложение, ввожу следующий код:
Код: Выделить всё
program project1;

{$mode objfpc}{$H+}

uses
  Classes, SysUtils, CustApp;

var
  fname: textfile;
  data: string;

begin
    assign(fname,'f.txt');

    while not eof(fname) do
          begin
            readln(fname, data);
            write(data);
            end;
    close(fname);

end.


Создаю в каталоге с исполняющим файлом текстовый файл "f.txt" который содержит в себе числа от 1 до 10 в строчку.
При запуске исполняемого файла проекта выдает следующую ошибку:
Код: Выделить всё
An unhandled exception occurred at $00000000004015CE :
EInOutError : File not open
  $00000000004015CE  main,  line 18 of project1.lpr


Пробовал запустить программу и в Windows и в Linux, ошибка аналогичная.

2. Можно ли проект с формой созданный в Delphi как то подгрузить в Lazarus?
Аватара пользователя
vladimirse
незнакомец
 
Сообщения: 6
Зарегистрирован: 19.11.2012 09:43:00

Re: Открытие файла

Сообщение Mr.Smart » 19.11.2012 09:58:02

vladimirse писал(а):Приступил не так давно к изучению freepascal

За одно приступайте к изучению английского языка.
Если перевести текст выданной ошибки EInOutError : File not open, то сразу всё становится понятно.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Открытие файла

Сообщение vladimirse » 19.11.2012 10:07:21

Я понимаю, что программа не может открыть файл.
Где ошибка в коде? Файл существует и он не пустой, и расположен в зоне видимости программы.
Аватара пользователя
vladimirse
незнакомец
 
Сообщения: 6
Зарегистрирован: 19.11.2012 09:43:00

Re: Открытие файла

Сообщение Putnick » 19.11.2012 10:13:08

1.
Как уже было тонко замечено, вчитайтесь в текст сообщения об ошибке и таки откройте файл, добавив после строки
Код: Выделить всё
assign(fname,'f.txt');

строчку
Код: Выделить всё
Reset(fname);

2. импорт Делфи-проектов в Лазарь предусмотрен: Сервис-Преобразовать проект Делфи в проект Лазарус. Правда, после преобразования получившийся проект вполне вероятно придётся дорабатывать напильником, но если проект не шибко навороченный и не использует специфических Делфийских модулей, то скорее всего заработает сразу же.
Putnick
новенький
 
Сообщения: 62
Зарегистрирован: 18.03.2009 13:02:56

Re: Открытие файла

Сообщение vladimirse » 19.11.2012 10:18:15

Putnick, вот вот это ответ! Спасибо большое! Все четко и понятно!
Зачем пытаться унизить человека когда он задает вполне прямой вопрос? Видимо действительно неискоренимая особенность отечественных форумов!
Аватара пользователя
vladimirse
незнакомец
 
Сообщения: 6
Зарегистрирован: 19.11.2012 09:43:00

Re: Открытие файла

Сообщение naomika » 09.08.2013 12:06:08

vladimirse писал(а):Зачем пытаться унизить человека когда он задает вполне прямой вопрос? Видимо действительно неискоренимая особенность отечественных форумов!

Такова селяви, одни спрашивают и терпят, другие умничают и бьют себя кулаком в грудь
Аватара пользователя
naomika
незнакомец
 
Сообщения: 7
Зарегистрирован: 09.08.2013 08:30:41


Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

Рейтинг@Mail.ru