begin process at 2010 02 10 05:11:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Périphériques

 > RECHERCHE AUTOMATIQUE D'UN PORT SERIE

RECHERCHE AUTOMATIQUE D'UN PORT SERIE


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Périphériques Classé sous :port, extrapolation, enumports, tcomport, serie Niveau :Débutant Date de création :03/10/2005 Date de mise à jour :04/10/2005 09:33:44 Vu :9 112

Auteur : jlen100

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

 Description

cette petite fonction retourne le numero du port serie  en connaisant le nom. C'est l'extrapolation de la fonction EnumPorts du composant Tcomport.

Source

  • function NumeroPort(nomport:string):string;
  • var
  • KeyHandle: HKEY;
  • ErrCode, Index: Integer;
  • ValueName, Data: string;
  • ValueLen, DataLen, ValueType: DWORD;
  • begin
  • ErrCode := RegOpenKeyEx(
  • HKEY_LOCAL_MACHINE,
  • 'HARDWARE\DEVICEMAP\SERIALCOMM',
  • 0,
  • KEY_READ,
  • KeyHandle);
  • if ErrCode <> ERROR_SUCCESS then
  • raise Exception.Create('erreur d''ouverture');
  • Index := 0;
  • repeat
  • ValueLen := 256;
  • DataLen := 256;
  • SetLength(ValueName, ValueLen);
  • SetLength(Data, DataLen);
  • ErrCode := RegEnumValue(
  • KeyHandle,
  • Index,
  • PChar(ValueName),
  • {$IFDEF DELPHI_4_OR_HIGHER}
  • Cardinal(ValueLen),
  • {$ELSE}
  • ValueLen,
  • {$ENDIF}
  • nil,
  • @ValueType,
  • PByte(PChar(Data)),
  • @DataLen);
  • if ErrCode = ERROR_SUCCESS then
  • begin
  • SetLength(Data, DataLen);
  • if pos(nomport,valuename)<>0 then result:=data;
  • Inc(Index);
  • end
  • else
  • until (ErrCode <> ERROR_SUCCESS) ;
  • RegCloseKey(KeyHandle);
  • end;
function NumeroPort(nomport:string):string;
var
  KeyHandle: HKEY;
  ErrCode, Index: Integer;
  ValueName, Data: string;
  ValueLen, DataLen, ValueType: DWORD;
begin
  ErrCode := RegOpenKeyEx(
    HKEY_LOCAL_MACHINE,
    'HARDWARE\DEVICEMAP\SERIALCOMM',
    0,
    KEY_READ,
    KeyHandle);

  if ErrCode <> ERROR_SUCCESS then
    raise Exception.Create('erreur d''ouverture');

    Index := 0;
    repeat
      ValueLen := 256;
      DataLen := 256;
      SetLength(ValueName, ValueLen);
      SetLength(Data, DataLen);
      ErrCode := RegEnumValue(
        KeyHandle,
        Index,
        PChar(ValueName),
{$IFDEF DELPHI_4_OR_HIGHER}
        Cardinal(ValueLen),
{$ELSE}
        ValueLen,
{$ENDIF}
        nil,
        @ValueType,
        PByte(PChar(Data)),
        @DataLen);

      if ErrCode = ERROR_SUCCESS then
      begin
        SetLength(Data, DataLen);
      if pos(nomport,valuename)<>0 then result:=data;
        Inc(Index);
      end
      else
    until (ErrCode <> ERROR_SUCCESS) ;
    RegCloseKey(KeyHandle);
end;

 Conclusion

cette source fait suite à une question posée sur le forum
pour obetnir la liste des descriptions des ports:
sur une forme mettre une listbox
en ligne 40 rajouter:
form1.ListBox1.Items.Add(valuename);// donne la liste des descriptions
et
procedure TForm1.FormCreate(Sender: TObject);
begin
NumeroPort('');
end;
lancer le programme et la listbox vous donne la totalité des ports serie installés


 Historique

04 octobre 2005 09:33:44 :
modification de la gestion des exceptions (ligne 16)

 Sources du même auteur

Source avec Zip Source avec une capture WEBCAM+ MICROSERVEUR HTTP = WEBCAM IP (INDY 9 ET INDY 10)
Source avec Zip Source avec une capture VIDEOSURVEILLANCE A 4 CAMERAS +ENVOI EMAIL+APPEL TELEPHONIQU...
Source avec Zip Source avec une capture PILOTAGE 4 AXES POUR MOTEUR PAS A PAS + 4 SERVOS MOTEURS CC+...

 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 USB : 8 ENTREES / 16 SORTIES AVEC UN PIC18F4550 (HID). par rylryl
Source avec Zip Source avec une capture PORT SERIE : CONTRÔLER 8 SORTIES AVEC UN HCF4094. par rylryl
Source avec Zip PORT PARALLÈLE : CONTRÔLEZ MEDIAPLAYER AVEC UNE TÉLÉCOMMANDE... par rylryl
Source avec Zip PORT-SCAN par Acoders

Commentaires et avis

Commentaire de yvessimon le 04/10/2005 08:58:42

Bonjour,
A la compilation mon DELPHI 7 ne reconnait pas
le composant :  EComPort
et le paramètre : CError_RegError


ou les triuver ?

Salutations
YvesSimon

Commentaire de jlen100 le 04/10/2005 09:16:22

oui  excuse-moi Ecomport et  CError_RegError font partie du composant Tcomport. J'ai oublié de modifier cette ligne du code il faut la remplacer par:
raise Exception.Create('Erreur d''ouverture');

Commentaire de tobi le ouf le 30/11/2005 15:35:39

Bonjour je suis nouveau sur le site, et je trouve pas un programme qui me permet d'analyser les bits entrant dans le com1. Si quelqu'un peut m'aider!
Merci

Commentaire de jlen100 le 30/11/2005 15:53:03

salut,
tu aurais du poser ta question sur le forum
mais enfin je te répondre:
soit tu installes TCOMPORT et tu lis le trafic entrant soit va voir dans les sources je crois qu'il existe une source "ANALYSEUR DE LIAISON RS232" à l'adresse: http://www.delphifr.com/code.aspx?id=31037
@+
jlen

Commentaire de paradoxham le 20/12/2005 09:45:02

slt
mais est ce qu on peux  ajouter la composnate Tcomport a delphi7 pour que ce programme fonctionne si oui comment

Commentaire de jlen100 le 20/12/2005 09:55:06

ce programme n'a pas besoin de Tcomport

Commentaire de ramzi83 le 25/04/2009 23:28:30

salut...
j'ai une question qui n est pas dans le sujet de forum mais qu'a un liaison avec le RS232:
pourquoi on doit toujours utiliser le max232 avec le RS232 dans les cartes à base de PIC.
s'il vous plais répondez moi sur mon e-mail directement
ramzi.bk@hotmail.com
merci.........

Commentaire de ramzi83 le 26/04/2009 02:35:05

salut
je suis Ramzi de Tunisie, j'ai projet de fin d'étude, qui consiste à réaliser une carte à base de PIC 16f77 pour commander une table de montage ( commander 32 diodes ) cette carte communique avec le PC par le RS232 . je dois réaliser le programme par l'assembleur.
alors je si vous pouvez m'aider en m'indiquant les commandes que je dois les utiliser par l'assembleur pour envoyer les donner par le RS232 vers la carte, voici mon email en plus
ramzi.bk@hotmail.com
merci .....

Commentaire de jlen100 le 26/04/2009 08:58:04

salut
le Max232 ou ses équivalents servent à adapter les niveaux de tension entre le micro contrôleur et le PC.
en effet le  micro contrôleur délivre une tension de 5V alors que la liaison série du PC attend un niveau de +/-12V (Niveau standard de la RS232)
Pour ta seconde question je ne travaille pas en assembleur sur PIC je ne peux donc pas te répondre à ce sujet.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

port serie sous XP [ par mcanneson ] Je souhaite faire commniquer 2 PC via les ports serie.le probleme est que XP ne m'autorise pas a acceder aux registres de mon port COM.Est-ce que quel Port serie [ par michelroc ] Je cherche du code DELPHI pour utiliser le port serie afin echanger des données entre 2 PC. Un avec Windows XP et un autre PC avec windows 3.11 Par ex programmation port serie help ! [ par james ] Bonjours a tous !Je cherche une procedure en assembleur(j'y connait rien) et a incorporer dans un prog delphi , pour pour intercepter les signaux envo acces au port serie ? [ par james ] Bonjours a tous !Je cherche une procedure en assembleur(j'y connait rien) et a incorporer dans un prog delphi , pour pour intercepter les signaux envo port serie [ par the ripper ] Bonjourvoila mon probleme, j'utilise le port serie pour un programme de commande (utilisation d'un robot relier au port serie) et pour cela j'utilise port serie sur delphi 6 [ par silla ] bonjour apres avoir telecharger la librerie RSCOMdec dans ce site , j'ai suivi les instructions&nbsp;donn&#233;es en copiant cette librerie dans le re Ouverture Port Serie Blutooth sous Delphi [ par fredz0 ] Bonjour a tous,je vous ouvrir un port serie COM14, mais il est creer par une cl&#233; USB Bluetoothla procedure Fhandle=CreateFile(PCHAR("COM14"),.... [TcomPort] Identifier les materiels connectés (infos) [ par nitrique ] Bonjour, J'aimerais avoir des informations sur le materiel connect&#233; au port COM n de mani&#232;re &#224; l'identifier. Pour &#234;tre clair: Mon Port serie N°6 dans Delphi 4 [ par froggy666 ] Bonjour, voila j'ai un gros probl&#232;me, j'ai achet&#233; un convertisseur rs232/USB pour pouvoir utiliser un lecteur de carte a puce, jusque la auc Port // Serie USB [ par michelroc ] BonjourAujourd'hui il y a de plus en plus d' imprimantes avec un port USB. cela pose un probleme avec les&nbsp;PC dit 'ancien' avec des applis qui fon


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,749 sec (3)

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