Пережеванные выкладки программиста

или же трудные будни ленивца-скурпулезы

Преимущества при внедрении СЭД
mylogo, xydan, xydan83_logo
xydan
http://ocnova.ru/?p=2710

Динамические библиотеки для начинающих
mylogo, xydan, xydan83_logo
xydan
(статья была опубликована в журнале "Программист")

В наше время Windows-разработчик шагу не может ступить без динамических библиотек (Dynamic Link Library - DLL); а перед начинающими программистами, желающими разобраться в предмете, встает масса вопросов:
 



    1. как эффективно использовать чужие DLL?

    2. как создать свою собственную?

    3. какие способы загрузки DLL существуют, и чем они отличаются?

    4. как загружать ресурсы из DLL?



Обо всем этом (и многом другом) рассказывает настоящая глава. Материал рассчитан на пользователей Microsoft Visual C++, а поклонникам других языков и компиляторов придется разбираться с ключами компиляции приведенных примеров самостоятельно.
 

Создание собственной DLL

Read more...Collapse )

Список часто используемых CMS
mylogo, xydan, xydan83_logo
xydan
1. Joomla - http://joomlaportal.ru/
2. WordPress - http://ru.wordpress.org/
3. Drupal - http://www.drupal.ru/
4. Simpla CMS - http://simplacms.ru/ (платная, 2х недельный тестовый период)
5. 1С-Битрикс - http://www.1c-bitrix.ru/ (платная, 30тидневный тестовый период)
6. DLE - http://dle-news.ru/ (платная и бесплатная с ограничениями)
7. HostCMS - http://www.hostcms.ru/ (платные и бесплатная версия с ограничениями)
8. MODX - http://modx.ru/
9. Мелбис www.melbis.com/ (платная)
10. GalleryCMS - http://www.gallerycms.com/ (Фото Галерея)
11. Gallery - http://gallery.menalto.com/ (Фото галереи CMS)


 Список будет периодический пополнятся. Так же хочу еще сделать раздел для модулей и плагинов, а так же шаблонов.

Выравнивание структур данных
mylogo, xydan, xydan83_logo
xydan
 Очень много заметил споров среди программистов на тему как же лучше и правильнее выравнивать структуры данных...Сам всегда пользовался директивой #pragma pack. По этому поводу нашел неплохую статью в интернете. 
Сама статья располагается по адресу: http://www.kalinin.ru/programming/cpp/31_07_00.shtml 
Но приведу ее так же и тут, чтобы далеко не ходить...



Запись структур данных в двоичные файлы

Чтение и запись данных, вообще говоря, одна из самых часто встречающихся операций. Сложно себе представить программу, которая бы совсем не нуждалась бы в том, что бы отобразить где-нибудь информацию, сохранить промежуточные данные или, наоборот, восстановить состояние прошлой сессии работы с программой.

Read more...Collapse )

Кое что по сайтам фриланса
mylogo, xydan, xydan83_logo
xydan
Намеднях понадобилось разместить объявление на тендер одной задачи, где нужно было сделать одну мультимедийную программу которая отображала бы видео контент в последовательности, зависящей от внешних событий. Писать надо было на  СИ/++.
Ну думаю, нашел сайтов 5, сейчас размещу объявления. Разместил.... Вот уже прошел день, и вот что я могу сказать по тому, сколько народу откликнулось, готовых сделать задания на C++.

Значит, на какие сайты я вообще размещал задания. Это были:
Read more...Collapse )

Переводим из строкового HEX в int HEX.
mylogo, xydan, xydan83_logo
xydan
Я заметил что много вопросов на форумах возникает по теме конвертации строк в числа и обратно, не говоря еще про путанницу представления разных символов относительно чисел, тобишь кодировок. Но больше всего сложностей у людей (в частности и у меня) возникало при переводе из строкового hex в числовой вариант hex.

Не буду много расписывать, приведу лишь один пример, который позволит вам понять, как осуществляется перевод из строки, в которой содержится hex представление какого либо числа, в его числовой вид, переменной типа int.

string myhex = "F1C";
int myint = 0;
 
size_t i;
for(i = 0; i < myhex.length(); ++i)
      myint = (myint << 4) + ( myhex[i] < 'A' ?  myhex[i] - '0' : myhex[i] - 'A' + 10);




С(т)ранности метода FindFirst. Нерешённая задача.
mylogo, xydan, xydan83_logo
xydan

Всем добрый день или ночь, да-да, я опять о VCL и эта статья будет посвящена странностям, которые я обнаружил, работая с методом FindFirst – FindNext – FindClose.

