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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2011, 13:13   #1
MNaz
Пользователь
 
Регистрация: 23.05.2011
Сообщений: 19
Восклицание Прога с запросом имя пользователя, пароля..

Главная форма: Form1
В событии
Код:
OnCreate
прописал
Код:
PasswordDlg.showmodal
На форме пароля 2 едита, кнопка "Вход"
Вот код на
Код:
FormCloseQuery
.. есть ли ошибка, и в чем?:
Код:
var a,b,st:string;
      stl: TStringList;
begin
  a:=Edit1.Text;          // записал имя в переменную
  b:=password.Text;    // записал пароль в переменную
  stl.Create;               // создал StringList
  stl.LoadFromFile('account\' + a + '.txt');   // открываю файл типа имя.txt
  st:=stl.Strings[0];    // считываю из файла 1 строку
  stl.Free;                 // чищу StringList
 if st=b then begin      // проверяю, ровна ли первая строчка паролю
CanClose:=true          // если ровна, то форму пароля можно закрыть
end
else                          // в других случаях
ShowMessage('Неверный логин/пароль') // соответственно сообщение
end;
Что не так.. если гдето банальная ошибка.. я не проффи)
MNaz вне форума Ответить с цитированием
Старый 20.06.2011, 13:19   #2
MNaz
Пользователь
 
Регистрация: 23.05.2011
Сообщений: 19
По умолчанию

вроде все подробно описал.. выдает ошибку после нажатия ОК, чтото типа:
Project reised exception class EAccessViolation with message "Access violation in address (какойто там) in module Project1.exe ... Потом в коде подсвечивает строчку
Код:
end;
в коде
Код:
procedure TForm1.FormShow(Sender: TObject);
begin
passworddlg.showmodal;
end;
Посоветуйте что-то, или может переписать, не используя passwordDialog? Второй день над этим казалось бы простым кодом парюсь..

Последний раз редактировалось MNaz; 20.06.2011 в 13:22.
MNaz вне форума Ответить с цитированием
Старый 20.06.2011, 14:37   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

100% Вы забываете, что прежде чем сделать passworddlg.ShowModal
нужно эту самую форму passworddlg предварительно СОЗДАТЬ!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.06.2011, 16:45   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
stl:=Tstringlist.Create();
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 20.06.2011 в 18:12.
Mad_Cat вне форума Ответить с цитированием
Старый 20.06.2011, 16:59   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
stl:=Tstringlist.Create(self);
А!! ТОчно! TSTringList же не создаётся! а я проглядел ...

только надо так создавать:
Код:
  stl:=Tstringlist.Create();
to MNaz
это надо поставить вместо ошибочной строчки stl.Create; // создал StringList
объект ещё не создан, а Вы его методы пытаетесь вызвать...

Последний раз редактировалось Serge_Bliznykov; 20.06.2011 в 17:03.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Изменение пароля пользователя Рамик Помощь студентам 8 10.09.2019 23:46
Имя пользователя OlegSkal Общие вопросы Delphi 1 07.10.2010 18:40
Имя пользователя Kreadlling Общие вопросы C/C++ 1 04.12.2009 14:31
[Delphi] Смена пароля пользователя Windows Рамик Помощь студентам 11 06.08.2009 08:17
Имя пользователя Albenous Win Api 3 20.01.2007 22:39