Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
5 / 5 / 0
Регистрация: 10.02.2012
Сообщений: 16

Видимость типов одного модуля из другого

10.02.2012, 22:57. Показов 1541. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день (или ночь)
Похожую тему на форуме видел, но маленько не то...
Проблема:
В приложении несколько форм и дополнительный модуль, куда складываю функции, используемые в различных модулях форм. Хотел в этом самом модуле создать множество, которое использовал бы на проверку корректности ввода данных в поля Edit (только цифры должны вводиться)
Делаю следующее:
C++
1
2
3
 typedef Set <char,0,255> TDigit;
  TDigit Dig;
  Dig<<'0'<<'1'<<'2'<<'3'<<'4'<<'5'<<'6'<<'7'<<'8'<<'9'<<'\b';
Далее
C++
1
2
3
4
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
  if (!Dig.Contains(Key)) Key = 0;
}
Если я объявляю переменную Dig в секции public какой-либо формы, в методе OnCreate этой формы вношу множество значений - то все отлично. Из других форм я могу использовать это множество
C++
1
if (! Form1->Dig.Contains(Key)) Key = 0;
Но очень хотелось бы и объявление и присвоение значений впихнуть в свой "процедурный" модуль.
Подскажите, как...
P.S.
При попытке объявления переменной Dig в "процедурном модуле", я пробовал подключать его к модулю какой-либо формы и в файле *.cpp и в файле *.h. Кроме этого в файле *.cpp делал объявление
C++
1
extern Dig;
Ответ компилятора -
E2294 Structure required on left side of . or .*
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.02.2012, 22:57
Ответы с готовыми решениями:

Видимость классов одного модуля из другого
Всем доброго времени суток. Проблема: В Unit1.h объявлен класс MyClass и подключение модуля Unit2 В Unit2.h подключение Unit1.h ...

Как из одного модуля добраться к языковым переменным другого модуля? (Joomla 2.5)
Хочу сделать регистрацию в модальном окне. Для этого делаю модуль вставки html и вставляю форму регистрации под футер. Но мне нужно как-то...

[masm32] Видимость переменных из другого модуля *.asm при многофайловой компиляции
Пытаюсь скомпилить исходники, найденные на просторах сети, но ml сыпет кучу ошибок, ссылающихся примерно на одно и тоже место. В исходниках...

3
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
11.02.2012, 00:14
C++
1
for(i=0; i<10;i++) Dig << '0'+i;

Не по теме:

Не по теме, но уж больно страшно было смотреть на эту строчку. Жалко стало ребят, которые циклы придумали

1
117 / 74 / 6
Регистрация: 23.01.2012
Сообщений: 186
11.02.2012, 09:07
C++
1
2
 typedef Set <char,0,255> TDigit;
  TDigit Dig;
Шаблон Set где то должен быть определен. И вот это "где то" надо и подключить к Вашему процедурному модулю. Под рукой нет билдера поэтому точней не могу сказать.
Хотя если не красиво, то можно и vcl подключить
0
5 / 5 / 0
Регистрация: 10.02.2012
Сообщений: 16
14.02.2012, 18:03  [ТС]
Решил проблему с помощью обходного пути: объявил множество в процедурном модуле, там же сделал функцию, которая использует это множество, а в обработчиках событий других модулей вызываю свою функцию из процедурного модуля. Все работает, но...
Но хотелось бы узнать, как правильно это реализовать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2012, 18:03
Помогаю со студенческими работами здесь

XE4, XE7: видимость элементов перечисляемых типов
Обнаружил странность при портировании старого кода в новые XE-версии Delphi. Создаем пустое VCL-приложение и в OnCreate главной формы...

Видимость класса из другого файла С++
Добрый вечер! При написании программы столкнулся с такой проблемой, что не получается использовать объект класса из другого файла. Вот код:...

Видимость/работа переменной из другого класса
привет всем, в классе Tire создал public переменную. Как к ней обратиться из class Form1. В выпадающем контекстном меню ее не видно и...

Запуск модуля из другого модуля
Возможно ли запустить весь модуль целиком из события формы? Sub Кнопка_Click() Module1 End SubПри ссылке на модуль выдает ошибку:...

Видимость объекта, объявленного в одном методе, из другого метода
Добрый день! В методе A объявляю объект DataSet. Затем из метода А мне нужно многократно вызывать вспомогательный метод Б, ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru