begin process at 2012 02 07 06:26:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Périphériques

 > UNE CLASSE POUR LE PORT RS232 OU LPT

UNE CLASSE POUR LE PORT RS232 OU LPT


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Périphériques Classé sous :rs232, lpt, createfile, commtimesout, dcb Niveau :Initié Date de création :08/03/2006 Date de mise à jour :31/03/2006 12:10:44 Vu / téléchargé :13 214 / 2 266

Auteur : medelias

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 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

  • 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 -:)
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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

31 mars 2006 12:10:45 :
mettre l'unité sous forme de zip

 Sources du même auteur

PROCÉDURE DE CALCUL DE L'IRG (IMPÔT SUR LE REVENU GLOBAL) JE...
FONCTION QUI SUPPRIME UN CARACTÈRE DONNÉ DANS UNE CHAINE EN ...
Source avec Zip SIMPLE SOURCE D'UTILISATION DU MS AGENT DE CHEZ MICROSOFT

 Sources de la même categorie

Source avec Zip Source avec une capture EXTRAIRE PÉRIPHÉRIQUE USB ( HOTPLUG ) par yanb
Source avec Zip Source avec une capture LOGICIEL INTERRUPTEUR MONDIAL USB par ced55957
Source avec Zip Source avec une capture RETIRER LES PÉRIPHÉRIQUES USB par yanb
Source avec Zip CHARGER ET ENVOYER DES DONNÉES VIA L'USB par ldesmartin
Source avec Zip Source avec une capture GESTION DU CLAVIER G15 DE LOGITECH par delphitness

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture PHOENIX READER par basssem81
Source avec Zip Source avec une capture PORT SERIE : CONTRÔLER 8 SORTIES AVEC UN HCF4094. par rylryl
Source avec Zip Source avec une capture PORT SERIE: PROGRAMMATEUR DE MÉMOIRES I2C AVEC ÉDITEUR HEXAD... par rylryl
Source avec Zip Source avec une capture PILOTAGE 4 AXES POUR MOTEUR PAS A PAS + 4 SERVOS MOTEURS CC+... par jlen100
Source avec Zip ANALYSEUR DE LIAISON RS232 par Oniria

Commentaires et avis

Commentaire de jlen100 le 10/03/2006 11:10:00

salut,
je n'ai pas encore eu le temps de tester mais avant je pense qu'il serait utile que tu indiques la syntaxe de la variable COMPORT.
je suppose que c'est celle habituelle -->'paramaetres du port' mais ma boule de cristal ne l'indique pas et je pense que beaucoup ne la connaisse pas ou n'auront pas envie de se plonger dans la doc pour la retrouver

@+
jlen

Commentaire de medelias le 12/03/2006 23:28:20

Salut JLEN100,

tu peut éliminer le type COMPORT, car je l'utiliser pour que la fonction OUVRIRCOM ne génère pas des erreurs il y a avait
COMPORT = String[5] (la fonction n'accpte pas comme paramètres le String[5], donc on peut écrire directement
function OuvrirCOM(szCOM: String):Boolean;

A+

Commentaire de carlos le 04/06/2007 15:41:34

Salut je suis nouveau dans la confrérie,,,
Comment on fait pour appeler les fonctions dans une autre unité??

Que faut il déclaré dans l'autre unité pour se servir des foucctions de cette classe??

Je suis un novice...

Commentaire de carlos le 04/06/2007 15:42:11

oups j'oubliai

MERCI @ PLUS

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Capture de port LPT [ par Amadeus ] Quelqu'un connait-il un logiciel permettant de capturer les données envoyé vers une imprimante.Ou des composant delphi qui le permette Capture PORT RS232 [ par LaurentGrob ] Je cherche un soft ou mieux une source permettant d'éffectuer la capture des données arrivant sur un port RS-232 et qui les mettent dans un fichierJe lire du port RS232 [ par djta ] mercicomment en peut faire pour lire du port serie et envoyer directement les données vert une imprumante qui imprime en continu info sur port lpt: esque je peu appliquer une tention 5v sur l'un des pins du port // [ par damomospike ] salut a tous,Je suis entrain de réaliser un projet ki utilise le port paralllelejai tout ski me faut, je sais lire et écrir sur le port ms jai quand m RS232 et Générateurs dialyse ou autre Machine [ par lefantoche ] Je cherche en vain les protocoles à utiliser ou les commandes à passer pour récupérer des infos de différents types de machines : électrocardiogrammes Port Lpt sous delphi et winnt ?? [ par fredy24 ] Bonjours, je voudrais controler l'état d'une imprimante sous une application delphi avec winnt. j'ai installé la dll inpout32 avec son application, ok lire une valeur codée sur deux octets sur RS232 [ par aymen81 ] comment lire  une valeur codée sur 2 octets et qui commence par une lettre sur le port serie en delphi . par  exp T4150 envoyée pa Ecrire sur Port LPT - en VBA Excel [ par raftanelle ]  raftanelleBonjour. Un peu d'aide ne me faira pas de mal.Comme beaucouq je suis perdu.Sur Excel, il me faudrait une Macro pour activer les entr&# rs232 probleme de communication avec lecteur de code à barre [ par informatixo ] Je viens de regarder tous les messages se rattachant à mon problème avec la recherche sur se site mais rien n'y fais. J'utilise delphi 7 av TComPort erreur "winerror code 2" - Communication RS232 [ par djipe ] Mon objectif n'est pas de polluer ce forum, mais plutot d'essayer de résodre un pb par topic. A mon avis, ça sera bénéfique pour les autres forumeurs.


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,669 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales