русский
Germany.ruForen → Архив Досок→ Programmierung

Резюме для программиста

19.03.22 00:42
Re: Резюме для программиста
 
uscheswoi_82 старожил
in Antwort Срыв покровов 18.03.22 14:28, Zuletzt geändert 19.03.22 01:44 (uscheswoi_82)

Си был долгое время по версии Tiobe Index на высоком месте см. https://www.tiobe.com/tiobe-index/c/, Си++ gcc глючный, иногда приходится переходить на Си. Допустим в gcc до сих пор нет string format в Си++, приходится тупо переходить на Си и использовать sprintf. Допустим меня 2 пользователя тут высмеивали, и говорили что я хелло ворлдщик и начинающий программист, я создал свой фреймворк на Си++, типа как Net Framework, послал им примеры, кстати они до сих пор молчат в тряпочку. Вот так приходится делать:

Timer *tm;
Label *lbCurrtime;
SYSTEMTIME curr_time;char buf[21];
...
GetLocalTime(&curr_time);
sprintf(buf, "d.d.d d:d:d", curr_time.wDay, curr_time.wMonth, curr_time.wYear, curr_time.wHour, curr_time.wMinute, curr_time.wSecond);
lbCurrtime->set_text(string(buf));


Это полный пример:

Timer *tm;
Label *lbCurrtime;
SYSTEMTIME curr_time;

char buf[21];

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
    switch(Message) {        
        case WM_TIMER:
            if(tm->is_tick(wParam)) {
                //see. https://stackoverflow.com/questions/63724059/does-gcc-support-c20-stdformat
                // O.o
                GetLocalTime(&curr_time);
                sprintf(buf, "d.d.d d:d:d", curr_time.wDay, curr_time.wMonth, curr_time.wYear, curr_time.wHour, curr_time.wMinute, curr_time.wSecond);
                lbCurrtime->set_text(string(buf));
            }
        break;
        case WM_CREATE:
            lbCurrtime = new Label("", 10, 10, 140, 20, hwnd);
            lbCurrtime->show();
            tm = new Timer(hwnd, 1000, TIMER1);
            tm->set_timer();
        break;
        /* Upon destruction, tell the main thread to stop */
        case WM_DESTROY: {
            tm->kill_timer();
            PostQuitMessage(0);
            break;
        }
        /* All other messages (a lot of them) are processed using default procedures */
        default:
            return DefWindowProc(hwnd, Message, wParam, lParam);
    }
    return 0;
}
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
 

Sprung zu