Einzelnen Beitrag anzeigen

Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Datenübertragung über TMSComm / String Double

  Alt 25. Mai 2008, 23:47
Hallo,

habe jetzt die Möglichkeit gefunden, um einen String mit variabler Länge über die TMSComm zu übertragen und den String anschließend wieder zu separieren.
Das Demo – Prg. ist ohne jegliche Fehlermeldungen.

Delphi-Quellcode:
unit ufrmHauptLesen;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, MSCommLib_TLB;

type
  TForm1 = class(TForm)
    MSComm1: TMSComm;
    Edit1: TEdit;
    Button1: TButton;
    Memo1: TMemo;
    procedure MSComm1Comm(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

  empangen: string;
  Ausgabe: String;
  aChar: Char;

implementation

{$R *.dfm}

procedure TForm1.MSComm1Comm(Sender: TObject);
begin
  if MSComm1.CommEvent = comEvreceive then
  begin
    empangen:= MSComm1.Input;
    empangen:= String(empangen);
    aChar:= empangen[1];
    if aChar=Chr ($03) then
    begin
      Memo1.Lines.Add(Ausgabe);
      Ausgabe:= '';
    end;
    if ((aChar <> chr($02)) and (achar <> chr ($03))) then
    begin
      Ausgabe:= Ausgabe+aChar;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  MSComm1.PortOpen:= True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Clear;
end;

end.
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat