Господа кто в делфи 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;
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;
Ну тут у меня шло побайтно. Получили и скинули в файл. У вас построчно, т.е. файл надо открыть другой, текстовый. Файл надо открыть там, где вы открываете порт, и закрыть там, где вы закрываете программу.
тока я не понимаю как вызывается процедура comportRxChar, вот добавил кнопку она появилась слева в трее в окне а этой функции нет, как её вызвать или она автоматом прикручивается или как то эту процедуру на кнопку надо кидать?
Добавлено after 2 hours 27 minutes 31 second: Так наверное будет лучше прикреплю исходник терминала и эмулятор протеуса с виртуальным ком.
Нет. Эта процедура вызывается когда приходит каждая посылка.... Т.е. вы каждый раз открываете файл и закрывается. На второй раз винда вывалит месягу, что такое файло такое уже есть, и так на каждую посылку, заколдобитесь эти месаджбоксы закрывать... Файл надо открывать, когда вы вызываете если прошло успешноComPortOpen, и закрывать, там, где ComPortClose... Зы. Посмотрю проект. Если надо только логить данные может терратерм про поставить?
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения