qwerty11
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 13
|
||||||
#1 | ||||||
Использование загруженной БД в разных пунктах меню - C++16.01.2014, 19:00. Просмотров 380. Ответов 11
Метки нет Все метки)
(
Всем добрый вечер!
Есть задание-создать БД кинолога в С++. БД создана, всё работает. Один из пунктов меню БД -- "Загрузить БД", что выполняется, НО: нет никакой связи с остальными пунктами меню, т. е. в каждом из них БД открывается отдельно. Вопрос: как связать реализовать использование пункта "Открытие БД" в других пунктах меню ( т. е. избавиться от необходимости в каждом из них отдельно открывать БД). Т.к. знаний не густо, надёргал куски программы и старался адаптировать их к своему заданию, поэтому буду благодарен если укажете на другие огрехи ![]() Сам текст проги:
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
16.01.2014, 19:00 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Использование загруженной БД в разных пунктах меню (C++):
11
Использование разных типов указателей - C++ Использование данных из разных потоков - C++ Хранение и использование разных списков категорий и меню - PHP Хоткей в в пунктах меню - C++ WinAPI
Отображение модуля в неопубликованных пунктах меню - Joomla |
skident
23 / 23 / 2
Регистрация: 11.12.2011
Сообщений: 300
|
||||||
16.01.2014, 22:19 | #2 | |||||
Это у вас просто куча кусков в одном месте ?!
Для начала я бы посоветовал использовать не трансит в именах переменных, а более-менее подходящие английские слова, например не kli4ka, а name. Если я вас правильно понял, то сделал бы эту задачу как-то так: 1. Создал отдельную структуру данных DogInfo в которой бы хранил все данные о собаках. 2. Создал бы вектор таких структур (скорее всего статический, чтобы можно было к нему достучатся в любой функции)
4. во всех остальных функциях юзал бы этот статический вектор (то есть базу в которой уже лежат все данные).
1
|
qwerty11
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 13
|
|
17.01.2014, 11:35 [ТС] | #3 |
Спасибо за совет! Читаю про векторы, но пока не получается разобраться. Может совет попроще?) Добавлено через 1 минуту Так в принципе это куча адаптированных кусков в одном месте. В целом всё работает.
0
|
alsav22
5434 / 4829 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
17.01.2014, 16:46 | #4 |
Можно сразу загружать базу (ведь она во всех пунктах меню используется?). Можно убрать пункт загрузить базу, определить флаг, показывающий загружена база или нет, в каждом пункте меню проверять этот флаг, если база не загружена - загружать, если загружена - работать с ней.
0
|
qwerty11
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 13
|
|
17.01.2014, 20:31 [ТС] | #5 |
Ну я почти так пытался делать- загружал базу, убирал в пунктах отдельное открытие базы и..... и открытую базу не получается использовать), а пункт меню "Загрузить базу" является требованием препода. Подскажи пожалуйста, если знаешь, как реализовать использование пункта "Загрузить базу" хотя бы в одно пункте- для тебя это может быть очевидно, но для меня это очевидным не является.=(
0
|
alsav22
5434 / 4829 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
17.01.2014, 20:54 | #6 |
Куда?
Добавлено через 11 минут Сделать флаг загрузки базы. В пунктах меню проверять флаг, если база не загружена, то выводить сообщение и делать возврат к меню (break из case), и так до тех пор, пока не будет выбран пункт загрузки базы.
0
|
qwerty11
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 13
|
|
18.01.2014, 19:31 [ТС] | #7 |
При выполнении пункта 5 ""Загрузить БД" она же я так понимаю открывается и опять же по моему разумению должна быть доступна при выполнении других пунктов меню, но на практике она-таки недоступна для других пунктов меню. Т. е. я запустил прогу, загрузил БД, мне вышло сообщение БД загружена. Далее я выбираю допустим пункт вывести все данные (пункт меню №1) и нифига не работает ( при этом в тексте пункта 1 я убирал отдельное открытие БД).
0
|
alsav22
5434 / 4829 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
18.01.2014, 20:00 | #8 | |||||
На вопрос ответьте:
Добавлено через 1 минуту Где здесь, вообще, загрузка базы?
Или что: файл отрыли и база загружена?
0
|
qwerty11
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 13
|
|
18.01.2014, 20:44 [ТС] | #9 |
Вообще и правда думал что раз открыт файл, то всё), на этом можно остановиться. Но по твоим правильным вопросам начинаю осознавать что всё не так просто. Раз настойчиво спрашиваешь куда я загружал БД, знач надо считать данные и присвоить их каким-то переменным или другой структуре, так?
0
|
monolit
|
|
18.01.2014, 20:54 | #10 |
ага, именно так.
Кликните здесь для просмотра всего текста
И если у тебя программа действительно такая, как ты в первом после показал (в одном файле), то я вообще не понимаю, как она работает, и сочувствую твоему 'преподу') Это ж надо - куча main'ов с разным кодом... Первый раз такое вижу.
1
|
alsav22
5434 / 4829 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
18.01.2014, 21:07 | #11 |
1
|
qwerty11
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 13
|
|
18.01.2014, 21:20 [ТС] | #12 |
Ну что же, полегче не получилось, значит буду пытаться реализовать ваши советы. Спасибо)
0
|
18.01.2014, 21:20 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
18.01.2014, 21:20 |
Привет! Вот еще темы с ответами:
12
Избранная статья во всех пунктах меню - Joomla
Изменение надписей в пунктах меню в процессе работы программы - C# Как рисовать картинки в пунктах меню на чистом WinApi Delphi - C++ WinAPI Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |