Russian Qt Forum
Апрель 29, 2024, 03:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 2 [3] 4 5 ... 7
31  Qt / Дополнительные компоненты / Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ]. : Сентябрь 19, 2016, 14:10
Спасибо, повеселили.
У Вас волшебная юмористическая аналитичность.
Однако вспоминается что-то из былого:
 - времена телеграфа - "– Давай, работай, – обратился Будённый к телеграфисту. Телеграфист быстро отстучал телеграфным ключом...";
 - появление телефонов - "Алло, коммутатор? Будьте добры, соедините...";
 - радиопередатчик - "Он отдал сообщение радисту: "Зашифруйте и передайте на частоте...";
 - директор секретарше, забыв номер - "Соедините меня с финансовым отделом!";
 - эпоха интернета - "Пожалуйста, организуйте интернет-конференцию на следующей неделе".
Как видно настройку и организацию связи осуществляют третьи лица. Нет?
32  Qt / Дополнительные компоненты / Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ]. : Сентябрь 16, 2016, 15:37
Цитировать
Раньше так оно и было, давно. Но с тех пор уже много копий сломано было на этот счет,
ругались и так и сяк
Именно тогда вам надо было сказать:
Цитировать
нельзя так. Все, точка

Цитировать
Хочешь свои настройки - устанавливай их до открытия; хочешь чтобы менялись
в процессе работы - меняй их у открытого девайса. 

Хочешь чтобы просто открылось - нельзя так. Все, точка.

Логика проста.
"У Вас тут пахнет всем чем угодно, но только не колбасой" (логикой)

Цитировать
Как это не должен знать? Это проблемы того софта.

Если софтина работает с у-вом,
то она должна знать параметры для работы с у-вом и сама его конфигурить. Она берет
над ним контроль, а не "Дядя Вася" откуда-то.
Вы же прекрасно поняли, что в описанном случае софт работает не с устройством, а с хендлом, а вот на что хендл указывает знает "Дядя Вася". А в примере "echo hello >> com1" по вашему команда echo должна настраивать порт?

Цитировать
Не, никто не будет заморачиваться с этим, и я тоже.
PS: Всем не угодишь, а тратить личное время мне уже надоело на все эти потехи, увы.
Создается впечатление, прошу прощения за грубость, что Вам западло ввести еще одну переменную и проверить ее состояние перед вызовом initialize(). Любители дефолтов ничего не теряют.
33  Qt / Дополнительные компоненты / Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ]. : Сентябрь 16, 2016, 09:39
Цитировать
по умолчанию всегда 9600 8 N 1

То что при открытии порта устанавливаются предопределенные значения в корне не верно, тем самым вы сбиваете настройки которые были установлены ранее (к примеру командой mode), потому что есть софт, который ничего не должен знать о параметрах порта и не должен выполнять никаких настроек, а должен только открывать его и заниматься обменом. Это можно решить флагом конструктора, например DefaultSettings/SystemSettings.
34  Qt / Дополнительные компоненты / Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ]. : Сентябрь 15, 2016, 11:40
socat - не сталкивался, дайте ссылочку.
 
Цитировать
4. RTS/DTR не так уж и важны по сравнению с остальными параметрами, поэтому
    пока на это подзабили.

У нас много устройств, которые запитываются по DTR, так что выставлять приходится сразу. А зачем вообще понадобилась идея предварительной настройки? Если бы параметры можно было менять в дизайнере, как в C++Builder или Delphi тогда понятно.
35  Qt / Дополнительные компоненты / Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ]. : Сентябрь 14, 2016, 15:38
Если у нас есть возможность устанавливать параметры порта до его открытия, то что мешает добавить туда Dtr и Rts. Пусть так же устанавливаются в нужное состояние в момент открытия порта.
36  Qt / Дополнительные компоненты / Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ]. : Сентябрь 13, 2016, 11:29
Я знаю, что он должен быть открыт. Почему при настройке не ругается?
37  Qt / Дополнительные компоненты / Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ]. : Сентябрь 12, 2016, 16:50
Код
C++ (Qt)
   m_serialPort = new QSerialPort(portName, this);
 
   if (!m_serialPort->setBaudRate(baudRate))
       return false;
 
   if (!m_serialPort->setDataBits(QSerialPort::Data8))
       return false;
 
   if (!m_serialPort->setParity(QSerialPort::NoParity))
       return false;
 
   if (!m_serialPort->setStopBits(QSerialPort::OneStop))
       return false;
 
   if (!m_serialPort->setFlowControl(QSerialPort::NoFlowControl))
       return false;
 
   if (!m_serialPort->setDataTerminalReady(true))
       return false;
 
   if (!m_serialPort->setRequestToSend(false))
       return false;
 

После конструктора забыл открыть порт и сообщение об ошибке, что порт не открыт получил только при вызове setDataTerminalReady, все предыдущие методы выполнились без ошибок. Это сделано нарочно?
38  Компиляторы и платформы / Windows / Re: Создание прогресс бара при записи диска : Август 29, 2016, 09:29
Тут все есть, разбирайся
http://www.codeproject.com/Articles/22538/Burning-CD-DVD-Media-with-the-Image-Mastering-API
39  Программирование / С/C++ / Re: Найти префикс : Август 10, 2016, 15:46
А если так:
Код
C++ (Qt)
std::string GetPrefix(const std::vector<std::string> & vec)
{
   std::string s = vec[0];
 
   auto result = std::find_if(s.begin(), s.end(), [] (char ch) { return !(std::isalpha(ch) || std::isdigit(ch)); });
   if (result == s.end())
       return std::string();       // prefix not found or prefix at end: "Zombie_"
 
   auto distance = std::distance(s.begin(), result);
   if (distance == 0)
       return std::string();       // prefix in beginning: "_Zombie"
 
   std::string prefix = s.substr(0, distance + 1);
   if (std::all_of(vec.begin(), vec.end(), [prefix] (std::string s) { return s.find(prefix) == 0; }))
       return prefix;              // prefix everywhere
 
   return std::string();           // prefix partly
}
 
40  Qt / Пользовательский интерфейс (GUI) / Re: Виджет для выбора пути : Июль 22, 2016, 13:07
А в popup ComboBox'а что должно быть? История, как в проводнике или путь в виде списка?
41  Qt / Установка, сборка, отладка, тестирование / Re: Не работает lupdate в Qt5.7 Windows7 : Июль 05, 2016, 08:32
Семерка не даёт запускать экзешники в которых есть слово update и ещё какие то, не помню точно. Необходимо поднять привилегии. Переобзовите в lup-date, например, и исправьте в настройках

В натуре, переименовал designer в designer_update и потребовались привилегии) А вот переименование в lup_date для Qt5.2.0 прокатило, а для 5.7 результата не дало, так и вылетает.
42  Qt / Установка, сборка, отладка, тестирование / Не работает lupdate в Qt5.7 Windows7 : Июль 04, 2016, 16:32
Не работает lupdate в Qt5.7 Windows7, даже -help не кажет. Кто-то еще может подтвердить?

PS: Проверил на версии 5.2.0, то же не работает, пишет "Отказано в доступе". В каком доступе? Че ему надо?
43  Qt / Общие вопросы / Re: Как заменить неизвестное заранее число вхождений в QRegExp ? : Июнь 14, 2016, 11:50
Знатный холивар  Улыбающийся

Кстати в нашем кружке "умелые руки", как и в некоторых по соседству, крайне не в почете stl, boost и всякого рода templat'ы, если нет на то серьезного обоснования. Не всякий кодер знает или помнит возможности той или иной либы, тех или иных технологий и да же возможностей языка, учитывая, что код должен быть прост и лаконичен. Из дискуссии я в большей степени поддерживаю Racheengel и Igors.

Про регулярки. Применил я их как-то для верификации протокола обмена. Пришел новенький и дали ему что-то там изменить. И как говорил Old, переписать этот кусок кода было быстрее, чем научить новичка регуляркам.  Это опять в пользу первого пункта. Писать надо не для компьютера, а для человека, который будет разбираться в этом коде после тебя (это камушек в огород! буста).

По теме. Каждый предложил свое решение. На регулярках. При этом не указав автору, что он заблуждается, утверждая, что:
Цитировать
Обрабатывать нужно именно регулярными выражениями. Потому что, например, парсинг в DOM (с последующим обратным преобразованием) не сделает текстовую ноду из одних пробелов внутри ноды span.
Мое мнение, если это DOM-документ, то и работать надо с ним методами DOM, учитываю возможную расширяемость, если конечно это не разовая задача.
44  Qt / Общие вопросы / Re: Как заменить неизвестное заранее число вхождений в QRegExp ? : Июнь 08, 2016, 10:35
Обрабатывать нужно именно регулярными выражениями. Потому что, например, парсинг в DOM (с последующим обратным преобразованием) не сделает текстовую ноду из одних пробелов внутри ноды span.
Вот ключевая фраза всей темы. Дезинформация. Спецификация DOM не запрещает использовать пробелы (и только пробелы) в текстовых нодах. Обработка пробелов возлагается на пользователя, на его усмотрение.
45  Qt / Пользовательский интерфейс (GUI) / Re: Как ускорить появление QPrintPreviewDialog? : Май 25, 2016, 15:58
Подобные ситуации часто возникают там и сям - главная нитка занята, и обновить UI некому. Какое-то общее/cтандартное решение этой проблемы мне неизвестно. Часто рекомендуют "вынос в поток" - но не уверен возможно ли это для диалога принтера.
Вынесем туда принтер, а диалог будет ждать finished.

Страниц: 1 2 [3] 4 5 ... 7

Страница сгенерирована за 0.103 секунд. Запросов: 23.