Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Менеджер com-порта  (Прочитано 18327 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Alf
Гость
« : 11-08-2004 12:05 » 

Алексей, статья, на мой взгляд, весьма полезная получилась. Все-таки на данный момент COM-порт практически не имеет конкуренции для обмена данными с различными самодельными внешними устройствами, не требующими скоростного обмена большими объемами данных. USB пока сложноват для этих целей...

Вот только не хватает в статье одной существенной детали. Разумеется, это не первое решение подобной задачи. Например, многие (и я в их числе)используют для работы с портом компонент ActiveX от Microsoft - MSCOMM32.OCX. Думаю, есть и другие готовые решения.

Хотелось бы увидеть краткий сравнительный анализ предлагаемого решения с уже имеющимися. Каковы его основные достоинства, которые могут убедить меня отказаться от MSCOMM32.OCX в его пользу? Возможно, стандартный компонент оказался неэффективен, либо неудобен в работе, либо имеет еще какие-то недостатки? Наверняка предложенная программа решает эти проблемы, раз уж на ее разработку было решено потратить время и силы.
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #1 : 11-08-2004 13:07 » 

Стоп стоп стоп, а сама статья то где ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Alf
Гость
« Ответ #2 : 11-08-2004 13:15 » 

MOPO3, в статьях, вестимо... Где же ей и быть-то. Из новых.
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #3 : 11-08-2004 13:18 » 

Ясно, у меня с мылом проблемсы какие то, не получил рассылкус анонсом.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Alf
Гость
« Ответ #4 : 11-08-2004 13:24 » 

MOPO3, я эту рассылку только сегодня получил, может, задержалась...
На главной странице анонс новых статей, там она на верхушке.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 12-08-2004 04:57 » 

Alf, начнём с того, что статья писалась до памятного с тобой разговора (подразумевается - никаких поисков и анализов я не проводил и аналогов не использовал... каюсь).

Сначала причины написания (не статьи, а класса): Ты , конечно, не помнишь моё первое появление на форуме с темой "Непонятка с com-портом".
Первый раз севши за программу после выданного начальником задания, округлив становившиеся уже квадратными глаза, я сел за яндекс. Нашёл статью (честно не помню - чья и откуда, это год назад было... Даже электронной версии не осталось - только распечатка. Но если кому-то охота меня подловить или уличить в чём - начинается статья так:
"Работа с коммуникационными портами (COM и LPT) в программах для Win32."
)
В этой статье слегка описаны почти все управляющие портом структуры, и прочее. И в конце - лёгонький примерчик в несколько строчек.

Вообще-то, я понятия не имел о компонентах, даже мысли не возникало - думал под ком-порт ручками пишут.

(Это насчёт USB - да, там такая каша и притом недокументированная, что только средствами изготовителей можно пользоваться...)

Вот, когда более или менее разобрался, у меня этот класс сам собой сложился в нескольких прграммах, но он был несколько лохматый - вот я и решил его причесать.

Цитата

Например, многие (и я в их числе)используют для работы с портом компонент ActiveX от Microsoft - MSCOMM32.OCX. Думаю, есть и другие готовые решения.


Я уже сказал ранее, что понятия не имел о компонентах - согласен, промах, надо будет в статью добавить о наличии таковых. Но есть одно.

Встречные вопросы:

1)сколько геморроя нужно испытать при установке и регистрации компонента
2)сколько эти компоненты весят
3)можешь ли ты изменить их код
4)есть ли там встроенный диалог для изменения и задания настроек
_________________

Моя статья позволяет новичку начать работу с портом (вроде трамплина), и если ему интересно не просто юзать компонент, а самому посмотреть, как там внутри, то, думаю некоторое представление мой класс даст ему. А кроме того он не требует документации - или самую малость

Возвращаясь на год назад: если бы мне попалась такая статья, у меня сэкономилась бы масса времени и нервов

А на конкуренцию я не претендую - что вам нравится, то и используйте.
Записан

Alf
Гость
« Ответ #6 : 12-08-2004 07:01 » 

Цитата: Алексей1153
Встречные вопросы:

1)сколько геморроя нужно испытать при установке и регистрации компонента

IMHO минимум. Конечно, если это первый опыт работы с компонентами, то придется кое-в чем разобраться. А вообще не так уж страшны эти самые компоненты.
Цитата
2)сколько эти компоненты весят

Размер файла MSCOMM32.OCX - 101 Кб.
Цитата
3)можешь ли ты изменить их код

Нет, как и подавляющее большинство компонентов, исходный текст с компонентом не поставляется, только в виде "черного ящика". Может быть, в этом и есть свой смысл - компонент может использоваться многими клиентами, и какие-то изменения, внесенные в него пользователем, могут выйти неожиданно выйти боком в каком-либо другом приложении.
Цитата
4)есть ли там встроенный диалог для изменения и задания настроек

Нет, MSCOMM32 относится к числу "слепых" компонентов ActiveX, он не имеет визуального интерфейса, только программный в виде набора свойств и методов.
Цитата
_________________

Моя статья позволяет новичку начать работу с портом (вроде трамплина), и если ему интересно не просто юзать компонент, а самому посмотреть, как там внутри, то, думаю некоторое представление мой класс даст ему. А кроме того он не требует документации - или самую малость

В плане самообразования, конечно, новичку полезнее разобраться в подобном открытом модуле, тем более что можно и отладчиком пройтись, если что непонятно.
Достоинство стандартного компонента - нейтральность по отношению к языку (например, к нему вполне можно обратиться и из программы на Visual Basic'е, и даже на VBA, к примеру, из Excel, если возникнет необходимость), а также сэкономленное время, если программа должна была заработать еще вчера, и уже не до самосовершенствования.
Цитата
Возвращаясь на год назад: если бы мне попалась такая статья, у меня сэкономилась бы масса времени и нервов
А на конкуренцию я не претендую - что вам нравится, то и используйте.

А она и сейчас кому-то попадется, кому позарез нужна, и кто-нибудь тоже скажет тебе спасибо. Именно поэтому и предлагаю дополнения. Была бы статья скучной и ненужной - и слова бы не сказал, пускай себе пылится в архиве, как есть.
Насчет "нравится"- новичку еще ничего не нравится, потому что не с чем сравнивать, он пока не знает, с какого бока приступить. Именно поэтому и предлагаю хоть немного раскрыть ему глаза на то, какие еще варианты возможны.
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #7 : 12-08-2004 08:40 » 

А я так скажу - я всегда работаю с СОМ-портом ручками. Причина тому, что код у меня занимает не 101К, а и того меньше - даже меньше чем у Алексея.

Преимущество языковой независимости в времена dll уже не актуальны, я могу оформить свой класс как библиотеку и после этого поиметь доступ к ней из любой программы, на любом языке.

А вот насчет полезности - думаю стоит создать проект с компиляцией в виде библиотеки с описанием интерфейса и открытым кодом и добавить к статье - тогда думаю проектик будет полностью завершен.

Да и в качестве небольшой претензии к Леше, очень маленькое колличество комментариев к коду, и практически нет теории порта - работы с ним, работы с тайм-аутами и т.д. ИМХО статью надо дополнить!
Записан

А птичку нашу прошу не обижать!!!
Alf
Гость
« Ответ #8 : 12-08-2004 09:01 » 

Цитата: Гром
А я так скажу - я всегда работаю с СОМ-портом ручками. Причина тому, что код у меня занимает не 101К, а и того меньше - даже меньше чем у Алексея.

Преимущество языковой независимости в времена dll уже не актуальны, я могу оформить свой класс как библиотеку и после этого поиметь доступ к ней из любой программы, на любом языке.

Гром, настолько мерзопакостно выглядят обращения к DLL из того же VB, что и 100К экономить не захочешь, тем более при нынешних объемах памяти... К тому же к компоненту можно обратиться из скриптового языка, ежели понадобится, через позднее связывание. С DLL это будет посложнее, да и не каждая среда позволит вызывать функции косвенно, через указатели.
А времена DLL давно настали, еще в 16-разрядных версиях Windows вовсю применялись, больше 10 лет назад. Только удобства с тех пор не прибавилось, увы.
Хотя чего тут спорить... Лучше упомянуть оба подхода, с их плюсами и минусами. А там каждый решит для себя - кому-то важно экономить память и повышать эффективность, кто-то предпочтет пожертвовать ими в пользу универсальности.
Цитата
Да и в качестве небольшой претензии к Леше, очень маленькое колличество комментариев к коду, и практически нет теории порта - работы с ним, работы с тайм-аутами и т.д. ИМХО статью надо дополнить!

Справедливо, сам хотел это отметить. Правда, детальное описание COM-порта, наверное, удвоило бы объем статьи. Поэтому рациональнее было бы найти что-то готовое и сослаться на него, чтобы интересующиеся могли прояснить все вопросы.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #9 : 12-08-2004 18:33 » 

Цитата

Была бы статья скучной и ненужной - и слова бы не сказал, пускай себе пылится в архиве, как есть.


то есть статью про Undo/Do можно смело смывать

 :arrow:
Цитата

А вот насчет полезности - думаю стоит создать проект с компиляцией в виде библиотеки с описанием интерфейса и открытым кодом и добавить к статье - тогда думаю проектик будет полностью завершен.


ни разу не делал dll... Просто не знаю как с нею бороться

 :arrow:
Цитата

очень маленькое колличество комментариев к коду, и практически нет теории порта - работы с ним, работы с тайм-аутами

сделаю
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines