Przetlumacz sobie na C:
var
DCB : TDCB;
H := CreateFile('COM1',GENERIC_READ OR
GENERIC_WRITE,0,nil,OPEN_EXISTING,0,0);
file://zerowanie RTS/DTR
DCB.Flags := 1; SetCommState(H,DCB);
file://ustawienie RTS
DCB.Flags := $2001; SetCommState(H,DCB);
file://ustawienie DTR
DCB.Flags := $21; SetCommState(H,DCB);
file://Wyzerowanie TxD
SetCommBreak(H);
file://Ustawienie TxD
ClearCommBreak(H);
Wysylanie/odbieranie tez jest banalne. Co do LPT to zycze szczescia. Pod w9x mozesz leciec przez asma ale w NT+ takie numery nie przejda.