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

Вниз

Как Очистить все 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.62 MB
Время: 0.055 c
1-5583
AlexanderSK
2003-02-19 16:17
2003.03.03
Uses


1-5549
Krionix
2003-02-19 18:05
2003.03.03
Как сохранить объект из OLEConteiner а на винт ?


3-5402
alexander_ua
2003-02-12 14:26
2003.03.03
Как присвоить параметру типа


1-5645
Volly
2003-02-19 17:33
2003.03.03
Экспорт из RTF в HTML


1-5498
AlexanderSK
2003-02-20 14:35
2003.03.03
Удаление формы





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