Une classe pour le port rs232 ou lpt

Description

C'est une classe pour la connexion, le contrôle, la lecture et l'écriture dans un port soit COM ou LPT en utilisant le système de création d'un fichier buffer (CreateFile)

Source / Exemple :


unit LiaisonRS232;

interface

uses windows, SysUtils, Dialogs;

const TAILLE_RX = 4096;    // taille tampon d''entrée
      TAILLE_TX = 4096;     // taille tampon de sortie
      MAX_WAIT_READ = 5000; // temps max d''attente pour lecture (en ms)
      
type  //PCOMPORT = ^COMPORT;
      COMPORT = String;
     _LiaisonRS232 = class
     constructor Create;
     destructor Destroy;override;
  private
     g_hCOM : Hwnd;
     g_cto: COMMTimeOuts;
     g_dcb : Dcb;
  public

     function OuvrirCOM(szCOM: COMPORT):Boolean;
     function LireCOM(Buffer: Pointer; nOctetsALire :Integer;var lpNumberOfBytesRead: Cardinal):Boolean;
     function EcrireCOM(Buffer: Pointer; nOctetsAEcrire: Integer;var lpNumberOfBytesWritten: Cardinal):Boolean;
     function CloseCOM:Boolean;
   end;

var nId : Integer;
    nOctetsEcris: Integer;
    nOctetsLus: Integer;

implementation

constructor _LiaisonRS232.Create;
begin
	//configuration du temps d''attente
	g_cto.ReadIntervalTimeout := MAX_WAIT_READ;
	g_cto.ReadTotalTimeoutMultiplier := 0;
	g_cto.ReadTotalTimeoutConstant := MAX_WAIT_READ;
	g_cto.WriteTotalTimeoutMultiplier := 0;
	g_cto.WriteTotalTimeoutConstant := 0;

	....... Le reste est dans le zip -:)

Conclusion :


vous n'avez qu'à placer l'unité LiaisonRS232 dans votre uses et en déclarant une variable de type _LiaisonRS232.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.