Belgian identity card uitlezen

Status
Niet open voor verdere reacties.

Snaak_held

Gebruiker
Lid geworden
25 nov 2005
Berichten
51
Hallo,

ik ben een beetje aan het prutsen in vb om een identiteitskaart uit te lezen. De code daarvoor ben ik ergens tegengekomen op internet en aangezien je het warm water geen 2 keer moet uitvinden zou ik deze graag gebruiken...

Code:
Private Sub btnReadEid_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReadEid.Click

        Dim lHandle As Integer

        'BEID_ Kaart Info
        Dim strCardNumber As String
        Dim strChipNumber As String
        Dim strBegValDag, strBegVal, strBegValMaand As Object
        Dim strBegValJaar As String
        Dim strEndValDag, strEndVal, strEndValMaand As Object
        Dim strEndValJaar As String
        Dim strIssuingMunicipality As String
        'BEID Persoons Info
        Dim strName As String
        Dim strFirstName1 As String
        Dim strBirthPlace As String
        Dim strBirthDate As String
        Dim strGender As String
        Dim strNationality As String
        Dim strNationalNumber As String
        'BEID Adres Info
        Dim strStreet As String
        Dim strZIPCode As String
        Dim strMunicipality As String

        Dim RetStatus As EIDLIBCTRLLib.RetStatus
        Dim MapColPicture As New EIDLIBCTRLLib.MapCollection
        Dim MapColID As New EIDLIBCTRLLib.MapCollection
        Dim MapColAddress As New EIDLIBCTRLLib.MapCollection
        Dim CertifCheck As New EIDLIBCTRLLib.CertifCheck

        'voor de img
        Dim bytes() As Byte
        'Dim ms As System.IO.MemoryStream()


        Try
            RetStatus = EIDlib1.Init("", 0, 0, lHandle)
            If (RetStatus.GetGeneral = 0) Then
                RetStatus = EIDlib1.GetID(MapColID, CertifCheck)
                strChipNumber = MapColID.GetValue("ChipNumber").ToString
                strCardNumber = MapColID.GetValue("CardNumber").ToString
                strBegVal = MapColID.GetValue("BeginValidityDate")
                strEndVal = MapColID.GetValue("EndValidityDate")
                strIssuingMunicipality = MapColID.GetValue("IssuingMunicipality").ToString
                strName = MapColID.GetValue("Name").ToString
                strFirstName1 = MapColID.GetValue("FirstName1").ToString
                strBirthDate = MapColID.GetValue("BirthDate").ToString
                strBirthPlace = MapColID.GetValue("BirthPlace").ToString
                strGender = MapColID.GetValue("Gender").ToString
                strNationality = MapColID.GetValue("Nationality").ToString
                strNationalNumber = MapColID.GetValue("NationalNumber").ToString

                'Opsplitsen begindatum

                strBegValDag = VB.Right(strBegVal.ToString, 2)
                strBegValMaand = Mid(strBegVal.ToString, 5, 2)
                strBegValJaar = VB.Left(strBegVal.ToString, 4)
                'Opsplitsen einddatum

                strEndValDag = VB.Right(strEndVal.ToString, 2)
                strEndValMaand = Mid(strEndVal.ToString, 5, 2)
                strEndValJaar = VB.Left(strEndVal.ToString, 4)


            End If

            RetStatus = EIDlib1.GetAddress(MapColAddress, CertifCheck)

            strStreet = MapColAddress.GetValue("Street").ToString

            strZIPCode = MapColAddress.GetValue("ZIPCode").ToString

            strMunicipality = MapColAddress.GetValue("Municipality").ToString

            lblName.Text = strName
            lblFirstName.Text = strFirstName1
            lblBirthplace.Text = strBirthPlace
            lblBirthDate.Text = strBirthDate
            lblGender.Text = strGender
            lblNat.Text = strNationality
            lblNatNr.Text = strNationalNumber

            lblStreet.Text = strStreet
            lblPostCode.Text = strZIPCode
            lblGemeente.Text = strMunicipality
            lblLand.Text = "België"

            lblChipNr.Text = strChipNumber
            lblCardNr.Text = strCardNumber

            lblBegVal.Text = strBegVal.ToString
            lblEndVal.Text = strEndVal.ToString

            lblUitreikGemeente.Text = strIssuingMunicipality

            RetStatus = EIDlib1.GetPicture(MapColPicture, CertifCheck)

            bytes = DirectCast(MapColPicture.GetValue("Picture"), Byte())

            'ms = DirectCast(bytes, System.IO.MemoryStream)
            Dim ms As New System.IO.MemoryStream(bytes)

            PbFoto.Image = System.Drawing.Image.FromStream(ms)
            deelnemer = New EidData(strCardNumber, strChipNumber, strBegValDag, strBegVal, strBegValMaand, strBegValJaar, strEndValDag, strEndVal, strEndValMaand, strEndValJaar, strIssuingMunicipality, strName, strFirstName1, strBirthPlace, strBirthDate, strGender, strNationality, strNationalNumber, strStreet, strZIPCode, strMunicipality, bytes)

            kaartGelezen = 1

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try


    End Sub

nu moet ik op een of andere manier verwijzen naar een dll om o.a EIDLIBCTRLLib te kunnen gebruiken. Nu onder mijn system32 staat geen enkele eidlibctrllib te zien.
Iets met add reference? en dan verwijzen naar die dll?
I don't know! Iemand hier die kan helpen?

mvg
snaak
 
Laatst bewerkt door een moderator:
In je VBA project moet je bij verwijzingen de "beidlibaxctrl 1.1 Type Library" aanvinken, die zul je pas vinden in je systeem na het installeren van de BEId Middelware software (35Mb) of runtime (13 of 12 Mb) en herstarten van je PC.
Je vindt die stuff op: http://eid.belgium.be/nl/Hoe_installeer_je_de_eID/Windows/man.jsp
Bijgevoegd even een klein werkend voorbeeldje onder MS Access 2007, gewoon de DB in je C:\ zetten. Bij het invoeren van een Belgisch ID kaart druk je op de knop en je foto wordt ook bewaard op de C met je rijksregisternummer als bestandsnaam. Iemand een idee hoe je de 2 voornamen best automatisch kunt opsplitsen in een voornaam en de 2de voornaam? Zijn de veldnamen voor de SiS kaart al vrijgegeven?
 

Bijlagen

Inderdaad, uw links verwijzen naar mijn links maar heb je enig idee omtrent mijn vragen?
 
Laatst bewerkt door een moderator:
@JohanRVT Onnodig quotes verwijderd. Wanneer je direct reageert op een reactie is het niet nodig om dat bericht te quoten. Onnodig quoten heet dat, hetgeen niet gewenst is.
 
Topic maar gesloten. Stamt uit Januari, oude topics mogen met rust gelaten worden. Tevens heeft de vraagsteller geen enkel moeite gedaan om het topic weer onder de aandacht te krijgen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan