Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Классы
|
|||
|---|---|---|---|
|
#18+
Привет. Такой вопрос. Перебираю компоненты на форме. var but:TButton; ed:TEdit; i:DWord; ... for i:=0 to form.componentcount-1 do begin if form.components is TEdit then begin ed:=form.components as TEdit; .... end; if form.components is TButton then begin ed:=form.components as TButton; .... end; end; ... Вопрос! Существует ли тип данных(или объект), которому можно было бы передавать компонент со всеми его свойствами, чтобы не заволить кучу переменных под каждый класс. var Temp:<Класс> i:DWord; ... for i:=0 to form.componentcount-1 do begin if form.components is TEdit then begin Temp:=form.components as TEdit; .... end; if form.components is TButton then begin Temp:=form.components as TButton; .... end; end; ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2003, 14:55 |
|
||
|
Классы
|
|||
|---|---|---|---|
|
#18+
TObject - это предок всего и вся. Если перебираешь компоненты, можешь использовать TComponent. А зачем переменной присваивать. Че делать дальше будешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2003, 15:08 |
|
||
|
Классы
|
|||
|---|---|---|---|
|
#18+
Такая фича не проидет, пробовал. Если я хоче обратиться в edit'e к св-ву Text, то ничего не компилится, его нет ни у TObject, ни у TComponent. А деляется это для того, чтобы проверить все ли поля юзер заполнить, компонент на форме много, а тупо задавать что надо проверить не хоца(да и гибкости охота, чтобы еще где-нить использовать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2003, 15:18 |
|
||
|
Классы
|
|||
|---|---|---|---|
|
#18+
[src] var c: TComponent; begin for i := 0 to ComponentCount - 1 do begin c := Components ; if c is TCustomEdit then with TCustomEdit(c) do begin ..... end else if c is TButton then with TButton(c) do begin ..... end ..... end; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2003, 15:23 |
|
||
|
Классы
|
|||
|---|---|---|---|
|
#18+
А деляется это для того, чтобы проверить все ли поля юзер заполнить, компонент на форме много, а тупо задавать что надо проверить не хоца(да и гибкости охота, чтобы еще где-нить использовать). Если с базой работаешь, то используй DBAware контролы и проверяй на BeforePost. Если работаешь с разными компонетами (TEdit, TListBox) то без явного приведения к одному из используемых типов не получиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2003, 15:26 |
|
||
|
Классы
|
|||
|---|---|---|---|
|
#18+
Реально! Спасибо. И последнее, как фокус ввода на такую штуку поставить, вылетает Access violation. Это приложение клиента, и транзакция пойдет только после заполнения всех полей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2003, 15:30 |
|
||
|
Классы
|
|||
|---|---|---|---|
|
#18+
транзакция пойдет только после заполнения всех полей Еще один с транзакциями на клиенте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2003, 16:57 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=2053&tid=2118679]: |
0ms |
get settings: |
11ms |
get forum list: |
23ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 385ms |

| 0 / 0 |
