Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа терминала на С/С++, нужны сырцы 
:(
    Опции темы
ssp
Дата 14.9.2005, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 14.9.2005

Репутация: нет
Всего: нет



требует реализовать простенький терминал для компьютера для доступа к нему через последовательный порт. Не хочется изобретать велосипед, может кто то видел библиотеку для работы с ANSI символами? Т.е. нарисовать рамку, вывести строку в нужные координаты и т.д.
PM MAIL ICQ   Вверх
Dreamer_0x01
Дата 14.9.2005, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 12



Не очень понял...
Порт - это порт. ANSI-символы - это ANSI-символы. Что именно?



--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
ssp
Дата 14.9.2005, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 14.9.2005

Репутация: нет
Всего: нет



библиотека для программирования текстового GUI используя ANSI - символы.
PM MAIL ICQ   Вверх
Romikgy
Дата 14.9.2005, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 7
Всего: 146



Мож это поможет
http://vingrad.ru/CPP-FAQ-002452
Добавлено @ 08:38
Цитата(ssp @ 14.9.2005, 08:37)
библиотека для программирования текстового GUI используя ANSI - символы.

WinAPI OemToChar & CharToOem


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ssp
Дата 14.9.2005, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 14.9.2005

Репутация: нет
Всего: нет



2Romikgy с портом проблем нет. Это не под Windows. Если подробнее есть контроллер, нужно выводить куда-то диагностические сообщения. т.е. функция printf выводит на указанный порт. Но так смотреть сообщения сложно (т.к. процесс циклический), смотрится все это в ГиперТерминале. Вот и хотелось бы с помощью ESC символов набросать простой GUI.
Другими словами, что б была функция outto(int x, int y, char *format, ...);
PM MAIL ICQ   Вверх
Romikgy
Дата 14.9.2005, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 7
Всего: 146



Цитата(ssp @ 14.9.2005, 08:45)
Вот и хотелось бы с помощью ESC символов набросать простой GUI.

Вот это я не понял smile
Цитата(ssp @ 14.9.2005, 08:45)
Другими словами, что б была функция outto(int x, int y, char *format, ...);

что есть x,y,format , и это все должно идти от компа в контроллер?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Dreamer_0x01
Дата 14.9.2005, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 12



не очень понял, чем же сложно смотреть.Я вот например тоже программлю на контроллеры. Так терминалкой все на ура сотрится. Правда, не Гипер терминалом, а другими более удобными. Я например пользуюсь Advanced Serial Port Monitor. Единственная проблема с этой прогой - ее шареварность. Но если хочешь, этот недостаток исправляется ;)
Сложность работы с терминалкой пожалуй может возникнуть при условии, что данные у тебя идут слишком в большом количестве и не помещаются на экран, тогда действительно придется писать свою "тестилку" - виндовую программу-окошко, в контролах которого отобразить требуемые тебе данные, но без всяких извращений типа "putto" и т.д, хотя если хочешь действительно что-то подобное терминалке сделать, то и это можно, но нужно ли?
Опять же, вводимые тобой данные удобнее не из командной строки получать, как в терминалке, а создать например свои кнопки на форме, по нажатию на которые в порт будет идти нужный пакет для твоего устройства.
Я например сейчас как раз занимаюсь тем, что пишу прграмму-терминалку для общения с прибором. Но у меня достаточно сложный прибор, поэтому кроме общения как такогого она еще и с данными уйму тучу операций делает. Штуку эту делаю на MFC, но с портом работаю в отдельном потоке на WInAPI.
Могу дать куски когда, конфигурирующие порт и посылающие/принимающие в него данные, а поместить данные в свои контролы - думаю сможешь и сам ;)

А по портам вот ресурс неплохой, я изучал понему. Хоть и дельфевый, ну винАпи он и в Африке винАпа, функции-то и параметры те же ;)

http://www.megalib.com/books/461/mastering/ports1.htm

Это сообщение отредактировал(а) Dreamer_0x01 - 14.9.2005, 09:15


--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
ssp
Дата 14.9.2005, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 14.9.2005

Репутация: нет
Всего: нет



Romikgy ну как работают терминальные программы под Linux? там же все рисуется на ESC - последовательностях. Под ДОСом был драйвер ANSI.sys для отображения комманд... Типа BBS...

Цитата(Romikgy @ 14.9.2005, 11:02)
что есть x,y,format , и это все должно идти от компа в контроллер?

x, y координаты куда вывести текст. Это просто к примеру...

PM MAIL ICQ   Вверх
Mayk
Дата 14.9.2005, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 1
Всего: 134



Цитата(ssp @ 14.9.2005, 12:45)
outto(int x, int y, char *format, ...);

ээ.. а что самому мешает написать что-то типа
Код

int outto(int x,y, const  char* fmt, ...)
{
    va_list lst;
    va_start(lst,fmt);
    printf("\x1b[%d,%d;",y,x); 
    vprintf(fmt, lst);
    va_end(lst);
}

Коды ANSI находятся с полпинка через гугль.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 14.9.2005, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 7
Всего: 146



Вот это до сих пор понять не могу
Цитата(ssp @ 14.9.2005, 09:14)
рисуется на ESC

причем здеся эскейп и рисуется?
Текст шлешь в русской кодировке? или англ. буквами?
С ббс не пришлось разбиратся smile но догадывають , что типа используются флаги , для начала сообщения и его конца.
И второе приложение будет какое консоль или гуи? Если гуи то непонятно (хотя можно и рисовать так) зачем х,у , выводить в компонент типа листбокс и вперед.

ЗЫ и вооще прикольно в ветке по винапи говорить
Цитата(ssp @ 14.9.2005, 09:14)
ну как работают терминальные программы под Linux

smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ssp
Дата 14.9.2005, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 14.9.2005

Репутация: нет
Всего: нет



Mayk мешает лень. Хочется взять готовое smile
PM MAIL ICQ   Вверх
Dreamer_0x01
Дата 14.9.2005, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 12



А устройство слабо перепрограмить, чтоб оно данные выводило "правильно"? ;)
например
"param 1 = 0.00 param2 ="abcd" .....Param N="lalalala" \r"

Обрати внимание на символ 0x0D в конце строки. Тогда если ты такое сообщение будешь слать терминалке допустим несколько раз в секунду - ты будешь видеть в терминалке эту строку...
А можно еще и многострочный вывод сделать и соответствующе терминалку поднастроить...


--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
ssp
Дата 14.9.2005, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 14.9.2005

Репутация: нет
Всего: нет



Dreamer_0x01 зачем что то поднастраивать... Есть нормальные терминалы. Проще esc-последовательности.
а что я увижу при N=20 и ширине 40 ?

PM MAIL ICQ   Вверх
Romikgy
Дата 14.9.2005, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 7
Всего: 146



Дя.... так зачем здесь вопрос задавать если хоцца готовое и уже сделанное? smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0657 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.