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

Вниз

Народ, как создать перечесляемый тип, для своего компанента?   Найти похожие ветки 

 
dimonf   (2003-04-14 16:39) [0]

Пока только доперло, как сделать перечесляемый тип только по умолчанию:
type
TDrive = (frAA, frBB);

TdvDriveComboBox = class(TCustomComboBox)
private
FDrive: TDrive;
procedure SetDrive(const Value: TDrive);
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property Drive: TDrive read FDrive write SetDrive;
end;
А как сделать, то же самое но только в run time, например при создании компанента определить список доступных на данной машине дисков и отобразить все этов инспекторе объектов???


 
Skier   (2003-04-14 16:44) [1]

1) Наверное всё-таки нужен не перечислимый тип, а множество
type
TDrive = (frAA, frBB);
TDrives = set of TDrive
2)

> например при создании компанента определить список доступных
> на данной машине дисков и отобразить все этов инспекторе
> объектов???

В конструкторе...




 
malkolinge   (2003-04-14 16:55) [2]

Ж) Не катит...Сколько дисков теоретически заранее не известно, поэтому надо обычный список TstringList(?) И к нему изобрести толковый редактор свойств


 
dimonf   (2003-04-14 17:07) [3]

Народ, как это сделать??? Может намекнете хотябы, в какую сторону копать...


 
dimonf   (2003-04-14 17:09) [4]

Мне надо сделать типа как в TTable.TableName - выподающий список таблиц. Тоже самое. Пытаюсь вьехать, но там слишком круто наворочено, может кто намекнет как сделать попроще!


 
malkolinge   (2003-04-14 17:17) [5]


> Мне надо сделать типа как в TTable.TableName

Редактор свойств. Обычный редактор свойств. Все что я сказал раньше, плюс посмотри как это в самом Тейбле сделано:

TTableNameProperty = class(TDBStringProperty)
public
function AutoFill: Boolean; override;
procedure GetValueList(AList: TStrings); override;
end;

procedure TTableNameProperty.GetValueList(AList: TStrings);
const
Masks: array[TTableType] of string[5] = ("", "*.DB", "*.DBF", "*.DBF", "*.TXT"); { Do not localize }
begin
with GetComponent(0) as TTable do
DBSession.GetTableNames(DatabaseName, Masks[TableType],
TableType = ttDefault, False, AList);
//в твоем случае на єтом месте надо вставить свой код для получения списка дисков
end;






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

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

Наверх





Память: 0.45 MB
Время: 0.008 c
1-77014
dimonf
2003-04-13 12:39
2003.04.24
Как мне заполнить TComboBox записями в с после его Create?


1-77022
Nikos
2003-04-14 14:10
2003.04.24
Как узнать сущетвует ли каталог или нет


1-76970
race1
2003-04-13 09:34
2003.04.24
Странное поведение памяти ( кушание больше меры )


6-77052
nkrainev
2003-03-03 20:32
2003.04.24
IdHTTP vs CGI Figth!!!


3-76848
SNike
2003-04-08 04:13
2003.04.24
BDE, EXCEL, WORD





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский