Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Массив компонент ???

1.6K
01 апреля 2003 года
Kadet
101 / / 26.03.2003
Допустим простая задача - калькулятор. При нажатии на кнопки в поле Edit1->Text добавляем текст (набор числа). Писать аналогичную обработку каждой кнопки - тяжко. Возможно ли организовать всё в одной обработке.
2.1K
01 апреля 2003 года
Murzilka
23 / / 23.12.2002
Цитата:
Originally posted by Kadet
Допустим простая задача - калькулятор. При нажатии на кнопки в поле Edit1->Text добавляем текст (набор числа). Писать аналогичную обработку каждой кнопки - тяжко. Возможно ли организовать всё в одной обработке.



Назначь для каждой кнопки один обработчик, допустим, ActionIns. На каждой кнопке, насколько я понимаю, в свойстве Caption хранится цифра.
Тогда так:

void __fastcall TForm1::ActionIns(TObject *Sender)
{
TButton *tb=(TButton *)Sender;
Edit1->Text=tb->Caption;
}

1
01 апреля 2003 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Kadet
Допустим простая задача - калькулятор. При нажатии на кнопки в поле Edit1->Text добавляем текст (набор числа). Писать аналогичную обработку каждой кнопки - тяжко. Возможно ли организовать всё в одной обработке.


Я делал ето примерно так:
form.h
//
class TForm1:public TForm{
published:
void __fastcall TForm::OnClikNaKnopkach(TObject *sender);
form.cpp
void __fastcall TForm::OnClikNaKnopkach(TObject *sender){
int i=(TButton)Sender->Tag;
switch(i){
case 0:
...
}
...
Edit1->Text= Tag;
...
}
А потом вызвываешь так как тебе удобно. Хотя вариант не самый, и в релизи я его доработал.

305
01 апреля 2003 года
Kashuk
385 / / 21.02.2003
Цитата:
Originally posted by Kadet
Допустим простая задача - калькулятор. При нажатии на кнопки в поле Edit1->Text добавляем текст (набор числа). Писать аналогичную обработку каждой кнопки - тяжко. Возможно ли организовать всё в одной обработке.



Создай функцию где будеш что то вычислять....
ReadValue(int i){
switch(i){
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;

}
}
А в событиях кнопки вызываеш с параметрами
ReadValue(1); // Button1
ReadValue(2); // Button2
ReadValue(3); // Button3

1.6K
01 апреля 2003 года
Kadet
101 / / 26.03.2003
Цитата:
Originally posted by Murzilka


Назначь для каждой кнопки один обработчик, допустим, ActionIns. На каждой кнопке, насколько я понимаю, в свойстве Caption хранится цифра.
Тогда так:

void __fastcall TForm1::ActionIns(TObject *Sender)
{
TLabel *tl=(TLabel *)Sender;
Edit1->Text=tl->Caption;
}



Огромное спасибо. Всё работает на ура, проверил.

2.1K
01 апреля 2003 года
Murzilka
23 / / 23.12.2002
Цитата:
Originally posted by Kadet


Огромное спасибо. Всё работает на ура, проверил.



Только там, конечно, не Label a Button :)
И еще надо бы для корректности на всякий случай вставлять проверку:
if(Sender->ClassNameIs("TButton"))
Понятно, что обработчик ты сам назначаешь для кнопок, но все-таки..

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог