[Помощь] [Delphi] Работа с формами.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by DeAgRo, 20 Dec 2013.

  1. DeAgRo

    DeAgRo New Member

    Joined:
    29 Aug 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток,дорогие форумчани, недавно начал изучать делфи,вот у меня появились кое-какие вопросы. Итак начнём:
    1)
    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
      a: string;
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    uses Unit2;
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    
    begin
              a:='Deagro';
              If Edit1.Text=a then
              Form2.Show;
    end;
    
    end.
    
    И второй
    Code:
    unit Unit2;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm2 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form2: TForm2;
    
    implementation
    
    uses Unit1;
    
    {$R *.dfm}
    
    procedure TForm2.Button1Click(Sender: TObject);
    begin
    Form1.a:=Form2.Edit1.Text;
    end;
    end.
    
    
    Изначально вообще не мог менять переменную а,нашёл выход благодаря J-Fobos а сейчас переменная меняется,НО форм2 всеравно открывается когда на Form1.Edit1.Text=Deagro.
    2) как сделать чтобы когда форма 2 открывается Форма 1 закрылась(при этом не закрывая форму2)
    3) Как сделать чтобы пароль(в моем случае переменная "а") всегда сохранялось(после того как её изменят с формы 2)
     
  2. muip

    muip New Member

    Joined:
    1 Sep 2011
    Messages:
    45
    Likes Received:
    4
    Reputations:
    0
    Открываешь форму 2, слева находишь Object Inspector, в нем находишь вкладочку Events, далее находишь событие OnShow, напротив его по комбобоксу клацаешь два раза, далее откроется редактор кода и в нем пишешь Form1.Hide;
    Далее тоже самое, находишь событие OnClose, напротив его опять клацаешь 2 раза по комбобоксу, в редакторе кода прописываешь Form1.Show;
    Все, компилишь, соглашаешься в диологах.

    Если хочешь сохранить значение, по ивенту нажатию кнопки на форме 1 не нужно присваивать твоему а снова значение в "Deagro", а сделать так:

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    
    begin
              If Edit1.Text='Deagro' then
              Form2.Show;
    end;
    
     
  3. DeAgRo

    DeAgRo New Member

    Joined:
    29 Aug 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Огромное спасибо за помощь, но если сделать
    то каждый раз при запуске программы надо будет ввести "Deagro" я туда переменную(a) добавил чтобы его можно было изменить самому пользователю(на любой другой пароль)
     
  4. DeAgRo

    DeAgRo New Member

    Joined:
    29 Aug 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Первый вопрос решил (с процедурой OnCreate (Form1)).
    Как можно реализовать чтобы программа просила тот пароль который установит сам пользователь?
     
  5. jassoctov

    jassoctov New Member

    Joined:
    6 Nov 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Как вариант, можно создать ini файл и там хранить, либо в реестре.
     
  6. Poltish21

    Poltish21 New Member

    Joined:
    17 Dec 2012
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    кинь переменную для пароля, запроси его, пусть введёт. А затем ориентируй программу условиями, что если пароль, введённый пользователем в переменную не совпадает с паролем, введённым сейчас, то error. если не нравится переменная - то сделай файл, в который будут подгружаться настройки, и грузи из него.