• Как отправить почту через MS Exchange в программе на C++?

    @1q2w1q2w Автор вопроса
    sudo make install
    да, но как это сделать? Просто указать в качестве smtp-сервера сервер exchange? Я пробовал задавать такой сервер, однако письма не отправляются, request timeout.
    Ответ написан
  • Qt QTreeView групповое выделение элементов checkbox по itemChanged?

    @1q2w1q2w Автор вопроса
    sudo make install
    Вопрос решен.
    Все дело в том, что в qt нужно добавлять item`ы к parent`у на каждой "итерации", а не списком.
    Т.е. создавать модель не
    parentItem->appendRows(itemList1);
    , а так:
    for (int i = 0; i < 3; ++i)
    {
        item1 = new QStandardItem;
        item1->setText("item1-" + QString::number(i));
        parentItem->appendRow(item1);
    
        for (int i = 0; i < 3; ++i)
        {
            item2 = new QStandardItem;
            item2->setText("item2-" + QString::number(i));
            item1->appendRow(item2);
    
            for (int i = 0; i < 3; ++i)
            {
                item3 = new QStandardItem;
                item3->setText("item3-" + QString::number(i));
                item2->appendRow(item3);
            }
        }
    }

    Тогда itemChanged эмитится на каждое изменение данных и в дочерних элементах в том числе..
    Ответ написан
    Комментировать
  • Qt Widgets как закрасить только один виджет?

    @1q2w1q2w Автор вопроса
    sudo make install
    Блинскиный) как обычно все банально) забыл вызвать метод update() :)
    bool Widget::eventFilter(QObject *object, QEvent *event)
    {
        if (event->type() == QEvent::FocusOut)
        {
            if (object == this)
            {
                qDebug() << "Здесь ловим событие focus Out!";
                this->isActive = false;
                this->update();    // из-за этой строчки я потерял 1,5 часа)
            }
        }
        return false;
    }

    А все потому, что думал, будто paintEvent и так вызывается по 100 раз в секунду, update() не нужен)) Ха .. нужен! Только через отладчик смог поймать ...
    Ответ написан
    2 комментария
  • WinAPI DeviceIOControl QueryDosDevice почему не компилируется?

    @1q2w1q2w Автор вопроса
    sudo make install
    Всем большое спасибо! Выручили)
    Вот рабочий код, пробовал и на студии и на Qt Creator:
    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    VOID LogicalToPhysical(TCHAR *szDrive)
    {
            LPCTSTR szPhysical; // was CString
    
            HANDLE h = CreateFile(szDrive, 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
            if (INVALID_HANDLE_VALUE != h)
            {
                    STORAGE_DEVICE_NUMBER sd = { 0 };
                    DWORD dwRet;
                    if (DeviceIoControl(h, IOCTL_STORAGE_GET_DEVICE_NUMBER, NULL, 0, &sd, sizeof(STORAGE_DEVICE_NUMBER), &dwRet, NULL))
                    {
                            cout << "Physical disk: " << sd.DeviceNumber;
                    }
                    else {
                            cout << GetLastError();
                    }
                    CloseHandle(h);
            }
            else {
                    cout << "Invalid handle value\n";
            }
    }
    
    int main(int argc, char *argv[])
    {
        LogicalToPhysical(TEXT("\\\\.\\\\E:"));
        return 0;
    }

    Как раз то, что нужно ... номер физического диска на букву логического.
    зы: для студии сыпалась куча ошибок из-за того, что я не поменял в настройках проекта используемую кодировку с Unicode на WideChar )
    еще раз всем СПАСИБО!)
    Ответ написан
    Комментировать
  • Android SearchDialog Как грузить данные в тот же Activity/ GridView?

    @1q2w1q2w Автор вопроса
    sudo make install
    Нашел решение:
    в манифест добавляется
    android:launchMode="singleTop"
    а в активности отлавливаем Intent:
    @Override
        public void onNewIntent(Intent intent) {
            String query = null;
            if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
                query = intent.getStringExtra(SearchManager.QUERY);
                Log.i(TAG, "Received a new search query: " + query);
            }
        }
    Ответ написан
    Комментировать
  • Java/Android Загрузка картинок из JSON Custom Google Search?

    @1q2w1q2w Автор вопроса
    sudo make install
    уж не знаю как оно должно работать(ни на свайпы, ни на ввод текста не откликается, надеюсь автор все таки прояснит ситуацию, ну или кто то разберется).
    Но если кому то будет интересно, вставил костыль:
    getActivity().onSearchRequested(); в метод onPageSelected().
    Теперь, по крайней мере можно ввести запрос и дальше все работает.
    Ответ написан
    Комментировать
  • C++ сеть. Как работать с сетью в C++?

    @1q2w1q2w
    sudo make install
    1. *WinInet
    2. •WinHttp
    3. •Casablanca
    4. •Qt
    5. •POCO
    6. •wxWidgets
    7. •Boost.Asio
    8. •libcurl
    9. •neon
    10. •.NET (С++/CLI)
    11. •IXMLHTTPRequest
    12. •HappyHttp
    13. •cpp-netlib


    Чтобы далеко не ходить: Статья на хабре
    Наиболее часто используются, насколько я знаю Boost и Qt. POCO и libcurl позволяют сделать проще реализацию, но не такие гибкие..
    А если без библиотек - тогда чисто через сокеты (если не ошибаюсь, библиотеки просто упрощают работу с ними, по крайней мере Boost).
    От себя рекомендую Qt ... но только если вам нужен GUI и что то кроме сетевых классов (тяжелый он, но красивый))
    А к стандарту ближе всего Boost (из него даже некоторые части были включены в стандарт), так что выбирайте)
    Кстати, к вопросу о выборе, для интереса пробил количество вакансия по boost и qt: 77/72 в Москве, так что почти паритет.
    Ответ написан
    Комментировать