Обновить
-1
0
Вячеслав@slavroman

Пользователь

Отправить сообщение

Точно, значит Dos Navigator. Давно это было :) Спасибо, за уточнение.

"с недокументированной функцией раннего оповещения о телефонном вызове" аж воспоминания нахлынули :) У меня первый домашний пк (с цп Cyrix 166-й, эх, были времена...) , с CD приводом на минуточку(!), появился в году в 96-97м, видимо я был мажор(по меркам провинции) по тем временам :) Кстати комп был только с DOS и Volkov Commander(если не изменяет память, с чудным встроенным CD проигрывателем в том же стиле), поэтому устанавливать Windows научался сам, тогда же.

P.S.> А по "хабру", я давно здесь в роли читателя, но последнее время заглядываю реже. Задолбали тонны статей про вайбкодинг, Максы-шмаксы, "ыти-школы/инфоцигане" и т.д. Интересного осталось очень мало, а жаль...

Thinkpad + докстанция + переферия (монитор, клава, мышь). Несколько лет полет нормальный, единственный минус совместимость докстанций с линейками Thinkpad-ов, при следующем апгрейде придется докстанцию тоже обновлять. В остальном удобно. Ноут снял, в рюкзак и поехал на работу / по делам. Вернулся, ноут на докстанцию и вот уже рабочее место готово :) И не надо разъемы постоянно "насиловать" и т.д. Монитор, rj45 и т.д. постоянно подключены к докстанции. Вот такой Workflow. ИМХО :)

Приветствую! Не скажу что прям С, скорее симбиоз С/С++ и Win API и т.д. Часто приходится возиться с дремучим легаси... Иногда прям жесть :)

Например:

#define mPrntErrNumFileLines(_errNo, _strLine)  \
    {                                           \
        CString szDest;                         \
        CString szTemp;                         \
        szTemp.Format(  mText("Error in %s, file: %s (%d"),  \
                        mText2(__FUNCTION__),   \
                        mText2(__FILE__),       \
                        __LINE__);              \
        szDest  +=  szTemp;                     \
                                                \
        if (0 != _strLine)                      \
        {                                       \
            szTemp.Format(  mText(", %d"),              \
                            (__LINE__ - _strLine) );    \
            szDest  +=  szTemp;                 \
        }                                       \
                                                \
        szTemp.Format(  mText("), (0x%x)"),     \
                        _errNo);                \
        szDest  +=  szTemp;                     \
                                                \
        const DWORD dwFlags =                   \
            FORMAT_MESSAGE_ALLOCATE_BUFFER  |   \
            FORMAT_MESSAGE_IGNORE_INSERTS   |   \
            FORMAT_MESSAGE_FROM_SYSTEM;         \
        TCHAR * pBuffer =   NULL;               \
        const DWORD charCount = ::FormatMessage(dwFlags,    \
                                                NULL,       \
                                                _errNo,     \
                                                0,          \
                                                (LPTSTR)(& pBuffer),  \
                                                0,          \
                                                NULL);      \
        const TCHAR * const pMasg = ((DWORD)0 == charCount) ? mText("") : pBuffer;      \
        szTemp.Format(  mText(", %s"),          \
                        pMasg);                 \
        szDest  +=  szTemp;                     \
        ::LocalFree((HLOCAL)pBuffer);           \
                                                \
        ODS_STR(szDest.GetBuffer());            \
    }

P.S.>Зато боевой опыт, будь он не ладен... :)

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность