Com порт

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Com порт

Сообщение xside » 06.05.2007 16:47:03

Помогите пожайлуста написать программку на Lazaruse.
Я уже весь интерфейс написал и перешел к программированию com порта использую synaser. Здесь то самое и сложное я начинающий, мне нужно сделать прием и передачу байтов через com порт.
Я хочу принимать о отправлять байты с компонента MEMO
По сути должен по размеру маленький код получится, но моего опыта и на это не хватает.
Пожалуйста помогите начинающим
xside
незнакомец
 
Сообщения: 2
Зарегистрирован: 06.05.2007 16:00:46

Сообщение serg_iv » 06.05.2007 19:55:59

прочитать одит байт из com порта:
var
ser:TBlockSerial;
.....
ser:=TBlockserial.Create;
ser.RaiseExcept:=true;
ser.Connect('com1');
ser.EnableRTSToggle(true);
ser.Config(115200,8,'N',0,false,false);
a:= ser.RecvByte(500);
.....
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Re: Com порт

Сообщение ilyas » 03.10.2009 22:19:48

Хочу освоить Lazarus и начал с того, что конвертирую свою прогу на Delphi.
В ней я обращаюсь к СОМ - порту с помощью следующих функций:
Код: Выделить всё
var
        PortInd:integer;
        Timings: CommTimeouts;
        Dcb: TDcb;
begin
<...>
PortInd:= CreateFile(Pchar(ComNumber.Items[ComNumber.ItemIndex]),
                        GENERIC_Read or GENERIC_WRITE, 0, nil,
                        OPEN_EXISTING, {FILE_FLAG_OVERLAPPED} 0 ,
                        0);
<...>
ReadFile(PortInd, _Buf[1], ComBufL, LengthRead, nil);

Компилятор утверждает, что ему неизвестны идентификаторы: TDcb, CommTimeouts, CreateFile, ReadFile, GENERIC_Read, GENERIC_WRITE и т.д.
Насколько я понимаю, я пользовался напрямую функциями WinApi.
Возможно ли в Lazarus использование этих фукций, или код придётся переписывать?
Работаю в WinXp, Lazarus: 0.9.28.1, FPC: 2.2.4.
ilyas
незнакомец
 
Сообщения: 5
Зарегистрирован: 03.10.2009 21:56:24

Re: Com порт

Сообщение Vadim » 04.10.2009 07:01:36

ilyas
А у Вас модуль Windows подключён к программе?
Всё это есть во FreePascal, надо только необходимые модули не забывать подключить. ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Com порт

Сообщение ilyas » 04.10.2009 09:31:58

Vadim
Спасибо, всё заработало.
Просто не знал, в каком модуле эти процедуры могут быть.
ilyas
незнакомец
 
Сообщения: 5
Зарегистрирован: 03.10.2009 21:56:24

Re: Com порт

Сообщение Vadim » 04.10.2009 09:34:54

ilyas
В том же, в каком и у Delphi. ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 37

Рейтинг@Mail.ru