Архив по рубрики: C/C++/C#
Что такое QT?
Автор: evteev, дата Дек.14, 2010, рубрики: C/C++/C#
1. Что такое QT?
=================
QT — это кроссплатформенная библиотека, целью которой является вытеснение нативных API из ваших
программ. Сейчас Qt — это огромный объектно-ориентированный комбайн, в большинстве случаев
позволяющий обойтись без привлечения каких-либо иных библиотек.
В первую очередь Qt — отличное средство для создания графического пользовательского
интерфейса (GUI). В состав Qt входит дизайнер, позволяющий легко создавать графические интерфейсы
для вашего приложения.
Вам не придется заботиться о написании файлов сборки для каждой из платформ, за вас это сделают Qt.
Достаточно просто написать файл проекта, в который внести все используемые файлы, и файл
сборки можно будет создать одним вызовом утилиты qmake (естественно, под управлением целевой
платформы). От себя добавлю, что иногда этот файл приходится править руками (а как же).
О значимости данной библиотеки говорит хотя бы то, что она используется в таких успешных проектах,
как Borland C++ Builder 6 и Opera. Читать далее Все о программировании »
Что такое traits?
Автор: evteev, дата Дек.14, 2010, рубрики: C/C++/C#
Что такое traits?
Вступление
В данной статье я попытаюсь рассказать, что такое traits. Будут рассмотрены некоторые примеры применения traits, которые будут заключаться как в использовании traits в на�?ем коде, так и в возможных способах рас�?ирения стандартной библиотеки C++, которая тоже использует traits. Также будут рассмотрены возможные проблемы, которые могут возникнуть при рас�?ирении стандартной библиотеки C++.
Для кого написана данная статья?
Эта статья написана для программистов на C++, которые уже неплохо владеют самим языком, его основными конструкциями. В частности, необходимо знание, что такое �?аблоны(templates) и желателен опыт их использования. Также очень желательно знание стандартной библиотеки C++, так как многие примеры будут посвящены именно ей.
Ну, поехали…
�?так, приступим. Думаю, начать стоит с перевода термина traits. Обычно его переводят как «свойства». Но traits реализуются классом, поэтому обычно употребляется термин «класс свойств». Следует заметить, что свойства также можно реализовать с помощью структуры, так как в C++ это практически аналоги. Далее я буду использовать термин класс, хотя все сказанное будет в той же мере относиться к структурам. Читать далее Все о программировании »
Списки и последовательный доступ в C++
Автор: evteev, дата Дек.14, 2010, рубрики: C/C++/C#
Список как структура для хранения данных известна достаточно �?ироко. Фактически, наверняка в любом курсе программирования ее изучают в том или ином виде. Но то, что обычно усваивает студент (читать: «будущий программист») заключается примерно в следующем:
Списки организуются на динамической памяти. Динамическая память, по мнению студента, это то, что можно получить при помощи операторов new и удалить dispose.
Списки организуются при помощи одного указателя на голову списка и, включенных в каждый элемент, указателей на следующий элемент списка. Точнее, может присутствовать указатель и на предыдущий элемент, а также указатель на хвост списка, это не суть важно. Читать далее Все о программировании »
Как обнаружить утечку памяти в C++
Автор: evteev, дата Дек.14, 2010, рубрики: C/C++/C#
Введение
При разработке боль�?их приложений, оперирующих боль�?ими объемами информации на первое место при отладке встает проблема обнаружения неправильного распределения памяти. Суть проблемы состоит в том, что если мы выделили участок памяти, а затем освободили не весь выделенный объем, то образуются блоки памяти, которые помечены как занятые, но на самом деле они не используются. При длительной работе программы такие блоки могут накапливаться, приводя к значительному расходу памяти. Читать далее Все о программировании »
Как узнать IP и MAC адрес своего компьютера на C++
Автор: evteev, дата Янв.04, 2010, рубрики: C/C++/C#
Как узнать IP и MAC адрес моего компа в сети на C++
Для определения мы будем пользоваться функциями gethostname и gethostbyname из библиотеки winsock.h. Если у вас два и более сетевых подключений, программа покажет IP адрес первого в очереди. Читать далее Все о программировании »
Особенности копирования текста страницы в CppWebBrowser на C++ Builder
Автор: evteev, дата Янв.02, 2010, рубрики: C/C++/C#
В интернете выложено несколько похожих способов копирования текста (ну или html-текста, не суть) с компоненты CppWebBrowser.
Я использовал следующий рабочий вариант копирования html-текста в Memo: Читать далее Все о программировании »
Пи�?ем браузер на С++Builder
Автор: evteev, дата Янв.02, 2010, рубрики: C/C++/C#
Продолжаю тему клонирования программ darkamster’a на Delphi в С++Builder. В этой статье я покажу, как с помощью стандартных компонентов, можно создать свой браузер. Браузер будет на движке ‘всеми-любимого’ InternetExplorer. На�? зверь сможет ходить по URL, смотреть Html странички, ходить вперед и назад, конечно, перезагружать странички и останавливать загрузку. Читать далее Все о программировании »
Ввод/вывод с помощью функции CreateFile
Автор: evteev, дата Дек.30, 2009, рубрики: C/C++/C#, Delphi/Pascal
В Win32 файл открывается при помощи функции, имеющей обманчивое название:
function CreateFile(IpFileName: PChar; dwDesiredAccess,
dwShareMode: DWORD; IpSecurityAttributes: PSecurityAttributes;
dwCreationDistribution, dwFlagsAndAttributes: DWORD;
hTemplateFile: THandle): THandle
Хоть ее название и начинается с create, но она позволяет не только создавать, но и открывать уже существующие файлы.
Такое огромное количество параметров оправдано, т. к. createFile используется для открытия файлов на диске, устройств, каналов, портов и вообще любых источников ввода/вывода. Читать далее Все о программировании »
Расстановка 8 ферзей на �?ахматной доске
Автор: evteev, дата Дек.30, 2009, рубрики: C/C++/C#
Пробовали ли вы когда-нибудь расставить 8 ферзей на �?ахматной доске так, чтобы ни один из них не находился под ударом? Зная, что ферзь бьет по вертикали, горизонтали и диагонали, довольно непросто подобрать такую позицию. Но не для С. Читать далее Все о программировании »
Чтение/запись блоков данных на C# (C Sharp)
Автор: evteev, дата Дек.28, 2009, рубрики: C/C++/C#
Чтение/запись блоков данных на C# (C Sharp)
В этой статье речь пойдет о чтении/записи данных в файл, буфер или в память при помощи трех классов, образованых от абстрактного класс System.IO.Stream. Мы рассмотрим классы FileStream, MemoryStream, BufferedStream.
Классы, производные от Stream(поток), предназначенны для работы с двоичными данными и могут искать какую-то часть данных в потоке. Сам по себе, базовый класс уже имеет некоторые методы и свойства, который унаследованы в следующих классах. Вот список и предназначение этих методов и свойств. Читать далее Все о программировании »