Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

Народное голосование ПРЕМИИ РУНЕТА-2007!
Голосуем за RusFAQ.ru >>

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 913
от 21.11.2007, 14:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 479, Экспертов: 75
В номере:Вопросов: 3, Ответов: 4


Вопрос № 109576: Добрый день, господа эксперты! У меня вопрос по вызову функции класса dll-файла в другом exe-файле. Как нужно правильно вызывать функцию MyFunction? MS VS 2003 +SP1...
Вопрос № 109627: Здраствуйте ! Я хотел бы узнать можно ли создать програму на С++ для базы данных написаной на SQl ? Существует ли какая виртуальная среда программирования на SQL в Windows OS ? Подскажите литературу по написанию приложений на С++ по SQL ...
Вопрос № 109651: Здравствуйте уважаемые эксперты. Подскажите пожалуйста: есть три срр-файла, и два хедэра в одном из которых собраны заголовки хедэров АПИ необходимые для работы программы, в другом объявлены переменные проекта(глобальные). Подключение этих хедеро...

Вопрос № 109.576
Добрый день, господа эксперты!
У меня вопрос по вызову функции класса dll-файла в другом exe-файле. Как нужно правильно вызывать функцию MyFunction?

MS VS 2003 +SP1

Приложение:

Отправлен: 15.11.2007, 17:12
Вопрос задал: Solowey (статус: 2-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Sov
Здравствуйте, Solowey!
Вот статья на тему работы с dll. Надеюсь она вам поможет
http://www.citforum.ru/book/cook/dll0.shtml
Ответ отправил: Sov (статус: 8-ой класс)
Ответ отправлен: 15.11.2007, 17:35
Оценка за ответ: 5
Комментарий оценки:
вроде разобрался...


Вопрос № 109.627
Здраствуйте !
Я хотел бы узнать можно ли создать програму на С++ для базы данных
написаной на SQl ? Существует ли какая виртуальная среда программирования на SQL в Windows OS ? Подскажите литературу по
написанию приложений на С++ по SQL ?
А вобще мне нужно:
- Сформировать структуру таблиц баз данных;
- Обеспечить требования нормализации таблиц;
- Сформировать SQL-запросы для создания таблиц баз данных с указанием, первичных и внешних ключей и требуемых ограничений, SQL-запросы для добавления, изменения и выборки необходимых данных.
- Запросы, указанные в условии задачи оформить в виде представлений.
При решении задачи предполагается использования серверных СУБД, обеспечивающих полную поддержку языка запроса SQL.
+ кроме всего етого создать приложение на С++ для етой базы даных.
Помогите мне please !!!
Отправлен: 16.11.2007, 00:33
Вопрос задал: Nikolas Franchsko Matrilotti (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Лясин Александр Владимирович
Здравствуйте, Nikolas Franchsko Matrilotti!
Начнём по порядку.
1. Написать программу на C++ - которая работает с БД можно.
2. По поводу виртуальной среды - то её как таковой нет, но есть средства (в том числе и для Windows), которые позволяют работать с различными БД.
а) ODBC - очень старое средство, представляющее собой набор драйвров с унифицированным программным интерфейсом. По просту говоря - является одним из стандартов (один из самых старых) доступа к БД. На данный момент считается устаревшим - но отлично работает. Схема работы упрощённо следующая - с помощью драйвера (это dll) приложение подключается к БД, после чего есть возможность работать с БД с помощью SQL-запросов, а также создавать таблицы, удалять таблицы и т.п. Но в конечном итоге всё зависит от реализации конкретного драйвера.
б) ADO - интерфейс для работы с БД более верхнего уровня - нежели DBC, в итоге, в случаях работы не с MS Access работает через тоже ODBC.
с) Это API для работы с сервером той платформы, с который хотите работать.
Для начала достаточно.
Если вас интересует теория построения БД и/или форма построения запросов - здесь http://www.proklondike.com/index.php?mainpart=5 вы найдёте много интересного.
Я бы для начала рекомендовал http://www.proklondike.com/contentview.php?content=184, Мартин Грубер "Понимание SQL".
Чтобы быстрее освоить работу с БД именно в С++ - можете установить Borland C++ Builder 6.0, т.к. в нём есть возможность "поэкспериментировать" с БД ещё на стадии проектирования программы.
Из серверных платформа для Windows я бы рекомендовал FireBird - это открытая платформа, её можно скачать и использовать абсолютно бесплатно.
Про него можно почитать здесь http://www.ibase.ru
Ответ отправил: Лясин Александр Владимирович (статус: 1-ый класс)
Ответ отправлен: 16.11.2007, 07:47


Вопрос № 109.651
Здравствуйте уважаемые эксперты.
Подскажите пожалуйста: есть три срр-файла, и два хедэра в одном из которых собраны заголовки хедэров АПИ необходимые для работы программы, в другом объявлены переменные проекта(глобальные). Подключение этих хедеров выполняется во всех срр-файлах через директивы условной компиляции (см. приложение). При линковке проекта (MSVS2003 .NET) получаю ошибки линкера : error LNK2005: ** already defined ** ( ** заменены конкретные имена переменных). Понимаю, что директивы не корректны, пересмотрел несколько учебников, не пойму в чем ошибка. Заранее благодарю за ответы.

Приложение:

Отправлен: 16.11.2007, 08:59
Вопрос задал: Комаров Сергей Борисович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Vas177
Здравствуйте, Комаров Сергей Борисович!

Объявите глобальные переменные в файлах *.cpp:
int glob = 77; // можно определить значение по умолчанию
и т. д.

А в файлах *.h используйте ключевое слово extern для этих глобальных переменных:
extern int glob;
и т. д.
Ответ отправил: Vas177 (статус: 2-ой класс)
Ответ отправлен: 16.11.2007, 09:49
Оценка за ответ: 5
Комментарий оценки:
Спасибо, про extern я совсем забыл:-)

Отвечает: Sergey A. Wedensky
Здравствуйте, Комаров Сергей Борисович!

Директива include просто вставляет в файл, где она появляется содержимое файла-аргумента. Получается, что у Вас 3 исходных файла cpp, во всех тех объявлены Ваши переменные. Компилятор, обрабатыавая уже второй файл, совершенно справедливо скажет, что такие переменные уже определены в первом.

Как верно заметил Vas177, глобальные переменные объявляются один раз в cpp-файле (можно, конечно и в хэдере, если он подключается только один раз, но все-равно плохой тон), а для доступа к ним из других можно использовать ключевое слово extern, которое говорит, что такая переменная должна быть объявлена где-то в другом модуле (если компоновщик нигде ее не найдет, скажет Unresolved external ...).
Ответ отправил: Sergey A. Wedensky (статус: Студент)
Ответ отправлен: 16.11.2007, 10:05
Оценка за ответ: 5
Комментарий оценки:
Спасибо, про extern я совсем забыл:-), насчет плохого тона - возможно, у меня опыта еще мало, может подскажете, где можно почитать как грамотно структурировать проект?


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.62.2 от 20.11.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное