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

Вниз

Как Очистить все Edit Сразу??   Найти похожие ветки 

 
Zhenka ©   (2003-02-16 11:53) [0]

Или Присвоить хинтам всех Кнопок их Кэпшены.
Спасибо.


 
Cr@sh ©   (2003-02-16 11:56) [1]

если у всех эдитов имена типа edit1, edit2 и тд.
Тогда
for i:=1 to 10 do
(form1.findcomponent("edit"+inttostr(i)) as TEdit).text:="";


 
Cr@sh ©   (2003-02-16 11:58) [2]

2)

for i:=1 to 10 do
(form1.findcomponent("button"+inttostr(i)) as TButton).hint:=(form1.findcomponent("button"+inttostr(i)) as TButton).caption;


 
Zhenka ©   (2003-02-16 12:00) [3]

Спасибл за совет


 
Anatoly Podgoretsky ©   (2003-02-16 12:07) [4]

Оформить отдельным методом, потребуется два
ClearAllEdits
SetAllButtonsHints


 
Shadow ©   (2003-02-16 12:08) [5]

2Cr@sh


var
i: integer;
begin
for i:=0 to Form1.ComponentCount-1 do
if Form1.Components[i].ClassType=TEdit then (Form1.Components[i] as TEdit).Text:="";


А так не легче ????


 
Shadow ©   (2003-02-16 12:09) [6]

И соответственно:
var
i: integer;
begin
for i:=0 to Form1.ComponentCount-1 do
if Form1.Components[i].ClassType=TButton then (Form1.Components[i] as TButton).Hint:=(Form1.Components[i] as TButton).Caption;


 
Zhenka ©   (2003-02-16 12:10) [7]

`Спасибо всем за всё!!!!!! :ъ)


 
drpass ©   (2003-02-16 12:11) [8]

Если у всех эдитов имена любые, то
for i:=0 to ComponentCount-1 do
if Components[i] is TEdit then TEdit(Components[i]).Text:="";


 
Юрий Зотов ©   (2003-02-16 12:11) [9]

for i := 0 to ComponentCount - 1 do
if Сomponents[i] is TEdit then
TEdit(Сomponents[i]).Text := ""
else
if Сomponents[i] is TButton then
with TButton(Сomponents[i]) do Hint := Caption;

Это вариант намного быстрее и не зависит от имен компонентов и их количества.


 
Shadow ©   (2003-02-16 12:11) [10]

2Zhenka
Не за что


 
drpass ©   (2003-02-16 12:12) [11]

Ну, кто еще чего посоветует :)


 
Zhenka ©   (2003-02-16 12:18) [12]

2drPass
Ага не думал, что так много способов реализации


 
Shadow ©   (2003-02-16 12:22) [13]

2Юрий Зотов
Почти тоже, что и я предложил


 
Anatoly Podgoretsky ©   (2003-02-16 12:29) [14]

Эффективнее использовать метод Clear для TEdit и эстетичнее.

Юрий Зотов © (16.02.03 12:11)
Очистка может использоваться многократно и независимо от установки хинта, с этой точки зрения лучше разделить эти операции по отдельным методам.
Может еще потребоваться очистка и других компонент, тогда будет легко создать обобщенный метод из которого удобно вызывать специализированные.
В моей практике это часто встречается. По самому коду конечно нет возражений.


 
Anatoly Podgoretsky ©   (2003-02-16 12:31) [15]

Разве что еще в некоторых случаях лучше использовать Controls


 
Shadow ©   (2003-02-16 12:31) [16]

2Anatoly Podgoretsky
Мы ж не телепаты. На конкретный вопрос - конкретный ответ.


 
Юрий Зотов ©   (2003-02-16 12:36) [17]

> Shadow © (16.02.03 12:22)

Замечание относилось к двум первым ответам - когда я писал, других еще не было.

По Вашему варианту тоже есть 2 замечания.

1. Он сработает только для TButton и не сработает для потомков. Нужно использовать IS или InheritsFrom, а не прямое сравнение.

2. Если класс уже проверен, то зачем еще AS (к тому же, в двух местах)? Надо использовать прямое приведение типа, такой код будет быстрее и компактнее.


 
Zhenka ©   (2003-02-16 12:38) [18]

дА сКОЛЬКО МНОГО НЬЮАНСОВ


 
Shadow ©   (2003-02-16 12:42) [19]

2Юрий Зотов
Вы эстет. Вы правы. Ну писал на скорую руку даже без проверки. Но в вопросе четко указано: Кнопок. Мы ж не телепаты.


 
Anatoly Podgoretsky ©   (2003-02-16 12:44) [20]

А насчет нюансос, вот два примера

with TButton.Create(Form1) do begin
Parent := Form1;
...
end;

with TButton.Create(Application) do begin
Parent := Form1;
...
end;

На досуге разобраться, что даст правильный результат Components или Controls


 
Юрий Зотов ©   (2003-02-16 12:45) [21]

> Shadow © (16.02.03 12:42)

TBitBtn - тоже кнопка.


 
Shadow ©   (2003-02-16 13:45) [22]

2Юрий Зотов
Нет. Она называется - кнопка с картинкой(may be).


 
MsGuns ©   (2003-02-16 14:35) [23]

ИМХО, для достаточно "нагруженной" формы или для MDI-форм метод "повальной" модификации свойств однотипных контролов неудобен. Рекомендую использовать спец.процы типа SetStatusControls(opt: boolean), в которых просто перечисляются операторы присвоения ссотв.свойств нужным контролам, например, кнопкам, экшинам, и т.д. Лучше потому что:

1. Все делается "зряче"
2. Вполне читабелен алгоритм, что позволяет без особого труда контролировать отладку и вности изменения.
3. Просто правильнее с точки зрения семантики программы.


 
Юрий Зотов ©   (2003-02-16 14:47) [24]

> Shadow © (16.02.03 13:45)

Как она называется - неважно. Важно вот что:
TBitBtn = class(TButton).

И этим все сказано.



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

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

Наверх




Память: 0.52 MB
Время: 0.037 c
14-5815
Ciber SLasH
2003-02-13 01:43
2003.03.03
Открываем лоток CD-ROMa программно ?


1-5601
Stultum
2003-02-19 21:22
2003.03.03
Как


1-5581
alxx
2003-02-19 14:10
2003.03.03
Не знаете как бороться с ошибкой?


14-5731
Muxaul
2003-02-15 13:01
2003.03.03
Работа с файлами


6-5687
Oxy
2003-01-13 15:23
2003.03.03
Как создать подключение без диалога?