That explains why Notepad++ is not available (and won't be available) under Linux :P
27 нояб. 2009 г.
MinGW, wxString::ToLongLong() и все все все
Дано:
wxString - строка содержащая число в строковом представлении.
m_nSize - 64 битное число.
MinGW - компилятор.
wxWidgets - фреймворк.
Задача:
Конвертировать строку в число, дабы произвести некие действия.
Решение:
Открываем доки, ищем и находим следующее:
Если конвертирование возможно получаем true, но вся соль в том, что в случае с MinGW во всех случаях обламываемся и получаем false, т.к. есть некоторое условие:
Читаем и изучаем stdlib.h и внимательно справку по wxString
Получаем следующее:
Проверяем результат:
и обламываемся, оказывается M$ имеет свой стандарт на форматирование и в MinGW
надо использовать следующее:
Да-да, стандарты существуют для того же для чего и законы.
P.S. в Symbian при переходе с 7.0s-8.1a на 8.1b тоже изменили:
BEFORE:
AFTER:
wxString - строка содержащая число в строковом представлении.
m_nSize - 64 битное число.
MinGW - компилятор.
wxWidgets - фреймворк.
Задача:
Конвертировать строку в число, дабы произвести некие действия.
Решение:
Открываем доки, ищем и находим следующее:
wxString::ToLongLong
bool ToLongLong(wxLongLong_t *val, int base = 10) const
Если конвертирование возможно получаем true, но вся соль в том, что в случае с MinGW во всех случаях обламываемся и получаем false, т.к. есть некоторое условие:
Compilers with C99 support and Microsoft Visual C++ version 7 and higher do support this.
Читаем и изучаем stdlib.h и внимательно справку по wxString
Получаем следующее:
m_nSize = atoll(strHeaderSize.char_str());
Проверяем результат:
wxMessageBox(wxString::Format(wxT("%lld"), m_Size));
и обламываемся, оказывается M$ имеет свой стандарт на форматирование и в MinGW
надо использовать следующее:
wxMessageBox(wxString::Format(wxT("%I64d"), m_nSize));
Да-да, стандарты существуют для того же для чего и законы.
P.S. в Symbian при переходе с 7.0s-8.1a на 8.1b тоже изменили:
BEFORE:
x.GetTInt();
AFTER:
I64INT(x);
26 нояб. 2009 г.
Бобик сдох?
Airbit`овцы похоже решили окончательно уйти в аутсорсинг, классическая ситуация "верхи" не хотят "низы" не могут. Не идет дело, так поменяй стратегию, зачем быть собакой на сене? В виде Open Source mShell(с платной коммерческой лицензией например как в QT) пошло бы бодрее, на правах контрибутора я бы поучаствовал например just for fun. Это если они не хотят быть просто аусорсинговой компанией, в Ovi Store же по поводу остальных продуктов компании отзывы кхм... скептические G-Meter убрали комменты были тоже не фонтан. Бабка Ванга считает, что либо они продадуться (оч. распространенный вид бизнеса на Западе), либо OS вариант, либо, если нет чувства коньюктуры... попутного ветра в широкую спину. Понаблюдаем из партера.
Nightly Builds
Активно попользовался Code::Blocks (8.02 Stable), раздражали только несколько вещей:
- Никакущий code outline
- Не всегда логичное поведение табов
- Меню Copy/Paste за каким то х**ом спрятано в подменю ("очень" удобно особенно ночью когда на ощупь вместо Ctrl+C и Ctrl+V попадаещь не на ту клавишу, т.к. у меня на Ctrl+B стоит компиляция)
- Отсутствие хоткеев на Find Declaration/Implementation
Терзался стоит ли связываться с ночником, но стабильная версия датирована 28 Feb 2008...
В общем паралельно поставил ночной билд и из всего списка остался только Меню Copy/Paste. Outline удобнейший, табы лучше, все хоткеи в настройках + бонусы в виде новых плагинов (выделение слов по дабл клику, inline поиск, список открытых файлов, wxSmith с AUI, Тетрис!!!111). Но падал 2 раза на закрытии при запросе сохранения лайота, в принципе не чревато еслипредохраняться сохраняться.
Да и написан на C++ и wxWidgets т.е. быстр, нетребователен к ресурсам и вносит некоторый элемент гармонии "на чем пишу тем и пользуюся" после диссонанса навеяного Carbide.C++ являющимся выкормышем Eclipse и Java к которой у меня и не только у меня "трепетное" отношение.
Параллельно попобовал CodeLite вот где тихий ужас, пытался настроить компилятор на статичную линковку 3 часа(!), оказалось что сначала надо задать директорию с lib (изначально натравлен он на динамическую), затем уже создавать workspace. Неправильный порядок вводил светлокод в тупняк, а погромиста в ярость. В общем блоку пока сливает всухую. Но если сравнить например с QT Creator то не так страшно, это чудо вообще IDE не назовешь, медиаплеер даже кнопка "Play" есть, бугага.
- Никакущий code outline
- Не всегда логичное поведение табов
- Меню Copy/Paste за каким то х**ом спрятано в подменю ("очень" удобно особенно ночью когда на ощупь вместо Ctrl+C и Ctrl+V попадаещь не на ту клавишу, т.к. у меня на Ctrl+B стоит компиляция)
- Отсутствие хоткеев на Find Declaration/Implementation
Терзался стоит ли связываться с ночником, но стабильная версия датирована 28 Feb 2008...
В общем паралельно поставил ночной билд и из всего списка остался только Меню Copy/Paste. Outline удобнейший, табы лучше, все хоткеи в настройках + бонусы в виде новых плагинов (выделение слов по дабл клику, inline поиск, список открытых файлов, wxSmith с AUI, Тетрис!!!111). Но падал 2 раза на закрытии при запросе сохранения лайота, в принципе не чревато если
Да и написан на C++ и wxWidgets т.е. быстр, нетребователен к ресурсам и вносит некоторый элемент гармонии "на чем пишу тем и пользуюся" после диссонанса навеяного Carbide.C++ являющимся выкормышем Eclipse и Java к которой у меня и не только у меня "трепетное" отношение.
Параллельно попобовал CodeLite вот где тихий ужас, пытался настроить компилятор на статичную линковку 3 часа(!), оказалось что сначала надо задать директорию с lib (изначально натравлен он на динамическую), затем уже создавать workspace. Неправильный порядок вводил светлокод в тупняк, а погромиста в ярость. В общем блоку пока сливает всухую. Но если сравнить например с QT Creator то не так страшно, это чудо вообще IDE не назовешь, медиаплеер даже кнопка "Play" есть, бугага.
29 сент. 2009 г.
The power of the OpenSource ("звезда в шоке")
WxWidgets 2.8.10
http.h
http.cpp
Но ведь подумали же, твоюжтымать! есть такой метод "HEAD", есть.
P.S.
http.h
...
protected:
enum wxHTTP_Req
{
wxHTTP_GET,
wxHTTP_POST,
wxHTTP_HEAD
};
...
bool BuildRequest(const wxString& path, wxHTTP_Req req);
...
http.cpp
bool wxHTTP::BuildRequest(const wxString& path, wxHTTP_Req req)
{
const wxChar *request;
switch (req)
{
case wxHTTP_GET:
request = wxT("GET");
break;
case wxHTTP_POST:
request = wxT("POST");
if ( GetHeader( wxT("Content-Length") ).IsNull() )
SetHeader( wxT("Content-Length"), wxString::Format( wxT("%lu"), (unsigned long)m_post_buf.Len() ) );
break;
default:
return false;
}
Но ведь подумали же, твоюжтымать! есть такой метод "HEAD", есть.
P.S.
Name: src/common/http.cpp
Purpose: HTTP protocol
Author: Guilhem Lavaux
Modified by: Simo Virokannas (authentication, Dec 2005)
Created: August 1997
RCS-ID: $Id: http.cpp 44660 2007-03-07 23:07:17Z VZ $
Copyright: (c) 1997, 1998 Guilhem Lavaux
Licence: wxWindows licence
24 сент. 2009 г.
Почему закрылся mshell.net.ru
Первопричина банальна: в июле сильно приболел, до такой степени, что передвигался с помощью подручных предметов, почти не ходил, хостер и прикрыл аккаунт за просрочку (изменили правила оплаты и с телефона заплатить я не мог), к пк почти месяц не подходил. Потом просто плюнул, и резуректить не стал. Судя по тому, что спустя 2 месяца поинтересовалось этим фактом 2 человека (обоих худо-бедно знаю около 2,5 лет) "отряд не заметил потери бойца".
Хотя нет, заметил: появился почти клон, позиционируется как "единственный & русскоязычный", тот же движок форума, вики правда есть с частичным переводом по качеству где-то на уровне "PROMT Advanced", т.е. вроде не машинный, но точно не человек переводил (раздел о ООП в mShell я переводил пару дней, но за качество почти не стыдно), ну да я и этого не сделал по причине нехватки времени.
Ладно, болеют "за судьбу mShell" (почти дословно) пусть, в конце концов и мне что то он дал, но принципиально для "коммюнити" и тем, что на официальном форуме, делать ничего не буду, оно за 2 года (столько прожил mshell.net.ru) почесалось один раз. Под хвостом.
Но заночь с Ксенией Собчак тугрики, вполне могу, по другому надоело...
P.S. GFTP пишу "just for fun", полный рефакторинг, на ООП рельсы "at all", две панели наконец-то, хотя сайта теперь нет и кагбе он мне нафиг не нужен. Скиллы прокачиваю. Сейчас он аццкая смесь C++ с mShell. Писать не то чтобы очень просто (язык хоть и скриптовый, но не как Python, где на каждый чих есть библиотека, но и результат не торт), все ручками, зато экспириенс какой.
Хотя нет, заметил: появился почти клон, позиционируется как "единственный & русскоязычный", тот же движок форума, вики правда есть с частичным переводом по качеству где-то на уровне "PROMT Advanced", т.е. вроде не машинный, но точно не человек переводил (раздел о ООП в mShell я переводил пару дней, но за качество почти не стыдно), ну да я и этого не сделал по причине нехватки времени.
Ладно, болеют "за судьбу mShell" (почти дословно) пусть, в конце концов и мне что то он дал, но принципиально для "коммюнити" и тем, что на официальном форуме, делать ничего не буду, оно за 2 года (столько прожил mshell.net.ru) почесалось один раз. Под хвостом.
Но за
P.S. GFTP пишу "just for fun", полный рефакторинг, на ООП рельсы "at all", две панели наконец-то, хотя сайта теперь нет и кагбе он мне нафиг не нужен. Скиллы прокачиваю. Сейчас он аццкая смесь C++ с mShell. Писать не то чтобы очень просто (язык хоть и скриптовый, но не как Python, где на каждый чих есть библиотека, но и результат не торт), все ручками, зато экспириенс какой.
23 сент. 2009 г.
BTW: wxWidgets meet Symbian
На форум.нокиа некоторое время назад разговор о wxWidgets оказывается его портировали на Symbian, пытался тогда еще собрать, но потерпел эпичный фейл, в чем дело было уже не помню да и забросили давно, однако вот тут пишут, что его еще пинают
"Another good news is that people are working on using wx under several new platforms: this month we had posts about wxSymbian again (wxBase part only, no GUI yet)", а то сигналы... слоты...
Code::Blocks & wxWidgets
Возникла нужда пописать на венду, тащить монстра Eclipse с C++ плагинами было лениво скачал сабж. Поставил настроил, затем сабжевый же тулкит, виндовый MinGW входил в комплект Code::Blocks, стал собирать. Указал в PATH путь к бинарникам компилятора открыл консоль, начал собирать wxWidgets и хрен... "mingw32-make не является командой или пакетным файлом...". Ладно, плавали: "SET PATH=c:\Program Files\CodeBlocks\MinGW\bin" в консольной сессии, собрал 4 версии, ура.
Приложение не собирается из-за Symbian-овского GCC, оно пыталось компилить с его помощью, понятно что в эти тапочки мы не влезем но в настройках Code::Blocks есть переменные среды которые аплятся как я понял из описания при его старте. Прописал путь к MinG, рестартнул иду, те же яйца. Почесал репу, открыл консоль перешел в папку с Code::Blocks настучал: "SET PATH=c:\Program Files\CodeBlocks\MinGW\bin" и из этой же консольной сессии стартанул иду и о чудо... оно собирает мой проект! Написал батник, жизнь удалась сталбыть.
Приложение не собирается из-за Symbian-овского GCC, оно пыталось компилить с его помощью, понятно что в эти тапочки мы не влезем но в настройках Code::Blocks есть переменные среды которые аплятся как я понял из описания при его старте. Прописал путь к MinG, рестартнул иду, те же яйца. Почесал репу, открыл консоль перешел в папку с Code::Blocks настучал: "SET PATH=c:\Program Files\CodeBlocks\MinGW\bin" и из этой же консольной сессии стартанул иду и о чудо... оно собирает мой проект! Написал батник, жизнь удалась сталбыть.
22 сент. 2009 г.
Подписаться на:
Сообщения (Atom)