Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Валентинка_нов
0 / 0 / 0
Регистрация: 09.05.2017
Сообщений: 1
1

Работа с файлами в Лазарусе

09.05.2017, 12:53. Просмотров 844. Ответов 3
Метки нет (Все метки)

Здравствуйте, подскажите пожалуйста как решить следующую проблему. Мне нужно результаты записать в файл. Я это делаю следующим образом:

Pascal
1
2
3
4
5
6
7
8
procedure TForm1.Button1Click(Sender: TObject);
var   f:textfile;
begin
   assignfile(f,'rez.txt');
   rewrite(f);
   write(f,edit1.text);
   closefile(f);
end;
Но ничего не выходит. Он даже файл не создает. Я уже молчу про запись(позже создавала файл сама). Помогите пожалуйста решить проблему.
0
Миниатюры
Работа с файлами в Лазарусе  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2017, 12:53
Ответы с готовыми решениями:

Работа с графикой в лазарусе
Реализовать проект, который графически выводит информацию в окно программы....

Бд в Лазарусе
Прошу помогите! Очень нужно написать базу данных с запросами,так чтобы...

Работа с файлами
учусь работать с файлами, написал вот такой кодprocedure...

Работа с файлами
Нужно программно удалить все файлы из папки и второе как программно переместить...

Работа с файлами
Помогайте ребята) в общем надо создать файл, записать туда n элементов, потом...

3
Joey
Форумчанин
831 / 552 / 219
Регистрация: 05.05.2015
Сообщений: 3,201
Записей в блоге: 1
09.05.2017, 17:37 2
1. Где у Вас расположен экзешник? Возможно, нет прав доступа на запись
2. Откуда Вы запускаете программу? Возможно, Вы запускаете свою программу из другой программы, тогда у Вашей рабочая папка будет где-нибудь в неизвестном Вам месте, например, C:\Windows\System32.

Если хотите надежного результата, то при создании формы поменяйте рабочую папку, так:
Delphi
1
2
3
4
procedure TForm1.FormCreate(Sender: TObject);
begin
  SetCurrentDirUTF8(ExtractFilePath(Application.ExeName));
end;
Нужно подключить в uses LazFileUtils
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26130 / 17523 / 6949
Регистрация: 22.10.2011
Сообщений: 30,859
Записей в блоге: 6
09.05.2017, 17:55 3
Лучший ответ Сообщение было отмечено Валентинка_нов как решение

Решение

Не надо это делать при создании формы, потому что какой-нибудь компонент во время работы может опять поменять эту папку, и все пойдет не так. Надежнее работать с абсолютными именами файлов, а не с относительными, и делать
Pascal
1
assignfile(f, ExtractFilePath(ParamStrUTF8(0))+'rez.txt');
Хотя мне совершенно непонятно желание пользоваться дедовскими средствами. Гораздо красивее будет создать StringList, заполнить его результатами и потом сразу записать их в файл.
1
Joey
Форумчанин
831 / 552 / 219
Регистрация: 05.05.2015
Сообщений: 3,201
Записей в блоге: 1
09.05.2017, 18:21 4
Цитата Сообщение от volvo Посмотреть сообщение
мне совершенно непонятно желание пользоваться дедовскими средствами
Возможно, университетская программа, как всегда у нас, пользуется дедовскими учебниками. Либо ТС учится по самоучителям, как я в свое время, которые тоже обычно десятилетней давности. Я сам раньше assign-ми да reset-ами работал с файлами, пока меня не уткнули в потоки
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2017, 18:21

Работа с файлами
Выручайте, я вообще не понимаю что делать, мне нужно:"Создать типизированный...

Работа с файлами
Необходимо записать параметры функций в файл. Вот отрывок кода, отвечающего за...

Паскаль на Лазарусе
Добрый вечер, уважаемые участники форума! Требуется небольшая помощь по поводу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru