Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2010
Avatar de JoysticK
JoysticK JoysticK is offline
Miembro
 
Registrado: abr 2004
Posts: 68
Poder: 21
JoysticK Va por buen camino
Cool Componente TApdComport en Delphi 2010

Estoy investigando algún componente para comunicación serie mediante delphi 2010 por ahora me he descargado el paquete AsyncPro, he instalado los componentes pero ya he recibido el primer error al intentar compilar el programa ejemplo Excom0, para variar con las char y ansi char...

Código:
{**********************Description************************}
{*    TApdComPort with an OnTriggerAvail handler.        *}
{*********************************************************}

unit Excom0;

interface

uses
  WinTypes, WinProcs, SysUtils, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, AdPort, OoMisc;

type
  TForm1 = class(TForm)
    ApdComPort1: TApdComPort;
    Test: TButton;
    Memo1: TMemo;
    procedure TestClick(Sender: TObject);
    procedure ApdComPort1TriggerAvail(CP: TObject; Count: Word);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.TestClick(Sender: TObject);
  {TestClick button click - Send output}
begin
  ApdComPort1.OutPut := 'ATZ'^M;
end;

procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
  {Event OnTriggerAvail - Example how OnTriggerAvail works} 
var
  I : Word;
  C : Char;
  S : String;
begin
  S := '';
  for I := 1 to Count do begin
    C := ApdComPort1.GetChar;
    case C of
      #0..#31 : {Don't display} ;
      else S := S + C;
    end;
  end;
  ShowMessage('Got an OnTriggerAvail event for: ' + S);
  //Memo1.Text := Memo1.Text + S;
end;

end.
El error de compilación me lo marca en la linea:

Código:
    C := ApdComPort1.GetChar;
Con el error
Cita:
[DCC Error] EXCOM0.PAS(77): E2010 Incompatible types: 'Char' and 'AnsiChar'
He probado a cambiar la definicion de la variable C a
Código:
  C : AnsiChar;
El ejemplo compila pero los datos que recibe del puerto serie no tienen ningun sentido cuando en el hiperterminal si recibo texto coerente

Cita:
0fÌƘ†˜Ì3€†àžfžÿÀÌ€Ìfà†øfàæà~3xcü`ffÀøfÌÀžfãæà†~ÀÌxæxÏ€˜fÃü†~Àxf𞘞<`?˜ì˜àœƒf̆ž˜€˜ààÀàÀ˜à˜30ž€fxóð Â~ÀÌxóž€0fáü†~ÀxxÏ€˜žœ`?˜Ìüƒf̆ž˜˜àÀàÀ˜àà˜030`Ï€†fÃæà†~ÀÌxÌóž€0fxÿÃ~ÀxÌxÏ€˜ž<`Ÿ˜æ˜xÏ€f䆞˜˜àÀàÀ˜à˜à ˜030¼
¿ alguna idea ?
__________________
Borland Delphi XE2 // Interbase Server
Responder Con Cita
  #2  
Antiguo 06-11-2010
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Se que es un buen componente, muy completo, pero para lo que yo uso el puerto serie es demasiado. Asi que mejor uso el ComPort Version 4.0 beta modificado y me ha funcionado de "peluches".

La modificacion es muy sencilla:

1. Abres el archivo CPort.pas y buscas el codigo del TComDatPacket y cambias la definicion de String por AnsiString en todos sus metodos y eventos.

2. Edita el DsgnCport14.dpk y reemplaza CPortLib12 por CPortLib14

3. Cuando hagas uso del componente en la Unit donde declaras el ComPort aparece la unit Cport, añade tambien la CPortTypes asi te evitas el molesto mensaje de que "no esta definido el tipo"


Edito: Link descarga TComPort
Ademas estoy obsevando que ya liberaron la V4.0 con soporte hasta XE. Habra que probarlo.


El punto 1 y 2 estan documentados en un mensaje del foro de Help en sourceforge. El punto 3 ese es mio.
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?

Última edición por FGarcia fecha: 06-11-2010 a las 18:48:04. Razón: Link de descarga
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como comparar cada linea de un componente Memo1 con un componente ListBox1 soma25 C++ Builder 1 31-10-2007 10:02:22
Componente de red lucasarts_18 OOP 2 02-08-2005 16:02:20
Componente IRC Silver Internet 1 17-05-2004 22:14:19
Apuntar una propiedad de un componente a otra de otro componente Majo Varios 10 24-03-2004 19:46:39
Componente!! merlin Impresión 1 17-12-2003 12:50:04


La franja horaria es GMT +2. Ahora son las 16:31:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi