Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CPort: Comport auslesen DOS-> Delphi (https://www.delphipraxis.net/166924-cport-comport-auslesen-dos-delphi.html)

Wal 6. Mär 2012 15:09

AW: CPort: Comport auslesen DOS-> Delphi
 
Du kannst das hier noch testen:
Delphi-Quellcode:
procedure TfrmMain.Timer1Timer(Sender: TObject);
var
  A: String;
begin
  if ComPort.InputCount > 0 then
  begin
    ComPort.ReadStr(A, ComPort.InputCount);
    memo1.Text := memo1.Text + 'Daten: ' + A + #13#10;
  end;
end;
Über einen 1Sekunden Timer abfragen, ob Daten vorhanden sind. Evtl. ist OnRxChar irgendwie nicht richtig konfiguriert bei dir.
Den Code oben habe ich mit einer GPS-Mouse getestet, die sendet aber immer Daten. :-)

Freiwilderer 6. Mär 2012 15:31

AW: CPort: Comport auslesen DOS-> Delphi
 
hi und nochmals vielen Dank für die Hilfe :)

das geht leider auch nicht ...
ich habe eben raus gefunden, wie die Verbindung auf dem WinCE Gerät geöffnet wird. und zwar so:
C++
Code:
      GetCommState(hPort,&PortDCB);
      PortDCB.BaudRate           = CBR_9600;
      PortDCB.fBinary            = TRUE;
      PortDCB.fParity            = TRUE;
      PortDCB.fOutxCtsFlow       = TRUE;
      PortDCB.fOutxDsrFlow       = TRUE;
      PortDCB.fDtrControl        = DTR_CONTROL_ENABLE;
      PortDCB.fDsrSensitivity    = FALSE;
      PortDCB.fTXContinueOnXoff  = TRUE;
      PortDCB.fOutX              = FALSE;
      PortDCB.fInX               = FALSE;
      PortDCB.fErrorChar         = FALSE;
      PortDCB.fNull              = FALSE;
      PortDCB.fAbortOnError      = FALSE;
      PortDCB.ByteSize           = 7;
      PortDCB.Parity             = EVENPARITY;
      PortDCB.StopBits           = ONESTOPBIT;
      PortDCB.fRtsControl        = RTS_CONTROL_ENABLE;
      PortDCB.XoffLim            = 2048/5;
      PortDCB.XonLim             = 2048/5;
      SetCommState(hPort,&PortDCB);

      m_CommTimeouts.ReadIntervalTimeout = MAXDWORD;
      m_CommTimeouts.ReadTotalTimeoutMultiplier = 0;
      m_CommTimeouts.ReadTotalTimeoutConstant = 0;
      m_CommTimeouts.WriteTotalTimeoutMultiplier = 0;
      m_CommTimeouts.WriteTotalTimeoutConstant = 3000;
      iPortReturn=SetCommTimeouts(hPort , &m_CommTimeouts);
... kannst mir nicht zufällig sagen, ob meine Delphi Connection da richtig eingestellt ist?

Wal 6. Mär 2012 16:09

AW: CPort: Comport auslesen DOS-> Delphi
 
Delphi-Quellcode:
  ComPort := TComPort.Create(Nil);
  ComPort.OnRxChar := ComPortRxChar;
  ComPort.Port := 'COM1';
  ComPort.BaudRate := br9600;
  ComPort.FlowControl.ControlDTR := dtrEnable;
  ComPort.FlowControl.OutDSRFlow := True;
  ComPort.FlowControl.OutDSRFlow := True;
  ComPort.FlowControl.TxContinueOnXoff := True;
  ComPort.FlowControl.XonXoffOut := False;
  ComPort.FlowControl.XonXoffIn := False;
  ComPort.FlowControl.DSRSensitivity := False;
  ComPort.FlowControl.ControlRTS := rtsEnable;
  ComPort.Parity.Bits := prEven;
  ComPort.DataBits := dbSeven;
  ComPort.StopBits := sbOneStopBit;
  ComPort.Open;

Freiwilderer 7. Mär 2012 08:35

AW: CPort: Comport auslesen DOS-> Delphi
 
Kann heute leider nicht weiter testen :(. Mir ist was anderes dazwischen gekommen. Ich meld mich aber, wie es ausgeht ;)

Freiwilderer 13. Mär 2012 14:53

AW: CPort: Comport auslesen DOS-> Delphi
 
Projekt über COM erstmal auf eis gelegt ...
muss jetzt mal gucken, ob ich eine WLAN oder Bluetooth lösung hinbekomme ... :(

danke für eure Hilfe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:33 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz