Форум РадиоКот https://radiokot.ru/forum/ |
|
Delphi 7 ComPort library https://radiokot.ru/forum/viewtopic.php?f=24&t=138936 |
Страница 1 из 1 |
Автор: | kotriks [ Сб дек 03, 2016 16:02:55 ] |
Заголовок сообщения: | Delphi 7 ComPort library |
Господа кто в делфи 7 мучил библу http://sourceforge.net/projects/comport/ Терминал сам легко создать, получать данные с него, отправлять, но как получить данные с терминала в буфер и сохранением данных в файл, кто то может реализовывал подскажите? Вроде это делается через функцию. Код: procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer); var Str: String; begin ComPort1.ReadStr(Str, Count); // do something with Str variable end; Может ошибаюсь, помогите . |
Автор: | minakan [ Сб дек 03, 2016 16:55:22 ] |
Заголовок сообщения: | Re: Delphi 7 ComPort library |
Рабочая либа. Там есть примеры, все рабочее. Надо еще чтобы в обжект инспекторе выставить, чтоб был вызов этой штуки on_rx или как там оно. |
Автор: | kotriks [ Сб дек 03, 2016 17:41:30 ] |
Заголовок сообщения: | Re: Delphi 7 ComPort library |
Там нет примеров с сохранением лога с порта на ПК, я бы не интересовался как это осуществить! |
Автор: | minakan [ Сб дек 03, 2016 23:41:39 ] |
Заголовок сообщения: | Re: Delphi 7 ComPort library |
А че тут сложного? Код: procedure Ttonarm_label.ComPortRxChar(Sender: TObject; Count: Integer); var S : String; buf : byte; res : integer; begin comport.read(Buf, 1); blockwrite(f,buf,1,res); end; Ну тут у меня шло побайтно. Получили и скинули в файл. У вас построчно, т.е. файл надо открыть другой, текстовый. Файл надо открыть там, где вы открываете порт, и закрыть там, где вы закрываете программу. |
Автор: | kotriks [ Вс дек 04, 2016 06:53:35 ] | ||
Заголовок сообщения: | Re: Delphi 7 ComPort library | ||
Может тогда так Код: procedure TFMComunication.comportRxChar(Sender: TObject; Count: Integer); var S, Buf : String; f: file; begin AssignFile(f, SaveDialog1.FileName); Rewrite(f); comport.ReadStr(S, Count); Buf := Buf + S; blockwrite(f,Buf,1,Count); CloseFile(f); end; тока я не понимаю как вызывается процедура comportRxChar, вот добавил кнопку она появилась слева в трее в окне а этой функции нет, как её вызвать или она автоматом прикручивается или как то эту процедуру на кнопку надо кидать? Добавлено after 2 hours 27 minutes 31 second: Так наверное будет лучше прикреплю исходник терминала и эмулятор протеуса с виртуальным ком.
|
Автор: | minakan [ Вс дек 04, 2016 16:48:55 ] |
Заголовок сообщения: | Re: Delphi 7 ComPort library |
Нет. Эта процедура вызывается когда приходит каждая посылка.... Т.е. вы каждый раз открываете файл и закрывается. На второй раз винда вывалит месягу, что такое файло такое уже есть, и так на каждую посылку, заколдобитесь эти месаджбоксы закрывать... Файл надо открывать, когда вы вызываете если прошло успешноComPortOpen, и закрывать, там, где ComPortClose... Зы. Посмотрю проект. Если надо только логить данные может терратерм про поставить? |
Автор: | kotriks [ Вс дек 04, 2016 23:22:27 ] |
Заголовок сообщения: | Re: Delphi 7 ComPort library |
Дело в том что я свой терминал пишу, так бы мне конечно теры хватило бы. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |