| Программное управление источниками данных ODBC. |
Тема нашего сегодняшнего разговора - ODBC. Если вы хоть раз писали СУБД (системы управления базами данных), то вам, наверное, знакома эта аббревиатура. Расшифровывается ODBC как Open DataBase Connectivity (вольный перевод - открытая система связи с базами данных). Open (открытая) в данном случае означает "расширяемая", "легко наращиваемая", "открытая для модификаций". Вы сами это поймете, если посмотрите на архитектуру построения ODBC. |
Просмотров: 9625 | Скачиваний: 1745 |
Подробнее
|
|
| Автоматизация Microsoft Excel. |
Вы, может быть, подумали, что в статье я буду учить вас набивать данные в Excel вручную, а затем писать скрипты, обрабатывающие эти данные? Вовсе нет, мы займемся более интересным делом. Мы заставим Excel плясать под нашу дудку, выполняя все, что мы пожелаем. Что для этого нужно? Во-первых, конечно, сам Microsoft Excel, версия в принципе не важна, т.к. приведенные примеры будут работать и под 97 и под 2000 офисом. Желательно при установке Microsoft Office полностью установить файлы помощи - файл VBAXL8.HLP (или VBAXL9.CHM в случае Office2000) содержит очень полезную информацию об иерархии объектов Excel, с которыми нам придется работать. Второе требование - Borland C++Builder или Delphi. Приведенные примеры подготовлены в среде Borland C++Builder 5.0, не думаю, что составит большого труда переписать их под Delphi. |
Просмотров: 16188 | Скачиваний: 3573 |
Подробнее
|
|
| Использование интерфейсов при работе с DLL. |
Как вы, наверное, знаете, в динамически подключаемых библиотеках (DLL) используются соглашения языка C при объявлении экспортируемых объектов, в то время как в C++ применяется несколько иная система генерации имен при компиляции, так что нельзя просто экспортировать функции - методы класса С++ и затем использовать их в коде приложения-клиента (здесь и далее под клиентом подразумевается приложение, использующее DLL). Однако это можно сделать при помощи интерфейсов, доступных и DLL, и клиентскому приложению. Этот метод очень мощный и в то же время элегантный, т.к. клиент видит только абстрактный интерфейс, а фактический класс, который реализует все функции может быть любым. Microsoft'овская технология COM (Component Object Model) построена на подобной идее (плюс дополнительная функциональность, конечно). В этой статье будет рассказано, как использовать "классовый" подход с применением интерфеса, похожего на COM, при раннем (на этапе компиляции) и позднем (во время работы программы) связывании. |
Просмотров: 10013 | Скачиваний: 1571 |
Подробнее
|
|
| Как обнаружить утечку памяти. |
При разработке больших приложений, оперирующих большими объемами информации на первое место при отладке встает проблема обнаружения неправильного распределения памяти. Суть проблемы состоит в том, что если мы выделили участок памяти, а затем освободили не весь выделенный объем, то образуются блоки памяти, которые помечены как занятые, но на самом деле они не используются. При длительной работе программы такие блоки могут накапливаться, приводя к значительному расходу памяти |
Просмотров: 9712 | Скачиваний: 1528 |
Подробнее
|
|
| Создание и использование DLL (Microsoft Visual C++). |
Создать DLL намного легче, чем вы думаете. Библиотеки DLL очень полезны, если вы программируете под Windows. В этих библиотеках обычно хранят часто используемые подпрограммы. В статье рассказывается как создать простую DLL и показано, как вызвать функции, содержащиеся в ней. Примеры расчитаны на использование Microsoft Visual C++ 6.0, но нетрудно перевести их на любой диалект C++. |
Просмотров: 19095 | Скачиваний: 5423 |
Подробнее
|
|
| Введение в C#: классы |
Ответы на эти вопросы зависят от того, как вы собираетесь работать дальше. Если вы хотите создавать приложения для платформы .NET, то вам, скорее всего, не удастся избежать изучения C#. Конечно, можно использовать и Си++, и Visual Basic или любой язык программирования, тем более что независимыми разработчиками создаются трансляторы с APL, Кобола, Eiffel, Haskell, Оберона, Smalltalk, Perl, Python, Паскаля и др. Однако для компилятора, способного генерировать приложения среды .NET CLR (Common Language Runtime), только C# является «родным» языком. Он полностью соответствует идеологии .NET и позволяет наиболее продуктивно работать в среде CLR. В свое время для использования виртуальной машины Java было создано множество так называемых «переходников» (bridges) c различных языков программирования, в частности PERCobol, JPython, Eiffel-to-JavaVM System, Tcl/Java и т.д. Подобные разработки так и не получили должного распространения. Практика показала, что значительно проще изучить новый язык, чем вводить дополнительные расширения в менее подходящую для данных целей систему программирования. И не надо быть провидцем, чтобы утверждать, что бо,льшая часть программистов, создающих приложения для платформы .NET, отдаст предпочтение именно языку C#. |
Просмотров: 11495 | Скачиваний: 2442 |
Подробнее
|
|
| Критика Си++. Виртуальные функции |
Язык программирования работает на многих уровнях и выполняет различные функции, а потому должен критически рассматриваться по отношению именно к этим уровням и функциям. Именно виртуальные функции — основной объект критики языка Cи++. |
Просмотров: 9311 | Скачиваний: 1451 |
Подробнее
|
|
| C# - разберемся, что же это |
Ну что, найдете 10 отличий? С трудом: Как видим, тенденция сближения различных языком программирования здесь проявляется как нигде отчетливо. Первый пример написан на новом языке C#, разработанном фирмой Microsoft, второй - на старой доброй Java. Язык C# был выпущен в середине 2000 года группой программистов компании Microsoft под руководством небезызвестного в програмистских кругах человека Anders Hejlsberg. Того самого, кто создал Turbo Pascal и Delphi. Хотя это и не признается официально, но язык C# явно создавался как альтернатива и как прямой конкурент Java. Это отчетливо видно как из приведенных примеров, так и из более детального анализа структуры двух языков. |
Просмотров: 9514 | Скачиваний: 2010 |
Подробнее
|
|
| Передача сокетов между процессами в C++ |
Для того, чтобы передать сокет от одного процесса другому, можно воспользоваться функцией WSADuplicateSocket() из Winsock 2. Изначально в часто задаваемых вопросах (FAQ) эту проблему решали следующим способом: Спецификация данного метода подробно описывается в секции 2.10 MSDN-а, где подробно по шагам комментируется данная функция. Так же можно почитать статью Q150523 в Microsoft Knowledge Base, в которой описываются различия наследования сокета в разных версиях Windows. |
Просмотров: 12558 | Скачиваний: 2998 |
Подробнее
|
|
| Создание простого приложения с плагинами в С++ |
В этой статье описываются принципы и решения, применяемые при проектировании приложений, которые будут использовать внешние, динамически подключаемые, модули. Эта статья более ориентирована на тех, кто хочет использовать механизмы подключения/отключения функциональности приложения, наподобии механизма Aobe Photoshop или Far, а не просто многократного использования кода в разных приложениях. Динамически подключаемые модули (DLL) - это модули, которые содержат функции и данные. Эти модули загружаются во время выполнения программы, использующей эти модули (хоста). В ОС Windows модули содержат внутренние и экспортируемые функции (в UNIX подобных системах все функции являются экспортируемыми). Экспортируемые функции доступны для вызова хостом, а внутренние нет. Хотя данные тоже могут быть экспортируемыми, но обычно используются экспортируемые функции для доступа данным. |
Просмотров: 9165 | Скачиваний: 3501 |
Подробнее
|
|
|
|
|