Page 1 sur 1

Lecture carte identité (Belge)

Publié : mar. 10/nov./2015 9:51
par microdevweb
Bonjour à tous,

Et bien voila je doit lire les données d'un carte d'identité Belge (normalement en Windev)
Nom
Prenom
Adresse
N° National
Photo

Si quelqu'un a déjà fait ce genre de chose merci.

Re: Lecture carte identité (Belge)

Publié : mar. 10/nov./2015 13:39
par Kwai chang caine
Je crois que opencv embarque un ocr, il y a peut être quelque chose à creuser de ce côté là :wink:
http://www.purebasic.fr/english/viewtop ... 02#p431302

Re: Lecture carte identité (Belge)

Publié : mar. 10/nov./2015 15:37
par microdevweb
Bonjour Kwai chang caine,

J'ai trouvé une dll je teste

Re: Lecture carte identité (Belge)

Publié : mar. 10/nov./2015 15:46
par falsam
@Kwai chang caine: Microdev cherche à lire des informations stockées sur une CNI Belge. Pour Cela il va plutot utiliser swelio une dll dédié à ce type de carte
http://delphi32.blogspot.fr/2013/12/int ... y-for.html

Re: Lecture carte identité (Belge)

Publié : mar. 10/nov./2015 17:42
par Kwai chang caine
Ah!!! je croyais qu'il voulait la lire "visuellement" :oops:
C'est une histoire de lecture de puce comme nos permis de conduire, un truc comme ça ?

Re: Lecture carte identité (Belge)

Publié : mar. 10/nov./2015 21:21
par microdevweb
Bon voila tout fonctionne (en windev)... Pour Pb la je sais pas encore comment faire, mais de toute façon je devais le faire en Windev donc youpiiiiiiii

Re: Lecture carte identité (Belge)

Publié : mar. 10/nov./2015 22:36
par falsam
Content que ton souci soit réglé Microdev et merde pour ton rdv :)

Re: Lecture carte identité (Belge)

Publié : mer. 11/nov./2015 8:10
par microdevweb
Bon j'ai essayer de faire la même chose en Pb, et la tout fonctionne sauf l'image

La dll il faut prendre swelio https://onedrive.live.com/?id=B4508367F ... ion=locate

Voici le code

Code : Tout sélectionner

Global gDllName$="Swelio32.dll"
If OpenLibrary(0,gDllName$)=0
      MessageRequester("Erreur Dll","Canot open "+gDllName$)
      End
EndIf
If Not CallFunction(0,"StartEngine")
      MessageRequester("Erreur Dll","Canot run engine "+gDllName$)
      End
EndIf
If Not CallFunction(0,"IsCardPresentEx",0)
      MessageRequester("Erreur carte","Aucune carte d'indentité n'a été identifiée"+gDllName$)
      End
EndIf
Structure Identity
      CardNumber.s{13}
      ChipNumber.s{33}
      BeginValidity.s{11}
      EndNalidity.s{11}
      Contry.s{81}
      NationalNumber.s{12}
      Name.s{111}
      FirstNameOne.s{96}
      FistNameTwice.s{4}
      Nationality.s{86}
      BirthLocation.s{81}
      BirthDate.s{13}
      Sex.s{2}
      NobleCondition.s{51}
      DocumentType.i
      WhiteCane.b
      YellowCane.b
      ExtendMinority.b
EndStructure
Structure Adress
       Street.s{81}
       zipCode.s{5}
       contry.s{68}
 EndStructure
 Structure Picture
       Picture.s{4097}
       LenPicture.q
 EndStructure
 Global myIdentity.Identity,myAdress.Adress,myPicture.Picture
 ;Global *myPicture
If Not CallCFunction(0,"StartEngine")
      MessageRequester("Erreur lecture carte","Impossible de démaré la Dll")
      End
EndIf
If Not CallCFunction(0,"IsCardPresent",0)
      MessageRequester("Erreur lecture carte","Aucune carte n'a été détéctée")
      End
EndIf
If Not CallFunction(0,"ReadIdentityA",@myIdentity)
      MessageRequester("Erreur lecture carte","Impossible de lire l'identité")
      End
EndIf
If Not CallFunction(0,"ReadAddressA",@myAdress)
      MessageRequester("Erreur lecture carte","Impossible de lire l'adresse")
      End
EndIf
If Not CallFunction(0,"ReadPhotoEx",0,@myPicture)
      MessageRequester("Erreur lecture carte","Impossible de lire la photo")
      End
EndIf
CallFunction(0,"StopEngine")
CloseLibrary(0)
Debug myPicture\LenPicture ; Renvoie 51539607552
Debug myPicture\Picture ; Renvoie ÿØÿà
Flag=#PB_Window_SystemMenu|#PB_Window_ScreenCentered
LoadFont(0,"Arial",12,#PB_Font_HighQuality)
Debug  CatchImage(0,@myPicture\Picture)

OpenWindow(0,0,0,800,600,"Lecture carte d'indentité",Flag)
M=10
W=(WindowWidth(0)-(M*3))/4
H=30
X=M
Y=M
TextGadget(0,X,Y,W,H,"Nom :")
X+W
StringGadget(1,X,Y,W,H,myIdentity\Name,#PB_String_ReadOnly)
X+W+M
TextGadget(2,X,Y,W,H,"Prénom :")
X+W
StringGadget(3,X,Y,W,H,myIdentity\FirstNameOne,#PB_String_ReadOnly)
X=M
Y+H+M
TextGadget(4,X,Y,W,H,"Numéro national :")
X+W
StringGadget(5,X,Y,W,H,myIdentity\NationalNumber,#PB_String_ReadOnly)
X+W+M
TextGadget(6,X,Y,W,H,"Date de naissance :")
X+W
Date$=Right(myIdentity\BirthDate,2)+"/"+Mid(myIdentity\BirthDate,5,2)+"/"+Left(myIdentity\BirthDate,4)
StringGadget(7,X,Y,W,H,Date$,#PB_String_ReadOnly)
Wl=(WindowWidth(0)-(M*2))-W
X=M
Y+H+M
TextGadget(8,X,Y,W,H,"Adresse :")
X+W
StringGadget(9,X,Y,Wl,H,myAdress\Street,#PB_String_ReadOnly)
X=M
Y+H+M
TextGadget(10,X,Y,W,H,"Code postal :")
X+W
StringGadget(11,X,Y,W,H,myAdress\zipCode,#PB_String_ReadOnly)
X+W+M
TextGadget(12,X,Y,W,H,"Localité :")
X+W
StringGadget(13,X,Y,W,H,myAdress\contry,#PB_String_ReadOnly)
Y+H+M
; ImageGadget(14,X,Y,256,256,ImageID(*myPicture))
For N=0 To 13
      SetGadgetFont(N,FontID(0))
Next
Repeat
      Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow