Например TDA7294

Форум РадиоКот :: Просмотр темы - Delphi 7 ComPort library
Форум РадиоКот
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:
Так наверное будет лучше прикреплю исходник терминала и эмулятор протеуса с виртуальным ком.

Вложения:
TESTCOM.rar [366.87 KiB]
Скачиваний: 346

Автор:  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/