Вверх ↑
Этот топик читают: Гость
Ответов: 817
Рейтинг: 52
#1: 2009-04-28 14:44:37 ЛС | профиль | цитата
Приятного времени суток господа!

Есть роутер который работает через HiperTerminal
Хочу сделать что то подобное, но что бы весь листинг сохранялся сразу в файл
Для начала попробовал соединиться с роутером и отправить/получить данные, но тишина
Подскажите что не так?
code_13050.txt
карма: 1

0
файлы: 1code_13050.txt [1.1KB] [177]
Ответов: 8930
Рейтинг: 823
#2: 2009-04-28 16:18:58 ЛС | профиль | цитата
-= DriveR =-, на верхние точки надо подать тип Integer, а не String
карма: 19

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#3: 2009-04-28 17:36:14 ЛС | профиль | цитата
Леонид писал(а):
на верхние точки надо подать тип Integer, а не String

Это кто тебе такое сказал Смотрим код компонента


      ReadInteger(_Data,_data_BaudRate,_prop_BaudRate),
ReadInteger(_Data,_data_Port,_prop_Port+1),

Так вот, ReadInteger может читать и тип String, если только он отображает число, те, например -- "1". Ошибка здесь не в этом, а в том, что порт написан как -- COMX, что не является числом в строковом представлении, суффикс COM надо просто удалить, например, вот так


Add(MainForm,10406190,273,294)
{
Width=528
Height=560
}
Add(Label,14506140,273,231)
{
Left=5
Top=10
Width=47
Height=17
Font=[MS Sans Serif,8,1,0,1]
Caption="COM №"
}
Add(COM,10115507,413,294)
{
link(onWrite,15993189:doWork2,[])
link(onRead,15993189:doWork3,[(494,307)])
link(Port,14326443:GetData,[])
link(BaudRate,16625246:String,[])
}
Add(Label,7171082,322,231)
{
Left=130
Top=10
Width=60
Height=17
Font=[MS Sans Serif,8,1,0,1]
Caption="Скорость"
}
Add(ComboBox,16625246,413,161)
{
Left=190
Top=5
Width=85
Height=21
Strings=#3:110|3:300|4:1200|4:2400|4:4800|4:9600|5:19200|5:38400|5:57600|6:115200|6:230400|6:460800|6:921600|
}
Add(ComboBox,1051450,455,161)
{
Left=60
Top=5
Height=21
Strings=#4:COM1|4:COM2|4:COM3|4:COM4|4:COM5|4:COM6|4:COM7|4:COM8|4:COM9|
}
Add(Memo,3146119,525,294)
{
Left=5
Top=35
Width=510
Height=415
}
Add(Button,6201115,322,294)
{
Left=5
Top=470
link(onClick,10115507:doOpen,[])
}
Add(HubEx,15993189,490,287)
{
link(onEvent,3146119:doAdd,[])
}
Add(Edit,15228109,322,350)
{
Left=70
Top=470
Width=445
Text=""
link(onEnter,10115507:doWrite,[(384,363)(384,321)])
}
Add(EventFromData,14326443,413,238)
{
link(onEvent,7211169:doDelete,[])
}
Add(Delete,7211169,462,238)
{
Count=3
link(onDelete,14326443:doData,[(506,244)(506,232)(401,232)(401,244)])
link(Str,1051450:String,[])
}

карма: 22

0
Ответов: 817
Рейтинг: 52
#4: 2009-04-28 17:36:56 ЛС | профиль | цитата
Леонид писал(а):
-= DriveR =-, на верхние точки надо подать тип Integer, а не String

Спасибо
Теперь возник другой вопрос:
Когда подключаешься HiperTerminal_ом, там предлогается ввести логин пароль, у меня же тишина
видимо надо послать какие то денные.
Что бы никого сильно не мучать вопросами, может кто поделиться примером работы с СОМ портом?
И что бы в примере было побольше всяких возможностей. Уж очень интересно поковыряться с этим компонентом
nesco,
спасибо двойное, очень приятно что могу оставить выпадающие списки
карма: 1

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#5: 2009-04-28 17:38:03 ЛС | профиль | цитата
-= DriveR =- писал(а):
Вот блин, ТОЧНО. Спасибо

Пример мой посмотри, а то сейчас начнешь мудрить
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2009-04-28 19:05:34 ЛС | профиль | цитата
nesco писал(а):
Ошибка здесь не в этом, а в том, что порт написан как -- COMX, что не является числом в строковом представлении

помоему Леонид, это и имел ввиду
карма: 27
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#7: 2009-04-28 19:20:41 ЛС | профиль | цитата
Dilma писал(а):
помоему Леонид, это и имел ввиду

Ну, может быть, я дополнительно конкретизировал
карма: 22

0
Ответов: 8930
Рейтинг: 823
#8: 2009-04-28 20:23:36 ЛС | профиль | цитата
-= DriveR =-,
-= DriveR =- писал(а):
поделиться примером работы с СОМ портом?

У меня 2 шт СОМ на компьютере и можно тихо сам с собою побеседовать: code_13056.txt ; пытался звук через порт передать code_13057.txt и принять звук: code_13058.txt , но чуть-чуть скорости не хватило
карма: 19

1
файлы: 3code_13056.txt [3.1KB] [182], code_13057.txt [7.7KB] [178], code_13058.txt [5.8KB] [156]
Голосовали:Konst
Ответов: 3851
Рейтинг: 159
#9: 2009-04-28 22:34:17 ЛС | профиль | цитата
-= DriveR =-, есть ещё компонент для работы с портом в асинхронном режиме, ищи в соответствующем разделе..
карма: 0
начавший
0
Ответов: 817
Рейтинг: 52
#10: 2009-04-29 10:47:28 ЛС | профиль | цитата
Чего то не допонимаю
пытаюсь записать в порт комманду help
роутер вместо того что бы вывести листинг пишет 4

карма: 1

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#11: 2009-04-29 12:45:22 ЛС | профиль | цитата
-= DriveR =- писал(а):
роутер вместо того что бы вывести листинг пишет 4

Правильно пишит. Write не имеет эха, а выдает количество успешно переданных байт.
карма: 22

0
Ответов: 817
Рейтинг: 52
#12: 2009-04-29 13:29:14 ЛС | профиль | цитата
nesco,
Т.е. сделать что то похожее на HiperTerminal не возможно?
карма: 1

0
Ответов: 1328
Рейтинг: 69
#13: 2009-04-29 13:42:20 ЛС | профиль | цитата
-= DriveR =-, читай с порта с помощью таймера. Посмотри примеры Леонида
карма: 2

0
13
Сообщение
...
Прикрепленные файлы
(файлы не залиты)