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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2010, 13:36   #11
foxes
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 94
По умолчанию

ВСЁ разобрался
foxes вне форума Ответить с цитированием
Старый 14.05.2010, 16:56   #12
Дашкевна
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 10
По умолчанию

Neeter

я совсем новичек в этом деле,вроде бы сделала всё,как ты писал,объясни пожалуйсто,что это за ошибки и как их исправить.


Код:
unit Unit2;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, 
  Buttons;

type
  TPasswordDlg = class(TForm)
    Label1: TLabel;
    Password: TEdit;
    OKBtn: TButton;
    CancelBtn: TButton;

    procedure OKBtnClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    ok: boolean;
  public
    { Public declarations }
  end;

var
  PasswordDlg: TPasswordDlg;

implementation

uses Unit1;

{$R *.dfm}


procedure TPasswordDlg.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
 if not ok then
  Application.Terminate;
end;


 procedure TPasswordDlg.OKBtnClick(Sender: TObject);
begin
 if Password.Text = '123' then
 begin
  Form1.Show;
  ok := true;
  Close;
 end 
 else
 begin
MessageDlg(' Пароль не верен! '+#13+#10
    +'Попробуйте еще раз.', mtWarning , [mbOK], 0);
end;
 end;
procedure TPasswordDlg.FormCreate(Sender: TObject);
begin
ok := false;
end;

end.
Дашкевна вне форума Ответить с цитированием
Старый 14.05.2010, 17:08   #13
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Дашкевна, а какие ошибки? Что компилятор пишет?
r9m вне форума Ответить с цитированием
Старый 14.05.2010, 17:34   #14
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

при такой постановке я бы наверно в модуле проекта както так сделал



Код:
 program Project1;
 
uses Forms,PassWord,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}
begin
    with TPasswordDlg.Create(Application) do
 begin
  try
    ShowModal;
   while (ModalResult=1) and (Password.Text<>'да') do
      ShowModal;
   if ModalResult<>1 then Application.Terminate
  finally
    Free;
  end;
 end;  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Последний раз редактировалось vovk; 14.05.2010 в 19:52. Причина: забыл уничтожить окно поправил
vovk вне форума Ответить с цитированием
Старый 14.05.2010, 19:28   #15
Дашкевна
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 10
По умолчанию

r9m
Цитата:
Дашкевна, а какие ошибки? Что компилятор пишет?
выдает вот эти ошибки

Код:
[Error] Unit2.pas(53): Undeclared identifier: 'MessageDlg'
[Error] Unit2.pas(54): Undeclared identifier: 'mtWarning'
[Error] Unit2.pas(54): Undeclared identifier: 'mbOK'
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit2.pas'
vovk
Цитата:
при такой постановке я бы наверно в модуле проекта както так сделал



Код:

uses program Project1;

Forms,PassWord,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}
begin
with TPasswordDlg.Create(Application) do
begin
try
ShowModal;
while (ModalResult=1) and (Password.Text<>'да') do
ShowModal;
if ModalResult<>1 then Application.Terminate
finally
Free;
end;
end; Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
объясни пожалуйсто для чего именно этот код
Дашкевна вне форума Ответить с цитированием
Старый 14.05.2010, 19:48   #16
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Ну как раз для того при запуске приложеня спросить пароль, если пароль верный продолжить выполнение, если неверный опять спросить, если отказываемся вводить завершить приложение.
На счёт ошибок, надо в Uses добавить Messages

аа забыл ещё Dialogs, тоже в Uses добавить


я там чуть переправил
в начале естественно не так
Код:
uses program Project1;

Forms,PassWord,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}
...............
а так
Код:
program Project1;

uses Forms,PassWord,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}
...............

Последний раз редактировалось vovk; 14.05.2010 в 19:54. Причина: забыл про Dialogs
vovk вне форума Ответить с цитированием
Старый 14.05.2010, 20:37   #17
Дашкевна
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 10
По умолчанию

vovk

спасибо большое,очень помог!!!

еще у меня вот такая проблемка выскакивает при запуске



картинка почему-то не открывается,вот ссылка на нее:
http://www.fayloobmennik.net/28401

Последний раз редактировалось Дашкевна; 14.05.2010 в 20:44. Причина: не открывается картинка!
Дашкевна вне форума Ответить с цитированием
Старый 14.05.2010, 20:52   #18
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

скорее всего форма не создаётся автоматически, пожтому её либо надо создать динамически либо добавит в автосоздоваемые.
нажми в дельфи Project>View Source откорется окошка проекта, выложи всё что там написано.
vovk вне форума Ответить с цитированием
Старый 14.05.2010, 20:56   #19
Дашкевна
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 10
По умолчанию

Код:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {PasswordDlg};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TPasswordDlg, PasswordDlg);
  Application.Run;
end.
я добавила

Цитата:
begin
with TPasswordDlg.Create(Application) do
begin
try
ShowModal;
while (ModalResult=1) and (Password.Text<>'да') do
ShowModal;
if ModalResult<>1 then Application.Terminate
finally
Free;
end;
end;Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TPasswordDlg , PasswordDlg);
Application.Run;
end.
и он запускает только форму с паролм а потом выходит,главную форму он не запускает,после так же как и как и на прошлой картинке ругается на PasswordDlg.ShowModal;
еще форма с паролем закрывается от нажатия на крстик

Последний раз редактировалось Дашкевна; 14.05.2010 в 21:26.
Дашкевна вне форума Ответить с цитированием
Старый 14.05.2010, 21:31   #20
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

ну конечно, ты обращаешся к PasswordDlg тогда когда он ещё не создан...

попробуй как я говорил замени всё что у тебя там на

Код:
program Project1;

uses
  Forms, messages,dialogs,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {PasswordDlg};

{$R *.res}

begin
with TPasswordDlg.Create(Application) do
  begin
    try
       ShowModal;
     while (ModalResult=1)  and (Password.Text<>'123') do
      begin
         MessageDlg(' Пароль не верен! '+#13+#10
         +'Попробуйте еще раз.', mtWarning , [mbOK], 0);
          ShowModal;
       end;
      if ModalResult<>1 then Application.Terminate
     finally
      Free;
     end;
   end; 
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
а все процедуры по кнопкам в окне пасворд диалога очисть, и не забуть вернуть кнопкам modalresult, кнопке ок mrOk, а Cancel mrCancel, хотя на cancel можно любой модалрезульт отличный от ноне и ок


а да и в онкреат Form1 удали PasswordDlg.Showmodal

Последний раз редактировалось vovk; 14.05.2010 в 21:49.
vovk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу, которая запрашивает пароль Olesya2406 Помощь студентам 5 28.04.2015 17:20
Сессии + форма входа spein PHP 13 27.03.2009 18:18
Как создать пароль на программу? Rahim1993 Общие вопросы Delphi 3 11.07.2008 06:25
Не работает форма входа. vvsh PHP 12 10.06.2008 17:00
Как ввести пароль для БД Paradox программным путем ? zetrix БД в Delphi 2 07.04.2007 21:50