![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите кто знает
Есть код: F_Msg := TF_Msg.Create(Self); F_Msg.x := 110; F_Msg.y := 130; F_Msg.z := 130; F_Msg.Label1.Caption := 'Так работает'; F_Msg.ShowModal; F_Msg.Free; Хочу сделать вот так: F_Msg('Так хочется', X, Y, Z,); Варианты использования стандартных диалоговых функций типа ShowMessage(' '); не предлагать. Я их все знаю. Последний раз редактировалось VANNIK002, 01.06.2011 в 15:03. |
#2
|
||||
|
||||
![]() Конструктор перегрузи.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
|||
|
|||
![]() И что будет, если перезагрузить конструктор? К динамически создаваемой форме можно будет обращаться как к функции? Я хоть и чайник со свистком,но ни на столько. Спасибо за столь содержательный ответ.
|
#4
|
||||
|
||||
![]() простейший пример перегрузки конструктора и использования классового метода:
Код:
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Label1: TLabel; Edit1: TEdit; Button1: TButton; Button2: TButton; private { Private declarations } ACaption: String; x, y, z: Integer; public { Public declarations } class function CreateForm(ACaption: String; x, y, z: Integer): TForm2; overload; constructor CreateForm(AOwner: TComponent; ACaption: String; x, y, z: Integer); overload; end; var Form2: TForm2; implementation {$R *.dfm} { TForm2 } constructor TForm2.CreateForm(AOwner: TComponent; ACaption: String; x, y, z: Integer); begin inherited Create(AOwner); Self.ACaption:=ACaption; Self.x:=x; Self.y:=y; Self.z:=z; Label1.Caption:=ACaption; end; class function TForm2.CreateForm(ACaption: String; x, y, z: Integer): TForm2; begin Result:=TForm2.CreateForm(Application, ACaption, x, y, z); Result.ShowModal; Result.Free; end; end. использование: Код:
unit Unit1; interface uses Unit2, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin TForm2.CreateForm('Button1Click', 1, 2, 4); end; end. Пишу программы за еду. __________________ |
#5
|
||||
|
||||
![]() VANNIK002, не "перезагрузить", а "перегрузить"
NumLock - как всегда красавчик!!! Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
|||
|
|||
![]() Спасибо большое. Пошел переваривать.
|