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.
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.