Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477

Как писать функции, чтобы в них не было нужно добавлять перед компонентами имя формы?

17.05.2012, 11:59. Показов 1074. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
когда в оконном приложении на какойто форме я пишу свою функции, то для взаимодействия с элементами формы приходится приписывать название формы на которой нужно искать элемент к которому обращаюсь.

C++
1
2
3
void SomeFunc(void){
Form1->Label1->Caption1 =  "Шо це??";
}
и меня на самом деле жутко напрягает дописывать имя формы

можт есть вариант дописать что-то в определении функции что бы она сама понимала что работает с такой-то формой ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.05.2012, 11:59
Ответы с готовыми решениями:

Можно ли сделать так, чтобы после имени функции не нужно было бы писать круглые скобки?
Всем доброго времени суток. На С++ есть код:#include <iostream> void Write() { char s = "Hello World"; for (int i...

Что нужно добавить чтобы так можно было писать код?
ниже кусок кода ' область связывания переменных с ячейками Сorrect = Worksheets("dde").Cells(8, 2) pips =...

Как сделать словарь, чтобы можно было добавлять новые слова
Как сделать словарь, чтобы можно было добавлять новые слова. На Делфи.

4
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 20
17.05.2012, 12:17
Я думаю идентификацияобъекта неизвестног класса подойдет (Sender) или поиск активной формы.
0
103 / 74 / 10
Регистрация: 29.05.2010
Сообщений: 192
17.05.2012, 12:19
Добавляй свои функции в класс формы, тогда не придется писать Form1->
в .h-файле
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class TForm1 : public TForm
{
__published:    // IDE-managed Components
  TButton *Button1;
  void __fastcall FormCreate(TObject *Sender);
  void __fastcall FormPaint(TObject *Sender);
  void __fastcall Button1Click(TObject *Sender);
  void __fastcall FormDestroy(TObject *Sender);
private:    
public:     
 int myFunction();
  __fastcall TForm1(TComponent* Owner);
};
1
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
17.05.2012, 12:21
koldun, Создание фукнции с элементами формы
1
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
17.05.2012, 12:37  [ТС]
Цитата Сообщение от -LeV- Посмотреть сообщение
Добавляй свои функции в класс формы, тогда не придется писать Form1->
в .h-файле
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class TForm1 : public TForm
{
__published:    // IDE-managed Components
  TButton *Button1;
  void __fastcall FormCreate(TObject *Sender);
  void __fastcall FormPaint(TObject *Sender);
  void __fastcall Button1Click(TObject *Sender);
  void __fastcall FormDestroy(TObject *Sender);
private:    
public:     
 int myFunction();
  __fastcall TForm1(TComponent* Owner);
};
добавил имя функции по указанному примеру, но всеравно пишет что

Code
1
[BCC32 Error] Unit1.cpp(263): E2451 Undefined symbol 'Memo1'
и сам же нашел ответ:

функцию нужно теперь писать не

C++
1
2
3
void SomeFunc(){
//
}
а уже вот так.

C++
1
2
3
void TForm1::SomeFunc(){
//
}
Всем спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.05.2012, 12:37
Помогаю со студенческими работами здесь

Как сделать чтобы можно было добавлять информацию на свой сайт
Как сделать чтобы можно было добавлять информацию на свой сайт. Может есть у кого ссылки где описаны коды для этого?? Заранее спс

Нужно, чтобы перед выполнением расчета выводился запрос на экран и в этом запросе можно было задать
Помогите доделать задачу, потому что я если сделаю боюсь все будет слишком криво, чтоб даже запустится:) :wall: И так, нужно чтобы перед...

Сколько и каких домов нужно собрать, чтобы общее количество квартир в них было наибольшим?
Помогите, пожалуйста Из строительных деталей двух видов можно собрать три типа домов. Для сборки 12‐квартирного дома необходимо...

Получить имя функции, в которой возникла ошибка, чтобы не писать это вручную
Есть проект в котором много самописанных функций. Надоело в обработчике ошибок руками прописывать имя функции, в которой произошла...

Вызов функции из формы - что нужно добавлять к имени скрипта?
Вот форма из которой нужно вызвать функцию <form action=$PHP_SELF method=post> что нужно прибавить к пхпселф чтобы эта функция...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru