Текущий архив: 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.49 MB
Время: 0.011 c