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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2008, 20:52   #1
lionman
Пользователь
 
Регистрация: 02.10.2008
Сообщений: 31
По умолчанию Почему-то не получается....

Почему не работает вот такой пример. Например у меня есть две формы. На первой мне дают вписать свое имя :
Цитата:
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm2 = class(TForm)
Button1: TButton;
Label1: TLabel;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;
GeroName: string;

implementation

uses Unit1, Unit3;

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
form2.Top:=200;
form2.Left:=300;
edit1.Focused;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
GeroName:=edit1.Text;
if length(GeroName)>0 then begin
form3.Show;
form1.hide;
form2.Hide;
end
else
exit;
end;
end.
И при нажатии кнопки переходит ко второй форме где на Label Выводиться ВАШЕ ИМЯ введенное ранее:
Цитата:
unit Unit3;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm3 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form3: TForm3;


implementation
uses unit1,unit2;
{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);
begin
form3.Top:=0;
form3.Left:=0;
label1.Caption:=GeroName;
end;
end.
Почему так не работает в Label ни чего не выводиться . Значит переменная GeroName ни чему не равна? Пожалуйста помогите.
lionman вне форума Ответить с цитированием
Старый 06.12.2008, 21:05   #2
Дамир
Пользователь Подтвердите свой е-майл
 
Регистрация: 06.12.2006
Сообщений: 61
По умолчанию

Попробуйте сделать присваивание при возникновении события OnShow формы 3
Дамир вне форума Ответить с цитированием
Старый 06.12.2008, 21:07   #3
slips
Форумчанин
 
Аватар для slips
 
Регистрация: 28.10.2008
Сообщений: 350
По умолчанию

Эм.. а где у тебя эта переменная в TForm3 её нет, а наскольно я знаю обращение тебе нужно делать ко второй форме,т.е. что типа этого
label1.Caption:=Form2.GeroName;
да и думаю в public перекинуть GeroName
slips вне форума Ответить с цитированием
Старый 06.12.2008, 21:09   #4
slips
Форумчанин
 
Аватар для slips
 
Регистрация: 28.10.2008
Сообщений: 350
По умолчанию

Причем тут onShow 2 если он присвоение на третей делает ?
slips вне форума Ответить с цитированием
Старый 06.12.2008, 21:09   #5
slips
Форумчанин
 
Аватар для slips
 
Регистрация: 28.10.2008
Сообщений: 350
По умолчанию

Изменяюсь не увидел 3
slips вне форума Ответить с цитированием
Старый 06.12.2008, 21:10   #6
Дамир
Пользователь Подтвердите свой е-майл
 
Регистрация: 06.12.2006
Сообщений: 61
По умолчанию

А вообще, было бы лучше сделать процедуру, в которую передается параметр GeroName, и выводится на форме 3
Дамир вне форума Ответить с цитированием
Старый 07.12.2008, 08:50   #7
lionman
Пользователь
 
Регистрация: 02.10.2008
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Дамир Посмотреть сообщение
А вообще, было бы лучше сделать процедуру, в которую передается параметр GeroName, и выводится на форме 3
И как ее сделать?
lionman вне форума Ответить с цитированием
Старый 07.12.2008, 11:35   #8
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

Я знаю, что в C# есть такое понятие, как делигаты (deligate), который представляет собой что-то похожее указатель на функцию... Так вот при помощи них и можно связывать 2-формы!!!
StarWorm вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не получается вывести текст sum42 Общие вопросы C/C++ 15 29.11.2008 18:55
СSS не получается Droid HTML и CSS 3 26.10.2008 14:06
не получается программирование COM Nikuzkin Общие вопросы Delphi 9 11.06.2008 14:23
Не получается..... Delpher HTML и CSS 2 25.12.2007 13:17
Не получается прочитать из файла...( Regloger Помощь студентам 3 09.12.2007 14:23