Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по свойствам!!!   Найти похожие ветки 

 
Arnold ©   (2004-09-23 11:18) [0]

КАк создать published свойство которое отображало бы список всех форм имеющихся в приложений.


 
Sandman25 ©   (2004-09-23 11:21) [1]

Зачем?

В Screen все уже есть.


 
Arnold ©   (2004-09-23 11:23) [2]

Я знаю что есть просто не совсем понимаю как создать список в published свойстве


 
Sandman25 ©   (2004-09-23 11:26) [3]

Почитайте DEL6CW.HLP в $Delphi\Help. Там все описано.


 
Arnold ©   (2004-09-23 11:26) [4]

В published свойство вроде (или может я ошибаюсь) можно только затолнуть определенный набор данных, а мне надо динамический


 
Sandman25 ©   (2004-09-23 11:27) [5]

Хотя, чтобы получить список всех классов форм, которые могут быть созданы в приложении, придется писать эксперт ИМХО.


 
Arnold ©   (2004-09-23 11:28) [6]

Что за эксперт ИМХО?? ?=)


 
Sandman25 ©   (2004-09-23 11:28) [7]

[4] Arnold ©   (23.09.04 11:26)

Неверно. У свойства может быть read метод, а не только read поле.


 
Sandman25 ©   (2004-09-23 11:29) [8]

[6] Arnold ©   (23.09.04 11:28)

Как Вы чувствительны к знакам препинания :)
Чтобы анализировать pas/dfm файл на предмет названия форм.


 
Arnold ©   (2004-09-23 11:33) [9]

Не давай тогда пока формы выкинем. Как вообще создать свойство published типа массив. Ну например массив строк. И можно было бы выбирать в этом массиве определенную строку из объектного инспектора.


 
Erik1 ©   (2004-09-23 12:23) [10]

Думаю, что тут надо использовать колекцию. Вот тебе пример моего компонента:
 TAttribHolder = class(TComponent)
 private
   fAttribute: TStoredItems;
   fPanel: TPanel;
   fDataSet: TDataSet;
   fPrepareEvent: TNotifyEvent;
   fProvider: String;
   procedure SetObject(const Value: TStoredItems);
//    procedure BuildFilter
 protected
   procedure Notification(AComponent: TComponent; Operation: TOperation); override;
   procedure SetNotification;
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
   function ApplayFilter: Boolean;
 published
   property Attribute: TStoredItems read fAttribute write SetObject;
   property Panel: TPanel read fPanel write fPanel;
   property PrepareFilter: TNotifyEvent read fPrepareEvent write fPrepareEvent;
   property DataSet: TDataSet read fDataSet write fDataSet;
   property Provider: String read fProvider write fProvider;
 end;

 TItem = class(TCollectionItem)
 private
   fComps: TIntAtrib;
 protected
   procedure SetControl(Value: TWinControl);
   function  GetControl: TWinControl;
   function  GetDisplayName: string; override;
 public
   constructor Create(Collection: TCollection); override;
   procedure Assign(Source: TPersistent); override;
 published
   property Control: TWinControl read GetControl write SetControl;
   property Param: String read fComps.Param write fComps.Param;
   property Provider: String read fComps.Provider write fComps.Provider;
   property PType: TuserType read fComps.pType write fComps.pType;
 end;

 TStoredItems = class(TOwnedCollection) //TCollection)
 private
   function GetItem(Index: Integer): TItem;
   procedure SetItem(Index: Integer; StoredValue: TItem);
 public
   constructor Create(AOwner: TPersistent);
   function IndexOf(const Name: string): Integer;
   function Add: TItem;
   property Items[Index: Integer]: TItem read GetItem write SetItem; default;
 end;
Спрашивай чего непонятно, смотри свойство Attribute: TStoredItems


 
panov ©   (2004-09-23 13:13) [11]

Рекомендуется:
--------------
- Пожалуйста, старайтесь, чтобы Ваши сообщения соответствовали тематике Форума.
- Корректно оформляйте заголовок ветки, который должен кратко отражать суть вопроса.
- Ветки, озаглавленные "Нужна помощь", "Срочно, горю", "Help", "Памогите, кто знаете" и т.п. будут удаляться в обязательном порядке.
- В Форуме принято отвечать за свои слова и следить за точностью и корректностью своих высказываний и сообщаемой информации.
- Не стоит использовать Форум для сообщений личного характера, которые не представляют интереса для других участников Форума.  Для этого существует электронная почта.
- Во избежание межнациональных споров, все сообщения в форуме должны быть на русском языке, в крайнем случае - латинице.
- Старайтесь избегать "оффтопиков". Добавляя свое сообщение, убедитесь, что оно соответствует обсуждаемой теме.
- Соблюдайте нетикет оформления веток. Не стоит "кричать" и привлекать внимания к своей теме используя прописные символы, восклицательные знаки в больших количествах и т.п.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.036 c
1-1096272219
Dimastiy04
2004-09-27 12:03
2004.10.10
Расстягивание скинообразной формы приложения


4-1094575392
Klopan
2004-09-07 20:43
2004.10.10
lpt port


1-1095934991
Дмитрий
2004-09-23 14:23
2004.10.10
Динамический массив


1-1095839744
DimonNew
2004-09-22 11:55
2004.10.10
Минимизация окна


1-1095697930
Slaga
2004-09-20 20:32
2004.10.10
Как удалить закладку PageControla во время выполнения прг ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский