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

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

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2019, 12:34   #1
ebahhh_official
Новичок
Джуниор
 
Регистрация: 07.06.2019
Сообщений: 2
Восклицание [Delphi] Не могу записать в файл.

Делаю формы для изменения пароля. Чтобы войти в личный кабинет, пароль считывается из файла, сравнивается и пускает. Далее есть кнопка изменить пароль, где просит ввести старый пароль, ввожу старый пароль, кидает на следующую форму, где нужно ввести 2 одинаковых новых пароля. Проверка условия, если пароли одинаковые, то выводим соотв. сообщение, переменной строки (а) присваиваем значение компонента Edit, и записываем строку а в файл f. Но что-то не идет, и ругается, вот код:
Код:
 procedure TForm5.Button1Click(Sender: TObject);
var a:string; f:TextFile;
begin
  AssignFile(f,'pass.nig');
  Reset(f);
  read(f,a);
if (Edit2.Text <> Edit3.Text) then ShowMessage('Пароли не совпадают!') else
  begin
  ShowMessage('Пароль успешно изменен!');
  a:=Edit3.Text;
  write(f,a);
  closefile(f);
  end;
end;
Пожалуйста, оформляйте Ваш код согласно правилам.
Изображения
Тип файла: jpg W1gb13BIAIk.jpg (23.5 Кб, 132 просмотров)

Последний раз редактировалось Вадим Мошев; 09.06.2019 в 12:57.
ebahhh_official вне форума Ответить с цитированием
Старый 09.06.2019, 13:03   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

У вас используется процедура Reset(<файл>). В случае текстового файла (а у вас он такой) она его открывает только на чтение (http://pascal.net.ru/Reset). Используйте rewrite.

Кроме того, я бы советовал открывать и закрывать файл на одном уровне, то есть, если вы его открываете ВНЕ условного оператора, то и закрывайте тоже вне оператора if (после него, а не в else, как это у вас сейчас)
Вадим Мошев вне форума Ответить с цитированием
Старый 09.06.2019, 13:06   #3
ebahhh_official
Новичок
Джуниор
 
Регистрация: 07.06.2019
Сообщений: 2
По умолчанию

Все, вопрос решил, оказывается на предыдущей форме просто напросто не закрыл этот файл.
ebahhh_official вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файловый ввод/вывод в языке С: двоичный файл и записать в него двумерный целочисленный массив размером n*m, записать в файл F2... Анастасия_А Помощь студентам 0 28.03.2016 14:07
библиотека TagLib, не могу записать текст песни в файл?? Тёма_) C# (си шарп) 0 14.12.2013 22:11
Не могу записать русский текс у файл!!:confused: tasik_ua Общие вопросы C/C++ 0 27.11.2013 22:35
Дан файл f, который содержит вещественные числа. Найти сумму чисел и записать результат в новый файл. (Delphi) 2Nboy Помощь студентам 1 08.06.2012 17:01
Не могу записать текстовый файл Venteux Помощь студентам 4 18.01.2011 23:14