Всем известно, что почти весь VCL это обертка для WINAPI-х функций, в данном случае не исключение и эти методы. Если конкретнее, то был недавно у меня случай, не работал один коммерческий проект, точнее он работал, но не всегда и не везде. А глюк заключался в том, что необходимо в одно из устройств грузить некую информацию, файлы которых определялись по маскам файлов. Причем нужно было указать только каталог, где данные файлы лежат, поиск их же был автоматический.

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

Давайте взглянем на код, который нам рекомендует сама фирма Borland в своем описании по работе с данными методами:

 

Read more...Collapse )


Способ получения prodID и vendorID устройств на примере
mylogo, xydan, xydan83_logo
xydan

Довольно часто требуется получить идентификационный номер производителя устройств типа ProdID и VendorID. Например, флеш-диска или жесткого диска. По данному шифру можно, например, определить, что за фирма произвела устройство. Получать можно разными способами, либо из реестра винды, либо напрямую из устройства. В своем примере я напишу, как получить данные ID-шники посредствам WIN DDK API из устройства.

WIN DDK изначально представляет из себя API, набор функций, структур и констант, облегчающее написание драйверов под windows. Так же данный набор можно использовать для  работы непосредственно с устройствами. Скачать WIN DDK можно непосредственно с сайта Microsoft. В нем вы так же найдете достаточно мощное описание и среднее количество примеров.
Скачать можно по этой ссылке:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=36a2630f-5d56-43b5-b996-7633f2ec14ff

Рассмотрим пример 1 получения prodID и vendorID.

Read more...Collapse )




Важная тонкость работы с событиями или как я напоролся на неожиданность.
mylogo, xydan, xydan83_logo
xydan

Данная статья достаточно важна, так как открывает тонкий аспект при создании объекта ядра windows, такое как – “событие (Event)”.
Данный аспект коснулся меня достаточно недавно, из-за чего я потратил много времени в поисках глюка своей программы. Причина оказалась достаточно банальна, но в том месте, где я никак не ожидал ее обнаружить. Все дело было формировании объекта – события.

Скажу коротко, что мой проект, которым я занимаюсь в данное время, состоит из множества событий, типа Events, то есть это не те события, что принято считать событиями в RAD оболочках типа Builder или Delphi или того же Visual Studio (то есть которые передаются с параметрами через систему сообщений windows). Это события ядра, которые работают через ф-ции WinApi WaitForSingleObject или же WaitForMultipleObjects.
Смысл данного события, освободить какой-либо поток от ожидания, по средством данной ф-ции, приведенной выше.

Начну с того, что приведу основные ф-ции и их последовательность для написания события. Буду приводить ф-ции WinApi, так как в том же Builder С++ есть VCL методы, которые являются просто оберткой для тех же WinApi ф-ций.

Read more...Collapse )

 

 

 


Некоторые полезные книги для новичков и не только...
mylogo, xydan, xydan83_logo
xydan

Вот решил привести несколько названий книг с видами обложек, которые я приобретал и небольшой отзыв по каждой. Скажу сразу, что книги касаются не только C/C++, но так же и других языков программирования, включая и web. В принципе каждый наверное знает или догадывается, что в наше время очень трудной найти нормальную книгу или учебный бумажный курс, который позволил бы узнать не только азы программирования на том или ином языке, но так же и раскрывал бы некий тайные секреты/трюки программирования, чтобы расширить знания читателя на более высокий уровень нежели обычный новичок. 
Но к сожалению, реалии таковы, что большинство книг, которые вы видите на прилавках магазинов - просто барахло. Я могу по пальцам пересчитать действительно стоящие экземпляры и к сожалению, не все из них до сих пор продаются. По классификации могу разделить книжный рынок так: 

  • 70% книг позволят вам узнать только азы программирования на уровне операторов и простейших функций или методов + освоение какой либо среды программирования (обычно у нас это Builder, Visual Studio, Qt). Причем, 60% из этих книг просто коммерческое барахло.
  • 26% книг посвящены специфики программирования в какой то области,например в области программирования портов или контроллеров, или общее представление о библиотеках WINAPI или MFC, DDK и тд, такие книги найти тоже не так трудно, но их гораздо меньше чем "стандартных" книг.
  • и оставшиеся 4% книг, реальный кладезь знаний, где профессионалы делятся своим опытом и секретами оптимизации кода, ведь это одна из важнейших частей программирования, сделать так, чтобы код был легким в понимании, небольшим, и быстрым. 

 

Read more...Collapse )

?

Log in