![]() |
|
![]() ![]() ![]() |
|
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Недавно начал писать на C++. Использую Borland C++ Builder v 6.0.
Для реализации моей программы необходимо вызвать вторую форму. При попытке функции Showmodal(). ![]() Если не сложно пропишите код для нажатия кнопки - запуск формы. + Хотелось бы услышать алгоритм для следующей программы - В списке ListBox есть несколько элементов. Можно открыть для каждого элемента своё меню, в котором лежит своя информация, это меню можно редактировать. Но создается только одна шаблонная форма. И под каждый элемент в этом шаблоне должна лежать своя информация. Пример в программах - список контактов в ICQ и инфо о контакте. То есть для всех контактов своя инфа, но одинаковый шаблон заполнения. Помогите начинающему программеру. ![]() |
|||
|
||||
witex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 16.10.2006 Где: Эстония Репутация: 1 Всего: 4 |
Скорее всего, ты зыбыл в главной форме забыл сделать инклуд .h файла, втрой формы.
Потом надо создать указатель на класс, и только потом SHowModal();
а насчёт шаблоно, сделай опыять же форму, заполняемую из файла к примро по id. А при клик на отдельный элемент берёшь его id, загружаешь инфу из файла по id и потом показываешь форму! --------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. |
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Спасибо. Можно поподробнее про ID?
|
|||
|
||||
Anikmar |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Приведенный пример может не работать - указатель непроинициализирован. В Билдере 2 варианта создания форм (настраивается в своствах проекта) - автоматически, это форма создается на этапе инициализации приложения и вручную - тогда форму необходимо создать самому, используя new. В приведенном выше примере подразумевается, что указатель на форму содержит действительно указатель на форму (т.е. форма создана при инициализации приложения) Если брать примером аську - там используется обычное PopUp меню. По реализации могу предложить следующий вариант: В комбобоксе - список неких значений. К комбобоксу цепляему PopUp меню, которое содержит набор (шаблон) действий. При вызове этого меню - берем текущий индекс Комбобокса (или другим способом узнаем текущее его значение) - и уже действуем. Все дело происходит в обработчике PopUp меню. |
||||
|
|||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Да. Для ввода согласен. А для просмотра информации? То есть когда мы уже открываем готовый контакт. Может быть стоит создать txt, в котором на каждой строке будет лежать информация по контакту?
|
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Список контактов в файле. загружаем файл. В Листбокс выводим ключевые поля. При нажатии кнопки в листбоксе выводим дополнительную форму с информацией.
|
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Ключевые поля? В данном случае имя контакта, так? Если вторая форма содержит несколько полей? Как лучше разбить строку в файле чтобы можно было легко считывать для каждого поля свою информацию?
|
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Я не люблю текстовые файлы. Я бы делал в собственном формате. Текстовые файлы - стандартно разбиваем, табуляцией. Преимущества такого подхода - этот файл легко формируется в экселе. |
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Собственный формат? база данных?
|
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Там что, будет 10000 записей? Тогда надо использовать нормальную СУБД А если на 20 - 100 записей, то можно и в файл сохранить |
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Все правильно прописал. При запуске программы, при нажатии кнопки, которая отвечает за вызов второй формы выкидывается сообщение об ошибке ехе-файла. Код ошибки или имеет вид 0000000., или не умещается в окне. Что это? Все таки решил использовать базу данных. Хочется чтобы пользователь работал с окном, где видны все поля ввода, а не талбица. Можно ли работать с базой, не создавая таблицу непосредственно в форме? Если да то какие компоненты?
|
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
![]() |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Все смещалось в доме Обломских.... В первую очередь вас интересует вызов форму или БД? Если ваша программа выдает некую ошибку - код в студию. Если интересуют вопросы подключения и использования БД - опишите задачу. |
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
2Anikmar
Ну уж извини. 1)О форме. Есть две формы. Первая - Main. Вторая - доступна ( В окне мэнэджера). При нажатии на кнопку "Добавить" должна открыться Form2 в модальном режиме.
Компилятор ошибок не выявляет и программа запускается. Всплывает форма1, жмем "Добавить" и вылезает ошибка : "Access violation at adress 00401CFF in module "mxat.exe". Read of 00000000." С единственной кнопкой - ОК. 2) Формулирую смысл программы. В главной форме есть компонент ListBox, в котором перечислены имена контактов, и кнопки компоненты для управления списком. При нажатии Добавить или Редактировать\Смотреть всплывает форма2, в которой и вводится информация. Хочется реализовать это с помощью базы данных. И можно ли это сделать таким образом, чтобы не чертить саму таблицу. Как бы работать с базой которая нигде не видна пользователю. Нужно ли её создавть и скрывать, или можно создать как бы "абстрактную" базу. Которая висит в памяти и работает с программой. |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Form2 - инициализирован?
Эта форма точно создана или в проекте значится как свободная? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |