Autor Tema: Comenzando con Delphi  (Leído 19666 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *****
  • Mensajes: 5544
    • Picmania by Redraven
Re: Comenzando con Delphi
« Respuesta #30 en: 13 de Febrero de 2008, 16:09:15 »
Vas como un tren-bala.  :D :D :D

P.D. Nunca he usado el TApdDataPacket pero sospecho que me va a quitar cierta problemática que tengo al recibir los strings a "trozos" en el TApdComport en el OnPortTriggerAvail y tener que componerlo antes de darlo por bueno. Tendré que investigarlo.  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado huichoman

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 186
    • Pequeñas piezas para grandes proyectos.
Re:Comenzando con Delphi <TApdDataPacket Vs OnPortTriggerAvail>
« Respuesta #31 en: 13 de Febrero de 2008, 19:56:38 »
Vas como un tren-bala.  :D :D :D

P.D. Nunca he usado el TApdDataPacket pero sospecho que me va a quitar cierta problemática que tengo al recibir los strings a "trozos" en el TApdComport en el OnPortTriggerAvail y tener que componerlo antes de darlo por bueno. Tendré que investigarlo.  :mrgreen:

Hola Redpic, gracias por el comentario. El TApdDataPacket es una maravilla, si te fijas en el primer video, tengo problemas porque recibe por trozos, en ocasiones debo clickar doble vez, en esa parte utilizaba el OnportTrigger Avail, investigué y dí con la TApdDataPacket, solo pones el caracter de inicio y el de final en mi caso puse el caracter #2 STX para inicio y el #3 ETX para fin de trama, el packete te guarda lo que este entre ellos con la opción de incluir dichos caracteres de inicio y fin en la cadena o no incluirlos, también puedes poner el número de caracteres.  En el segundo video quité el Ontriggeravail y utilicé la Datapacket, y va como la seda.

Una captura para congifurar el TApdDataPacket: (Utilizo el evento OnStringPacket)



Y el código fuente del progama:

Código: [Seleccionar]
unit rs485_1;
interface
uses
  WinTypes, WinProcs, SysUtils, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, AdPort, OoMisc, WinSkinData, WinSkinStore,
  ExtCtrls, Grids, AdPacket;

type
  TForm1 = class(TForm)
    ApdComPort1: TApdComPort;
    SkinData1: TSkinData;
    SkinStore1: TSkinStore;
    enviar: TButton;
    comandos: TRadioGroup;
    ApdDataPacket1: TApdDataPacket;
    Memo1: TMemo;

    procedure FormCreate(Sender: TObject);
    procedure enviarClick(Sender: TObject);
    procedure ApdDataPacket1StringPacket(Sender: TObject; Data: String);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  STX,ETX:Char;
implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Skindata1.LoadFromCollection(skinstore1,0);
  STX:=#2;
  ETX:=#3;
end;

procedure TForm1.enviarClick(Sender: TObject);
  var comando:char;

  begin
  Case comandos.ItemIndex of
   0:comando:='/';
   1:comando:='%';
   2:comando:='#';
   3:comando:='=';
   4:comando:='$';
   end;

ApdComPort1.OutPut :=STX+'1234'+comando+ETX;
end;

procedure TForm1.ApdDataPacket1StringPacket(Sender: TObject; Data: String);
begin
  Caption:=data;
  memo1.Lines.Add(data);
end;

end.


Una pequeña retribución de lo que he aprendido del maestro.

Saludos.

Ganbatte kudasai.

« Última modificación: 13 de Febrero de 2008, 20:01:50 por huichoman »

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *****
  • Mensajes: 5544
    • Picmania by Redraven
Re: Comenzando con Delphi
« Respuesta #32 en: 14 de Febrero de 2008, 03:12:04 »
Adopto al TApdDataPacket como César hizo con Bruto, como hijo propio. Muchas gracias Huicho-man.  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado huichoman

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 186
    • Pequeñas piezas para grandes proyectos.
Re: Comenzando con Delphi
« Respuesta #33 en: 14 de Febrero de 2008, 03:21:34 »
Adopto al TApdDataPacket como César hizo con Bruto, como hijo propio. Muchas gracias Huicho-man.  :mrgreen:

Al contrario, muchas gracias a tí.

Ganbatte kudasai.


 

anything