Доброго времени суток,дорогие форумчани, недавно начал изучать делфи,вот у меня появились кое-какие вопросы. Итак начнём: 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, слева находишь 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;
Огромное спасибо за помощь, но если сделать то каждый раз при запуске программы надо будет ввести "Deagro" я туда переменную(a) добавил чтобы его можно было изменить самому пользователю(на любой другой пароль)
Первый вопрос решил (с процедурой OnCreate (Form1)). Как можно реализовать чтобы программа просила тот пароль который установит сам пользователь?
кинь переменную для пароля, запроси его, пусть введёт. А затем ориентируй программу условиями, что если пароль, введённый пользователем в переменную не совпадает с паролем, введённым сейчас, то error. если не нравится переменная - то сделай файл, в который будут подгружаться настройки, и грузи из него.