Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2004.12.12;
Завантажити: [xml.tar.bz2];

Вниз

Динамічне створення об'єкта Знайти схожі гілки


Брат   (2004-11-29 12:43) [0]

Підкажіть будь ласка, як створити об'єкт, наприклад кнопку, що не оголошую при цьому змінну TButton?



Ega23 ©   (2004-11-29 12:46) [1]

function ShowMessagesString (const aMessage: String; aCaption: String = ""; FormWidth: Integer = 750; FormHeight: Integer = 500): Boolean; var aForm: TForm; begin Result: = False; try Application.CreateForm (TForm, aForm); try With aForm do begin Caption: = aCaption; BorderStyle: = bsDialog; Height: = FormHeight; Width: = FormWidth; Position: = poScreenCenter; end; With TMemo.Create (aForm) do begin Parent: = aForm; Font.Name:="Courier New "; Name: = "memSQLLogMonitor"; Align: = alTop; ScrollBars: = ssBoth; WantReturns: = False; Height: = aForm.ClientHeight-40; Clear; Lines.Text: = aMessage; end; With TButton.Create (aForm) do begin Parent: = aForm; Cancel: = True; Height: = 25; Width: = 100; Font.Size: = 10; Top: = aForm.ClientHeight-30; Left: = aForm.ClientWidth-110; Caption: = "Закрити"; ModalResult: = mrCancel; end; aForm.ShowModal; finally aForm.Free; end; except on E: Exception do raise Exception.Create ( "ShowMessagesString" + E.Message); end; end;



Брат   (2004-11-29 13:35) [2]


> With TButton.Create (aForm) do
> begin
> Parent: = aForm;
> Cancel: = True;
> Height: = 25;
> Width: = 100;
> Font.Size: = 10;
> Top: = aForm.ClientHeight-30;
> Left: = aForm.ClientWidth-110;
> Caption: = "Закрити";
> ModalResult: = mrCancel;
> End;

а як до цієї кнопки в подальшому звернутися по імені?



begin...end ©   (2004-11-29 13:42) [3]

> [2] Брат (29.11.04 13: 35)

> А як до цієї кнопки в подальшому звернутися по імені?

Знайти її c допомогою aForm.FindComponent, тільки при створенні потрібно вказати їй ім'я.



Ega23 ©   (2004-11-29 13:48) [4]

А що тобі заважає в var ще й btn: TButton додати ??? Це ж всього лише покажчик?



Брат   (2004-11-29 13:50) [5]

Зрозумів спасибі :)



Брат   (2004-11-29 13:55) [6]


> Ega23 © (29.11.04 13: 48) [4]
> А що тобі заважає в var ще й btn: TButton додати ??? це
> Ж всього лише покажчик?

справа в тому що я незнаю скільки у мене буде таких компонентів - може бути один а може бути і сто
не хочеться оголошувати сто змінних TButton :(



Ega23 ©   (2004-11-29 14:02) [7]

А, ну тоді давай кнопці ім'я. Або Tag властивість використовуй, по integer "у швидше шукати буде, ніж по String



KSergey ©   (2004-11-29 14:03) [8]

> [6] Брат (29.11.04 13: 55)
> Справа в тому що я незнаю скільки у мене буде таких компонентів
> - може бути один а може бути і сто
> Не хочеться оголошувати сто змінних TButton :(

Оборжаться.
А вантажити процесор FindComponent - це нормально ??
Динамічні масиви, до речі, саме для того і придумали щоб невідомо скільки (на етапі розробки) чогось зберігати.

А взагалі - почитайте http://www.delphikingdom.com/helloworld/runtime_comp.htm

Бо корисно воно.



begin...end ©   (2004-11-29 14:12) [9]

> [6] Брат (29.11.04 13: 55)

Використовуйте динамічні масиви або TObjectList.



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2004.12.12;
Завантажити: [xml.tar.bz2];

Вгору





Пам'ять: 0.57 MB
Час: 0.053 c
14-1101352312
Думкіна
2004-11-25 06:11
2004.12.12
З Днем народження! 25 листопада


14-1101091978
vidiv
2004-11-22 05:52
2004.12.12
Поясніть будь ласка...


14-1100350021
Александр1
2004-11-13 15:47
2004.12.12
Допоможіть будь ласка!


3-1100087235
MORA
2004-11-10 14:47
2004.12.12
перехід на інший сервер БД


14-1101183994
VMcL
2004-11-23 07:26
2004.12.12
Tech. support





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська