Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.09;
Скачать: CL | DM;

Вниз

Помогите разобраться с компонентами   Найти похожие ветки 

 
Viacheslav   (2002-08-28 12:50) [0]

У меня на форме различные компоненты. Среди них есть компоненты типа DBEdit свойство ReadOnly которых первоначально установлено в True. Как можно поменять для этих компонетов свойство в False?
Заранее благодарен!


 
Skier   (2002-08-28 12:52) [1]

>Viacheslav
В цикле пройтись по Owner.Components[...]


 
Viacheslav   (2002-08-28 12:55) [2]

Skier
В том то и дело что не могу разобраться как это всё организовать - опыта мало в программирование на делфи, да и литературы почти 0


 
Skier   (2002-08-28 12:58) [3]

>Viacheslav
Ты эти DBEdit-ы клал на форму в дизайне или
создавал в run-time ?


 
Skier   (2002-08-28 13:02) [4]

>Viacheslav
А TDataSource.AutoEdit := False; не подойдёт ?


 
Viacheslav   (2002-08-28 13:04) [5]

>Skier
во время разработки формы, в дизайне.


 
Viacheslav   (2002-08-28 13:08) [6]

>Skier А TDataSource.AutoEdit := False; не подойдёт ?

Мне необходимо сделать, что-бы пользователи во время навигации по таблице не могли корректировать данные, поэтому я и включил ReadOnly в True


 
Skier   (2002-08-28 13:10) [7]

>Viacheslav

Не поможет ?


procedure SetReadOnlyProp(const AOwner : TComponent; const AValue : Boolean);
var
ii : Integer;
begin
if AOwner = nil then Exit;
for ii := 0 to AOwner.ComponentCount - 1 do begin
if AOwner.Components[ii] is TDBEdit then begin
with AOwner.Components[ii] as TDBEdit do begin
if ReadOnly <> AValue then ReadOnly := AValue;
end; //with
end; //if
end; //for
end; //SetReadOnlyProp



//.............



SetReadOnlyProp(Form1, False);


 
Viacheslav   (2002-08-28 13:16) [8]

>Skier
Спасибо! Попробую.
Немного может доработать придётся т.к. у меня на форме ДБЭдиты различных таблиц, а открывать для редакции надо будет для одной.


 
Skier   (2002-08-28 13:18) [9]

>Viacheslav
Тогда добавь к параметрам ещё и - ADataSet : TDataSet

SetReadOnlyProp(const AOwner : TComponent;
const ADataSet : TDataSet;
const AValue : Boolean);


 
Skier   (2002-08-28 13:22) [10]

>Viacheslav

Примерно так :


procedure SetReadOnlyProp(const AOwner : TComponent;
const ADataSet : TDataSet;
const AValue : Boolean);
var
ii : Integer;
begin
if (AOwner = nil) or (ADataSet = nil) then Exit;
for ii := 0 to AOwner.ComponentCount - 1 do begin
if AOwner.Components[ii] is TDBEdit then begin
with AOwner.Components[ii] as TDBEdit do begin
if (DataSource <> nil) and (DataSource.DataSet <> nil) then begin
if DataSource.DataSet = ADataSet then begin
if ReadOnly <> AValue then ReadOnly := AValue;
end; //if
end; //if
end; //with
end; //if
end; //for
end; //SetReadOnlyProp


 
Viacheslav   (2002-08-28 13:28) [11]

>Skier
Огромное спасибо!)
Первый вариант работает! Дальше постараюсь сам поразбираться.



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

Текущий архив: 2002.09.09;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.006 c
3-26881
Serg2002
2002-08-19 17:14
2002.09.09
Помогите срочно!!!!


3-26889
Alek_1
2002-08-20 02:45
2002.09.09
EhLib


14-27221
www.MicroKOR.com
2002-08-11 23:00
2002.09.09
Народ! Пожалуйста оцените ЧАТ на Delphi !!!


3-26867
Ландыш
2002-08-12 23:13
2002.09.09
Не могу подключиться к базе FB


4-27257
star
2002-07-08 12:44
2002.09.09
Как сделать скриншот формы до ее появления на экране





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