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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2009, 16:44   #1
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию проблема с константой

Код:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
const pass = Form1.Edit1.Text;
begin
if Edit1.Text = pass then ShowMessage('Yes');
else Application.Terminate;
end;
выделяет const pass = Form1.Edit1.Text;

а когда делаю так

выделяет const pass = '333'

он тянет!
Дайте мне власть и я переверну ваш мир!...

Последний раз редактировалось Stilet; 03.03.2009 в 17:01.
KWN, lnc вне форума Ответить с цитированием
Старый 03.03.2009, 16:46   #2
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
По умолчанию

Наверное потому что Text ожет изменится а вы объявляете константу.
I like WPF
kommunist вне форума Ответить с цитированием
Старый 03.03.2009, 17:01   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Константы так не обьявляют.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.03.2009, 17:56   #4
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

у меня в этом кодинге процесс... ввода пароля...
как мне еще это реализовать? без const как вы говорите?
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 03.03.2009, 19:24   #5
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Вводите в Едит свой пароль, при выходе сохраняйте, например в файл или в реестр. При входе в программу выводите форму ввода пароля, и проверяйте, если пароль введен верно - входите в программу, если нет - выведите допустим сообщение - 'Пароль не верен'.

Вот быстрый пример:
Код:
var
  FilePass: TextFile;
  Password: Integer;

//На OnCreate формы бросаете
    AssignFile(FilePass, 'Pass.txt');
    Reset(FilePass);
    Read(FilePass,password);
    CloseFile(FilePass);

//На OnClose формы бросаете
    AssignFile(FilePass, 'Pass.txt');
    Rewrite(FilePass);
    Write(FilePass,Edit1.Text);
    CloseFile(FilePass);

//По нажатию кнопки
if StrToInt(Edit1.Text) = password then
  Label1.Caption:= 'Пароль верен'
  else
  Label1.Caption:= 'Пароль не верен';
Код только для примера как это можно грубо сделать. Вот от него можете и отталкиваться.

P.S. Я бы хранил пароль в реестре.
Будь проще и люди к тебе потянутся

Последний раз редактировалось spamer; 03.03.2009 в 19:40.
spamer вне форума Ответить с цитированием
Старый 03.03.2009, 22:17   #6
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Вот процедура ввода пароля (кусок кода из программы):
Код:
procedure TForm1.BPrgClick(Sender: TObject);// обработчик кнопки "запустить программу"
begin
   Label3.Caption:= 'Введите  ключ (пароль)';
   Edit2.SetFocus;
 if Form1.Edit2.Text = 'HW2QRD' then  {  HW2QRD -это и есть пароль.Можно заменить на любое значение}
 begin
   with Form1 do
   begin
    { здесь выполнение проги, переход к другим процедурам проги}
   end;
 end
 else
 begin
   with Form1 do
   begin
     Label3.Caption:= 'Неверный КЛЮЧ. Повторите ввод.';
     Edit2.Clear;
     Edit2.SetFocus;
   end;
 end;
end;
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 04.03.2009, 00:16   #7
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

Большое человеческое спасибо
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 04.03.2009, 18:48   #8
Bayazet
Форумчанин
 
Регистрация: 08.12.2008
Сообщений: 156
По умолчанию

как вариант, объявлять ваш pass как глобальную переменную след.образом:

Код:
  var
    pass : String = 'пароль';
Bayazet вне форума Ответить с цитированием
Старый 05.03.2009, 11:21   #9
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

Bayazet Не пашет! надеюсь я правильно сделал?
посмотри...

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
pass : String = Form1.Edit1.Text;
begin
if Edit1.Text = pass then ShowMessage('Yes');
else Application.Terminate;
end;
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 05.03.2009, 12:13   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не пашет!
А потому что такое только глобально можно обьявить.
Цитата:
pass : String = Form1.Edit1.Text;
Любиш собственные грабли целовать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с ПК Sawyer92 Компьютерное железо 28 14.09.2010 09:48
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37
Проблема. kupulau Общие вопросы C/C++ 19 05.02.2008 21:11
проблема bill Свободное общение 7 08.07.2007 21:05