Page 1 of 3
CardReader
Posted: Thu Nov 29, 2012 1:31 pm
by serge_girard
Hello again,
Anybody any idea how to read the contence of a (Belgian) ID-card from a cardreader.
(eID-viewer --> beid35gui.exe).
I need to capture name, address and ID.
Thx in advance for showing the way !
Serge
Re: CardReader
Posted: Thu Nov 29, 2012 2:20 pm
by danielmaximiliano
Hola Serge :
aqui le encontre la solución, tiene todo lo necesario para trabajar con EID Library.
Hi Serge:
I found the solution here, has everything you need to work with EID Library.

- bill.jpg (91.85 KiB) Viewed 10680 times
http://sourceforge.net/projects/eidnative/?source=dlp
if you need other help just tell
desde/ From Buenos Aires Argentina.
Re: CardReader
Posted: Thu Nov 29, 2012 2:26 pm
by serge_girard
Hello,
danielmaximiliano thx, I will take a look tonite!
S
Re: CardReader
Posted: Thu Nov 29, 2012 3:19 pm
by danielmaximiliano
serge_girard wrote:Hello,
danielmaximiliano thx, I will take a look tonite!
S
Install Library EID. Use CallDll32

- lib.jpg (95.35 KiB) Viewed 10667 times
Re: CardReader
Posted: Fri Nov 30, 2012 10:03 am
by serge_girard
Daniel,
I installed EID lib.
How do I tell HMG Ide to use EIDReader.lib?
Then I do something like: CallDll32("InitReader", "EIDReader.dll", parameters...) ?
Thanks for helping!
Serge
Re: CardReader
Posted: Fri Nov 30, 2012 12:07 pm
by danielmaximiliano
serge_girard wrote:Daniel,
I installed EID lib.
How do I tell HMG Ide to use EIDReader.lib?
Then I do something like: CallDll32("InitReader", "EIDReader.dll", parameters...) ?
Thanks for helping!
Serge
Hi Serge:
in C:\Program Files (x86)\EIDNative Library\Documentation
Several aid
.CHM containing various functions , can make calls as indicated CallDll32 mendiante you or treat it as COM object (ActiveX), I have a device; such as that used to help better.
Read
C:\Program Files (x86)\EIDNative Library\EID VB6\EIDNative.bas to better interpret the functions
Re: CardReader
Posted: Fri Nov 30, 2012 2:10 pm
by serge_girard
Daniel,
This is all new to me and to tell the truth: I don't quite well understand it.
The EIdReader.DLL is in the windows directory.
What about EIDReader.LIB ??
When I do:
par = 0
A = CallDll32("InitReader", "EIDReader.dll", par)
A will get the value 257
Can you give a small example on how some of the function are to be called?
Thx !
Serge
Re: CardReader
Posted: Fri Nov 30, 2012 6:25 pm
by danielmaximiliano
serge_girard wrote:Daniel,
This is all new to me and to tell the truth: I don't quite well understand it.
The EIdReader.DLL is in the windows directory.
What about EIDReader.LIB ??
When I do:
par = 0
A = CallDll32("InitReader", "EIDReader.dll", par)
A will get the value 257
Can you give a small example on how some of the function are to be called?
Thx !
Serge
Hello Serge :
before initializing the first
eID reader would bring a
list of names connected readers.
after that connect the reader who would like to use.
try using the
eID readers name, the same can be uploaded to the
control COMBO and thus select from there.
so I have no idea if you use
handler a third parameter as the library
eID
Code: Select all
#include 'hmg.ch'
Function Main
Local aNames := {}
Local cSelectName := ''
Local cFunction := ''
aNames := CallDll32('GetReadersList', 'EIDReader.dll' )
If Len( aNames ) = 0
MsgInfo( ' Not CardReader Installed ' , ' Message Information ' )
Exit
Endif
cSelectName := aNames [ 1 ]
cFunction := 'SelectReaderByName( ' + cSelectName + ' ) '
CallDll32( cFunction , 'EIDReader.dll' )
/*** Init ***/
CallDll32( 'InitReaderEx' , 'EIDReader.dll' )
/*** or Init ***/
CallDll32( 'InitReader' , 'EIDReader.dll' )
/* You code here. */
Return Nil
might have to make some modifications to the code, as I said before I have not a reader like to help you better.
Re: CardReader
Posted: Fri Nov 30, 2012 6:38 pm
by serge_girard
Thx Daniel,
I'm sure this will help a lot.
When it's functioning I will suggest it to the SAMPLES !
Bye,
Serge
Re: CardReader
Posted: Sun Dec 02, 2012 1:36 pm
by serge_girard
Hi Daniel,
I'm on my way but a few things are stille strange to me.
I can retrieve the name of the card-reader, check if a card is inserted and check if correct-card is inserted.
But when it comes to retrieving card-data: nothing.
I think the problem is the parameters:
Declare Function ReadAddress Lib "EIDReader.dll" (ByRef pData As EIDAddress) As Boolean
Type EIDAddress
street As String * EID_MAX_STREET_LEN
zip As String * EID_MAX_ZIP_LEN
municipality As String * EID_MAX_MUNICIPALITY_LEN
End Type
// EID address information, stored on the card
EID_Address =
record
// Street name
street : array[0..EID_MAX_STREET_LEN] of AnsiChar;
// ZIP code
zip : array[0..EID_MAX_ZIP_LEN] of AnsiChar;
// Municipality
municipality : array[0..EID_MAX_MUNICIPALITY_LEN] of AnsiChar;
end;
Now I do: (which is working fine)
var = CallDll32( 'IsEIDCard' , 'EIDReader.dll' ) // this work OK
IF var == -1
msginfo('IsEIDCard' , 'OK')
ELSE
msginfo('NO IsEIDCard' , 'NOK')
ENDIF
num_readers = CallDll32( 'GetReadersCount' , 'EIDReader.dll' ) // this work OK
msginfo(str(num_readers,3,0) + ' CountReaders' , 'OK')
But for ADDRESS I trief similar manners but none works.
Any idea how to construct the parameterslist?
Greetings from Belgium,
Serge