-
Архивы
- Апрель 2019
- Ноябрь 2018
- Июнь 2017
- Май 2017
- Апрель 2017
- Сентябрь 2016
- Февраль 2016
- Ноябрь 2015
- Октябрь 2015
- Сентябрь 2015
- Июль 2015
- Июнь 2015
- Май 2015
- Апрель 2015
- Февраль 2015
- Декабрь 2014
- Август 2014
- Июль 2014
- Июнь 2014
- Май 2014
- Апрель 2014
- Август 2013
- Апрель 2013
- Февраль 2012
- Декабрь 2011
- Октябрь 2011
- Июнь 2011
- Март 2011
- Январь 2011
- Декабрь 2010
- Сентябрь 2010
- Август 2010
- Июль 2010
- Июнь 2010
- Февраль 2010
- Январь 2010
-
Мета
Архив метки: c
CryptoPP 5.6.0 и MSVC 2010 (C2439,C2440)
Чтобы данный пакет откомпилировался компилятором версии 16.00, нужно поправить пару строк в исходниках: pubkey.h строка 243: return HashIdentifier((const byte*)NULL, 0); zdeflate.cpp строка 389: #if defined(_STDEXT_BEGIN) && !(defined(_MSC_VER) && (_MSC_VER < 1400 || _MSC_VER >= 1600)) && !defined(_STLPORT_VERSION) после этого вы … Читать далее
Поиск Free RAD
Поиски бесплатной среды для быстрой разработки приложений наткнулись на несколько распространенных вариантов: Qt wxWidgets Ultimate++ Qt — оно конечно здОрово, красиво, и судя по отзывам удобно, но есть один такой небольшой затык: коммерческая лицензия стоит более $3.5к, для моего личного … Читать далее
Вспоминаем Си. PCRE , pcrecpp (!)
Чуток накосячил с ним в прошлом посте, не включил в библиотеку наиполезнейшую вещь (!), а именно pcrecpp от Google Inc. В прошлый makefile компиляция и прилинковка данного «модуля» была чудовищно пропущена моими кривыми руками. Сей замечательный кусок кода позволяет использовать … Читать далее
Вспоминаем Си. Подключаем библиотеки CURL, Zlib, PCRE, OpenSSL и SQLite
Задался целью статично собрать все части в один исполняемый файл.. Зачем? .. Сам не знаю, может для того, чтобы не таскать с собой дополнительные .dll-файлы. Конечно это отрицательно сказывается на своевременном апдейте приложения, с каждой новой версией любой из частей … Читать далее
Вспоминаем Си. бНОПНЯ
После небольшого дауна, продолжаем вспоминать :) Порой необходимо вывести что-то в консоль, или просто пишешь тестовую консольную версию для отладки какой-либо функции. Многие, я в это верю :) , встречались с абракадаброй на экране, пытались перекодировать выводимое сообщение, писали «собственные» … Читать далее
Вспоминаем Си. Превращаем элемент управления в hyper-link
Оказалось нужным открытие браузера с нужным адресом при нажатии на тексте. Все довольно простенько. Файл ресурсов: #include <windows.h> #define IDD_DIALOG1 1000 #define IDC_LINK_GOOGLE 1100 LANGUAGE LANG_NEUTRAL, SUBLANG_DEFAULT IDD_DIALOG1 DIALOGEX 0, 0, 186, 27 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | … Читать далее
Вспоминаем Си. Чтение и запись файла
Смешно, сам от себя такого не ожидал. #include <windows.h> #include <stdio.h> #define CHUNK 1024 int copy(FILE *src, FILE *dst) { int bytes; unsigned char buf[CHUNK]; do { // копируем весь файл кусками по 1 Кбайт bytes = fread(buf, 1, CHUNK, … Читать далее
Вспоминаем Си. Отключаем (не)удобства assert
Есть такая удобная штука assert называется. Данный макрос вызывает исключение, которое позволяет провести частичную диагностику результатов работы программы. Макрос проверяет истинность выражения, и если оно ложно пишет в поток stderr само выражение, имя файла и строку исходника, в котором это … Читать далее
Вспоминаем Си. Ассоциативные массивы
Нужны ассоциативные массивы. Как об-Веб-ившемуся разработчику, уже привыкшему к ним, они просто необходимы. Ничего выдумывать не стал, а использовал уже написанный и отлаженный шаблон map из библиотеки C++ STL. #include <windows.h> // magic include :) #include <stdio.h> // printf #include … Читать далее
Вспоминаем Си. Изменение ID элемента управления
В моем диалоговом окне несколько стадий, ограничим их пока двумя гипотетическими пунктами, которые исполняются при нажатии одной и той же кнопки на разных этапах обработки: выбор и подтверждение действия исполнение действия Казалось бы, можно просто использовать некие костыли, в виде … Читать далее
Вспоминаем Си. RichEdit, прокрутка текста колесиком мыши
Понадобилась прокрутка текста внутри RichEdit элемента, даже в том случае, если оно не в фокусе. Долго думать не пришлось, все довольно тривиально: LRESULT CALLBACK mainDlgProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch (msg) { .. .. case WM_MOUSEWHEEL: … Читать далее
Вспоминаем Си. Richedit, Выравнивание текста
Задался вопросом как мне красиво выровнять текст по обоим границам, так сказать «сделать ему Justify» ? Начиная с версии RichEdit 2.0, элемент управления может выравнивать текст от левого до правого края, и сделать это можно таким образом: // hwnd — … Читать далее