Hola a todos
Estoy usando un componente llamado 5dpo qe descargue desde aqui:
[//sourceforge.net/projects/sdpo-cl/files/
Estos componentes que vienen de los synaser, sirven para comunicacion por el puerto serial y otros.
Lo que estoy haciendo es recibiendo informacion de un puerto serial y cuando la recibo la envio a un memo.
El problema es que me aparece uno a uno los caracteres y no todos en el orden correcto, Ejemplo:
si llega la palabra HOLA en el memo aparece asi:
h
o
l
a
El codigo que estoy usando es este:
Código Delphi
[-] unit Ufrmserial;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, SdpoSerial;
type
TForm1 = class(TForm)
comusb: TSdpoSerial;
Memo1: TMemo;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure comusbRxData(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
comusb.Open;
end;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
comusb.Close;
end;
procedure TForm1.comusbRxData(Sender: TObject);
var
g:string;
todo:string;
begin
g:=StringReplace(comusb.ReadData,#13,'',[rfReplaceAll]);
if g <>'' then
begin
todo:=todo+g;
end;
Memo1.Lines.add(todo);
end;
initialization
{$I ufrmserial.lrs}
end.
se que el problema es que no estoy acumulando la informacion en la variable, pero no se como hacerlo.