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

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 33 34 [35] 36 37 ... 88   Вниз
  Печать  
Автор Тема: Создаю библиотеку для работы с последовательными портами. [УШЕЛ ИЗ ПРОЕКТА].  (Прочитано 752821 раз)
b-s-a
Гость
« Ответ #510 : Июнь 23, 2011, 11:45 »

Т.е. если приникает в базовую реализацию base.cpp - то и фик с ним?
Ты не путай, "базовую реализацию" с "реализацией общей части". Это две большие разницы, как говорят в Одессе.  Подмигивающий
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #511 : Июнь 23, 2011, 11:47 »

ОК,  парни, спасибо,  убедили. Улыбающийся

Ща буду объединять твою, b-s-a, часть и то что уже есть на гиториосе.
Вечером (по москве) заккомичу.
« Последнее редактирование: Июнь 28, 2011, 14:34 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #512 : Июнь 23, 2011, 17:39 »

Всё, закоммитил.

Класс SerialPortInfo реализовал 1:1 как QPinterInfo с небольшими отличиями и, по-моему, получилось неплохо. Улыбающийся
В классах SerialPort тоже некоторые отличия: микс кучи всего .

В общем, зацените.

ЗЫ: и на будущее, давайте условимся в выражениях сравнения - константы или функции возвращающие значения писать слева, а переменные справа.
Код
C++ (Qt)
...
   int value = 0;
   if (SerialPort::NoParity == value) {
   ...
   }
...
 

на всякий случай.
« Последнее редактирование: Июнь 23, 2011, 17:50 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #513 : Июнь 23, 2011, 18:26 »

Цитировать
ЗЫ: и на будущее, давайте условимся в выражениях сравнения - константы или функции возвращающие значения писать слева, а переменные справа.

Почему так? Мы же всетаки читаем слева-направо, да и сравниваем значение переменной (функции) с неким значением, а не наоборот. Как-то такой вариант мне неочень
« Последнее редактирование: Июнь 23, 2011, 18:55 от pastor » Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #514 : Июнь 23, 2011, 18:58 »

Чтоб не ошибиться случайно
Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #515 : Июнь 23, 2011, 21:11 »

Цитировать
ЗЫ: и на будущее, давайте условимся в выражениях сравнения - константы или функции возвращающие значения писать слева, а переменные справа.
А вот это зря. Если вдруг будем мержить с Qt, то придется судорожно везде исправлять. Тролли не принимают подобный код.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #516 : Июнь 24, 2011, 05:38 »

>>Чтоб не ошибиться случайно
А в чём можно ошибиться?

>>Мы же всетаки читаем слева-направо
согласен, это более естественно
Записан

Юра.
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #517 : Июнь 24, 2011, 07:16 »

Ох, как всё сложно то...  В замешательстве
Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #518 : Июнь 24, 2011, 08:10 »

Ох, как всё сложно то...  В замешательстве
да ладно. вот если бы ты об этом узнал, когда весь код написал, вот тогда да - сложно.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #519 : Июнь 24, 2011, 09:15 »

Ну ладно.
Ну так что там с структурой классов SerialPort + SerialPortInfo и их приватных подклассов: примерно годится такой вариант или нет?
А то уже руки чешутся начинать реализацию писать Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #520 : Июнь 24, 2011, 11:25 »

Внес ряд изменений:
https://gitorious.org/~bsa/qserialdevice/bsas-qserialdevice/commits/2.0
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #521 : Июнь 24, 2011, 11:47 »

Вопросы:

по SerialPortInfo private.

1. Зачем убрал nullSerialPortInfoPrivate?
Чисто для получения метода isNull() ?

2. Может быть, код:
Код
C++ (Qt)
foreach(const SerialPortInfo &info, availablePorts()) {
   if (port.portName() == info.portName()) {
       *this = info;
break;
   }
}
 
заменить на:
Код
C++ (Qt)
QList<SerialPortInfo> list = availablePorts();
foreach(const SerialPortInfo &info, list) {
   if (port.portName() == info.portName()) {
       *this = info;
break;
   }
}
 
?
т.к. по идее нужно всего один раз вызвать availablePorts() , а не каждый раз при итерации.

--

Левые вопросы:
1. После того как я совершу мерж, как мне на сайте gitorious его закрыть?
Просто выбрать статус Closed и написать комментарий?

т.к. как кроме статусов Opened/Closed там больше нет никаких, а тов. lit-uriy говорил, что есть еще и Merged, если я правильно его понял.
Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #522 : Июнь 24, 2011, 12:16 »

1. Зачем убрал nullSerialPortInfoPrivate?
Чисто для получения метода isNull() ?
По сути да. Зачем держать в памяти "пустой" объект, когда можно ограничиться нулевым указателем?

2. Может быть, код:
Код
C++ (Qt)
foreach(const SerialPortInfo &info, availablePorts()) {
   if (port.portName() == info.portName()) {
       *this = info;
break;
   }
}
 
заменить на:
Код
C++ (Qt)
QList<SerialPortInfo> list = availablePorts();
foreach(const SerialPortInfo &info, list) {
   if (port.portName() == info.portName()) {
       *this = info;
break;
   }
}
 
?
т.к. по идее нужно всего один раз вызвать availablePorts() , а не каждый раз при итерации.
foreach() гарантирует однократное выполнение второго параметра - т.е. availablePorts будет вызван 1 раз.

Левые вопросы:
1. После того как я совершу мерж, как мне на сайте gitorious его закрыть?
Просто выбрать статус Closed и написать комментарий?

т.к. как кроме статусов Opened/Closed там больше нет никаких, а тов. lit-uriy говорил, что есть еще и Merged, если я правильно его понял.
По хорошему, нужно выбирать Merged. Именно такой статус ставят тролли.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #523 : Июнь 24, 2011, 12:21 »

Ок, насчет foreach не знал.

Цитировать
По хорошему, нужно выбирать Merged. Именно такой статус ставят тролли.
Ну я в упор там (на сайте) не вижу этого статуса: там только можно выбрать из Open/Closed в чекбоксе.
Где взять Merged?
Может это браузер тупит?
« Последнее редактирование: Июнь 24, 2011, 12:23 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #524 : Июнь 24, 2011, 12:46 »

Подозреваю, что там должна быть кнопка "вмержить".
Создал мерж реквест.
Записан
Страниц: 1 ... 33 34 [35] 36 37 ... 88   Вверх
  Печать  
 
Перейти в:  


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