Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Citac licnih karti celikapi.h

[es] :: C/C++ programiranje :: Citac licnih karti celikapi.h

Strane: < .. 1 2 3 4 5

[ Pregleda: 40639 | Odgovora: 80 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.pstech.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h09.09.2010. u 10:06 - pre 165 meseci
Hvala vam svima na pomoći. Sada radi kako treba.

Pozdrav!
"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.pstech.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h24.09.2010. u 16:57 - pre 165 meseci
Opet ja :)

Imam jedan C++ program koji sam napisao koji radi sledeće. Dok se ne ubaci LK ne radi ništa (čeka u while petlji) a kad se ubaci otvori se browser (što i nije bitno, recimo da hoću da mi na konzoli ispiše "LK in"), kad se LK izvadi ništa se ne dešava (ili neka se ispiše "LK out"), kad se LK ponovo stavi ponovo da mi ispiše "LK in", odnosno meni treba da otvori browser ka nekom mom PHP skriptu gde ja prosleđujem ime, prezime itd itd.

Problem koji imam je da mi funkcije _EidReadFixedPersonalData() i _EidReadVariablePersonalData() vraćaju vrednost koja nije EID_OK odnosno nije 0 iako je LK u čitaču, vrednosti koje dobijam su ili 0 ili -7 ali nikako da dobijem sve nule za obe funkcije kada je LK unutra

Inače primetio sam da kada je LK u čitaču ja za vrednost funkcije _EidReadFixedPersonalData() dobijam naizmenično vrednosti 0 i -7 (a LK je u čitaču) a kad izvadim LK onda je uvek -7 kao što i treba da bude. Da situacija bude još čudnije ponekad mi funkcija _EidReadFixedPersonalData() vrati nekoliko nula pa -7 pa nekoliko nula pa -7 i onda počne ponovo naizmenično 0 i -7

Code:

....
int cc = 0;
while(1) {
    temp = -1;
    cout << "_EidStartup: " << _EidStartup(1) << endl;
    cout << "_EidBeginRead: " << _EidBeginRead("") << endl;

    while(temp !=0){
        temp = _EidReadFixedPersonalData(mojdata);
        // Ovo ispod nije bitno ali mi vardata treba za moj program
        _EidReadVariablePersonalData(vardata); 
        if (cc!=0)
           cout << "Temp je: " << temp << endl;    
    }
    
    // Za potrebe testiranja, da vidim povratnu vrednost
    int i =0;
    while(i<200) {
     cout << _EidReadFixedPersonalData(mojdata) << endl;
     i++;
    }
        
    cout << "LK in" << endl;
    // Ovde se u 99% slucajeva vrti dok je kartica u citacu
    while((_EidReadFixedPersonalData(mojdata)==-7) && (_EidReadFixedPersonalData(mojdata)==0)){}
    
    cout << "LK out" << endl;
    _EidEndRead();
    _EidCleanup();
    cc++;
}

    system("PAUSE");
    return 0;
    FreeLibrary(hinetDLL);
}



Ne znam da li je problem to što jako često pozivam ove funkcije (čekanje u while petlji), možda se to radi na neki drugi način koji ja ne znam pa bi mi značila pomoć.

Znači moje pitanje je, kako da na najlakši i najbolji način na svaku promenu lične karte u čitaču ja odradim neku akciju (u mom slučaju otvaram browser sa prosleđenim informacijama sa LK i čekam da se trenutna LK izvadi i stavi nova kada radim ponovo isto), a kad lične karte nema u čitaču samo se čeka?


"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Citac licnih karti celikapi.h24.09.2010. u 18:01 - pre 165 meseci
Koristi PC/SC API u petlji koja proverava da li je kartica u čitaču. U samoj petlji ako biblioteka koju koristiš kao PC/SC omotač već nema neki callback mehanizam koristi sleep da ne izgoriš procesor ovako. Izmesti EidStartup/EidCleanup pozive van te petlje, na početku i kraju programa.

Kratka Google pretraga mi kaže da bi verovatno mogao da koristiš http://msdn.microsoft.com/en-us/library/aa379473(VS.85).aspx mada moguće da postoji i nešto zgodno višeg nivoa.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

Rongon

Član broj: 61734
Poruke: 55
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Citac licnih karti celikapi.h25.09.2010. u 14:39 - pre 165 meseci
Ovako, moras da prepravis da se _EidStartup i _EidCleanup samo jednom pozivaju (pri pokretanju programa i pri zavrsetku). Znaci, nema ulancavanja i pozivanja u svakoj petlji. Celik API jednostavno tako radi...
Razmisli ovako nesto da implementiras preko win32 SCard API-ja, koristeci SCardGetStatusChange funkciju u petlji koja se vrti.
Code:


SCARD_READERSTATE   readerState; // stanje citaca
BOOL bDone = FALSE; // da li je kraj
SCARDCONTEXT hSC;
SCardEstablishContext(SCARD_SCOPE_USER, NULL, NULL, &hSC); // uspostavi kontekst

readerState.szReader = L"IME CITACA"; // ovo ili fiksno stavis, ili dobijas preko SCardListReaders funkcije
readerState.dwCurrentState = SCARD_STATE_UNAWARE; // pocetno stanje je neodredjeno

_EidStartup(1);
while (!bDone)
    {
        // sacekaj proveru statusa
        SCardGetStatusChange(hSC, INFINITE, &readerState, 1); //ceka dok se status citaca ne promeni
        // dvEventState je novo stanje, dvCurrentState je trenutno (staro) stanje
        // proveri status citaca
        if( readerState.dwEventState & SCARD_STATE_PRESENT ) { // ako je novo stanje KARTICA_IN
            if ( (readerState.dwCurrentState & SCARD_STATE_EMPTY) || // i ako je staro stanje KARTICA_OUT
                (readerState.dwCurrentState == SCARD_STATE_UNAWARE) ) { // ili neodredjeno (samo za pocetni slucaj)
                    //kartica je ubacena
                    cout << "LK in" << endl;
                    _EidBeginRead("");
                    // ... citanje i sta vec, pozivanje skripte
                    _EidEndRead();
            }
        }else if(readerState.dwEventState & SCARD_STATE_EMPTY) { // ako je novo stanje KARTICA_OUT
            if (readerState.dwCurrentState & SCARD_STATE_PRESENT) { // i ako je staro stanje KARTICA_IN
                // kartica je izvadjena
                cout << "LK out" << endl;
            }
        }
        // sacuvaj novu vrednost stanja
        readerState.dwCurrentState = readerState.dwEventState;
} // glavna petlja while(!bDone)

_EidCleanup();
SCardReleaseContext(hSC);

Ovo nisam testirao na masini, jer mi je trenutno citac kartica pokvaren :( , ali bi trebalo da radi, jer sam nesto slicno vec radio i testirao.
P.S. Ne zaboravi i da libujes "Winscard.lib" koji je potreban za ove SCard funkcije...

[Ovu poruku je menjao Rongon dana 26.09.2010. u 16:08 GMT+1]

[Ovu poruku je menjao Rongon dana 26.09.2010. u 16:09 GMT+1]
 
Odgovor na temu

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.dynamic.isp.telekom.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h26.09.2010. u 15:53 - pre 165 meseci
Probaću ovo u ponedeljak pošto sada nemam čitač kod mene, nadam se da će raditi.

Hvala vam mnogo.
"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.pstech.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h27.09.2010. u 10:42 - pre 165 meseci
@Rongon:
Verujem da je glupo ali ne umem da nateram tvoj primer da radi. Jel možeš da mi kažeš kako da linkujem WinSCard.dll (koji imam na računaru btw) da bi mogao da kompajliram tvoj primer. Da li treba da konvertujem taj dll u *.a za statičko linkovanje, tako sam negde pročitao, pojma nemam? Nisam nigde mogao da nađem winscard.lib i winscard.h.

Ovo malo programče pravim u DevC++ i nemam Visual Studio na računaru. Čini mi se da sam negde pročitao da uz VS idu winscard.lib i winscard.h Nisam nikad radio sa win32 api-jem niti sam C++ programer ali verujem da mi tvoj kod može završiti to što mi treba samo da ga nekako kompajliram.

Hvala!
"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

Rongon

Član broj: 61734
Poruke: 55
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Citac licnih karti celikapi.h27.09.2010. u 13:07 - pre 165 meseci
@MAD-MAX
Testirao sam kod, i radi savrseno preko VS2008. E sad, za DevC++ bi mogao da probas ovako nesto:
http://www.openwebspider.org/documentation/how-to-link-libmysqllib-with-dev-c-or-gcc-under-windows/.
Nemam iskustva sa DevC++, ali bi u najgoru ruku mogao da pozivas funkcije iz winscard.dll na ovaj nacin:
http://goffconcepts.com/techarticles/development/cpp/calldll.html. Napises ovako za svaku funkciju koju koristis (SCardEstablishContext, SCardGetStatusChange, SCardReleaseContext), i trebalo bi da radi... Mada bi trebalo i da skines winscard.h negde sa neta.
Nisam na svom kompu trenutno, ali cu do veceras da zakacim ovde i winscard.h i winscard.lib.
Prikačeni fajlovi
 
Odgovor na temu

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.pstech.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h28.09.2010. u 17:26 - pre 165 meseci
Jel možeš da uploaduješ tvoj VS2008 projekat, skinuo sam VC++ 2010 Express pa bi trebalo da tu radi tvoj projekat.

Inače evo kako sam rešio problem:

Code:

..........
cout << "_EidStartup: " << _EidStartup(1) << endl;

while(1) {
    temp = -1;
    cout << "_EidBeginRead: " << _EidBeginRead("") << endl;

    while(temp !=0){
        temp = _EidReadFixedPersonalData(mojdata);
        Sleep(100);
    }

    while(_EidReadVariablePersonalData(vardata)!=0){}
    
    cout << "LK in" << endl;

    string s;
    s = link + (string)mojdata->personalNumber;

    s += "&first_name=";
    string first_name;
    first_name = cir2hex(mojdata->givenName,mojdata->givenNameSize);
    s += first_name;

    s += "&last_name=";
    string last_name;
    last_name = cir2hex(mojdata->surname,mojdata->surnameSize);
    s += last_name;
    
    char *a=new char[s.size()+1];
    a[s.size()]=0;
    memcpy(a,s.c_str(),s.size());
    ShellExecute(NULL, "open", a, NULL, NULL, SW_SHOWNORMAL);

    while(!((_EidReadFixedPersonalData(mojdata)==-7) && (_EidReadFixedPersonalData(mojdata)==-7) && (_EidReadFixedPersonalData(mojdata)==-7))) {
        Sleep(100);
    }
    cout << "LK out" << endl;
    _EidEndRead();
}
    _EidCleanup();
    
..........


Znači izbacio sam _EidStartup i _EidCleanup van while petje (što sam prvobitno tako i uradio, al nema veze) i fora je da sa Sleep dam malo "oduška" čitaču jer ako je bez toga i LK je u čitaču _EidReadFixedPersonalData() mi vraća naizmenično -7 i 0 a ako ubacim Sleep(100) onda vraća 4 nule pa -7 i tako u krug što mi i nije jasno ali nema veze, čim mi vrati nulu ja imam u "mojdata" podatke koji mi trebaju. I naravno kad se kartica izvadi _EidReadFixedPersonalData() stalno vraća -7 što ja detektujem da je karica van čitača.

@Rongon:
Ovo mi završava posao ali ako možeš pošalji mi kod koji si testirao čisto da ga probam ne bi li naučio nešto novo.

Posebno hvala Rongonu i Goranu Rakiću na pomoći.
"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

Rongon

Član broj: 61734
Poruke: 55
*.dynamic.sbb.rs.



+1 Profil

icon Re: Citac licnih karti celikapi.h28.09.2010. u 18:22 - pre 165 meseci
Evo test projekta, bez celikapi.dll, koji treba da se stavi u folder gde se iskomplajlira :)
Prikačeni fajlovi
 
Odgovor na temu

KARABAYA

Član broj: 195500
Poruke: 36
*.dynamic.isp.telekom.rs.



Profil

icon Re: Citac licnih karti celikapi.h03.11.2010. u 10:08 - pre 163 meseci
jel uspeo neko da uradi neki program u vb.net?

Meni sve radi do trenutka kada treba da podatke prosledim nekoj promenljivoj.
EidBeginRead i EidStartup mi prodju bez problema.
Dok kada pozovem funkciju EidReadDocumentData(DocumentData) on mi vrati gresku -6, naravno ostavi mi praznu strukturu DocumentData.

Ovako mi izgleda struktura DocumentData

Code:
  Public Structure EID_DOCUMENT_DATA
        Public docRegNo() As Char
        Public docRegNoSize As Integer
        Public issuingDate() As Char
        Public issuingDateSize As Integer
        Public expiryDate() As Char
        Public expiryDateSize As Integer
        Public issuingAuthority() As Char
        Public issuingAuthoritySize As Integer
    End Structure



A funckija ovako:
Code:

    <DllImport("CelikApi.dll")> _
    Public Shared Function EidReadDocumentData(ByRef pData As EID_DOCUMENT_DATA) As Integer

    End Function



Gde gresim?
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Citac licnih karti celikapi.h03.11.2010. u 10:21 - pre 163 meseci
Kako pozivaš EidBeginRead? Funkcija vraća uspeh koji god string da joj daš, ali ako je string pogrešan onda će prilikom konkretnog čitanja EidReadX funkcija vraćati -6. Ako imaš samo jedan čitač priključen onda pozovi EidBeginRead sa praznim stringom.
 
Odgovor na temu

KARABAYA

Član broj: 195500
Poruke: 36
*.dynamic.isp.telekom.rs.



Profil

icon Re: Citac licnih karti celikapi.h03.11.2010. u 10:44 - pre 163 meseci
Stavio sam sad da mi on iz sistema iscita citac i njegov naziv da stavi u funkciju eid beginread.

Sad mi javlja gresku kod poziva

docdata = EidReadDocumentData(DocumentData)

Attempted to read or write protected memory. This is often an indication that other memory is corrupt.



(docdata je integer; DocumentData je EID_DOCUMENT_DATA)
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Citac licnih karti celikapi.h03.11.2010. u 11:11 - pre 163 meseci
Stavi prazan string za EidBeginRead.
 
Odgovor na temu

canejr
Beograd, Labudovo brdo

Član broj: 21326
Poruke: 73
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Citac licnih karti celikapi.h10.12.2010. u 15:20 - pre 162 meseci
Nadam se da ima ljudi koji su i dalje prisutni, a mogu da mi pomognu.
Treba da napravim C# aplikaciju koja ce da cita podatke sa LK koristeci Celik API. Trenutno sam u fazi pravljenja wrapper-a.
Pokusao sam da upotrebim sve sto je ovde receno, koristio sam i net, ali ne uspevam. Istovremeno, program Celik radi sasvim normalno, na istom racunaru (Windows XP SP2). Uradio sam i uninstall .net framework 3.5 SP1. Koristim VS2005.

Sta je problem:
Vec na EidBeginRead se javlja "Microsoft C++ exception: CardException at memory location 0x00138270". Na netu kazu da moze da se ignorise?
Na EidReadFixedPersonalData (a i sve ostale): "Microsoft C++ exception: unsigned long at memory location 0x00138818" i to dvaput (uzastopno)
Posle toga (jos uvek na EidReadFixedPersonalData ili bilo koji drugi metod): "Access violation writing location".
Na kraju: "An unhandled exception of type 'System.ExecutionEngineException' occurred in System.Windows.Forms.dll" (probao da stavim try/catch, ali dzaba)

Inace, pre Access violation, sistem definitivno cita podatke, jer na citacu pocne da blinka lampica, ali onda sve pukne, reklo bi se kad procitane podatke treba da upise nazad meni u prosledjenu klasu. Probao sam da koristim MarshallAs i MarshallAsAttribute. Probao sa LPStr i ByValTStr, ali stalno isto. Nekako zakljucujem da je problem u pointerima ili tipovima, ali nikako ne uspevam da nadjem problem. Ni da ga resim.

Stavio sam da se EidStartup poziva samo na pocetku. EidCleanup samo na kraju. Izmedju pozivam.. pa evo cele klase:
Code:

    public partial class Form1 : Form
    {
        int ret;

        public Form1()
        {
            InitializeComponent();
        }

        [SecurityPermission(SecurityAction.Assert, UnmanagedCode = true)]
        private void button1_Click(object sender, EventArgs e)
        {
            ret = Celik.EidBeginRead("");
            if (ret < 0)
            {
                // Nije ni bitno, nikad ne udje ovde
            }

            Celik.tagEID_FIXED_PERSONAL_DATA podaci = new Celik.tagEID_FIXED_PERSONAL_DATA();
            try
            {
                ret = Celik.EidReadFixedPersonalData(ref podaci);
            }
            catch (Exception ex)
            {
                int a = 5;
            }

            if (ret < 0)
            {
                MessageBox.Show(((enmCelikStatus)ret).ToString(), "Greska", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            Celik.EidEndRead();
            return;
        }
    }


Zakljucujuem da je probem u klasi Celik:
Code:

    [SuppressUnmanagedCodeSecurity()]
    public class Celik
    {
        //
        // Constants
        //
        // Size of all UTF-8 fields in bytes
        const int EID_MAX_DocRegNo = 9;
        const int EID_MAX_IssuingDate = 10;
        const int EID_MAX_ExpiryDate = 10;
        const int EID_MAX_IssuingAuthority = 30;

        const int EID_MAX_PersonalNumber = 13;
        const int EID_MAX_Surname = 60;
        const int EID_MAX_GivenName = 40;
        const int EID_MAX_ParentGivenName = 25;
        const int EID_MAX_Sex = 2;
        const int EID_MAX_PlaceOfBirth = 25;
        const int EID_MAX_StateOfBirth = 25;
        const int EID_MAX_DateOfBirth = 10;
        const int EID_MAX_CommunityOfBirth = 25;

        const int EID_MAX_State = 3;
        const int EID_MAX_Community = 25;
        const int EID_MAX_Place = 25;
        const int EID_MAX_Street = 36;
        const int EID_MAX_HouseNumber = 5;
        const int EID_MAX_HouseLetter = 2;
        const int EID_MAX_Entrance = 3;
        const int EID_MAX_Floor = 3;
        const int EID_MAX_ApartmentNumber = 6;

        const int EID_MAX_Portrait = 7700;

        //
        // Functions
        //
        [DllImport("CelikApi.dll", CharSet = CharSet.Unicode)]
        public static extern int EidStartup(
        int nApiVersion
        );

        [DllImport("CelikApi.dll", EntryPoint = "EidCleanup", CharSet = CharSet.Unicode)]
        public static extern int EidCleanup(
        );

        [DllImport("CelikApi.dll", CharSet = CharSet.Unicode)]
        public static extern int EidBeginRead(
        [MarshalAs(UnmanagedType.LPStr)] String szReader
        );

        [DllImport("CelikApi.dll", CharSet = CharSet.Unicode)]
        public static extern int EidEndRead(
        );

        [DllImport("CelikApi.dll", CharSet = CharSet.Unicode)]
        public static extern int EidReadFixedPersonalData(
        ref tagEID_FIXED_PERSONAL_DATA pData
        );

        [DllImport("CelikApi.dll", CharSet = CharSet.Unicode)]
        public static extern int EidReadDocumentData(
        ref tagEID_DOCUMENT_DATA pData
        );

        [DllImport("CelikApi.dll", CharSet = CharSet.Unicode)]
        public static extern int EidReadPortrait(
        ref tagEID_PORTRAIT pData
        );

        //
        // Classes
        //
        [StructLayout(LayoutKind.Sequential, Size = EID_MAX_IssuingAuthority + EID_MAX_IssuingDate + EID_MAX_DocRegNo + EID_MAX_ExpiryDate), Serializable]
        public class tagEID_DOCUMENT_DATA
        {
            [MarshalAsAttribute(UnmanagedType.LPStr, SizeConst = EID_MAX_DocRegNo)]
            public string docRegNo;
            public int docRegNoSize;
            [MarshalAsAttribute(UnmanagedType.LPStr, SizeConst = EID_MAX_IssuingDate)]
            public string issuingDate;
            public int issuingDateSize;
            [MarshalAsAttribute(UnmanagedType.LPStr, SizeConst = EID_MAX_ExpiryDate)]
            public string expiryDate;
            public int expiryDateSize;
            [MarshalAsAttribute(UnmanagedType.LPStr, SizeConst = EID_MAX_IssuingAuthority)]
            public string issuingAuthority;
            public int issuingAuthoritySize;
        };

        [StructLayout(LayoutKind.Sequential, Size = EID_MAX_PersonalNumber + EID_MAX_Surname + EID_MAX_GivenName + EID_MAX_Sex + EID_MAX_PlaceOfBirth + EID_MAX_StateOfBirth + EID_MAX_DateOfBirth + EID_MAX_CommunityOfBirth), Serializable]
        public class tagEID_FIXED_PERSONAL_DATA
        {
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_PersonalNumber)]
            public string personalNumber;
            public int personalNumberSize;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_Surname)]
            public string surname;
            public int surnameSize;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_GivenName)]
            public string givenName;
            public int givenNameSize;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_Sex)]
            public string sex;
            public int sexSize;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_PlaceOfBirth)]
            public string placeOfBirth;
            public int placeOfBirthSize;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_StateOfBirth)]
            public string stateOfBirth;
            public int stateOfBirthSize;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_DateOfBirth)]
            public string dateOfBirth;
            public int dateOfBirthSize;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_CommunityOfBirth)]
            public string communityOfBirth;
            public int communityOfBirthSize;
        };

        [StructLayout(LayoutKind.Sequential, Size = EID_MAX_Portrait), Serializable]
        public class tagEID_PORTRAIT
        {
            [MarshalAs(UnmanagedType.LPStr, SizeConst = EID_MAX_Portrait)]
            public string portrait;
            public int portraitSize;
        };
    }

    public enum enmCelikStatus
    {
        EID_OK = 0,
        EID_E_GENERAL_ERROR = -1,
        EID_E_INVALID_PARAMETER = -2,
        EID_E_VERSION_NOT_SUPPORTED = -3,
        EID_E_NOT_INITIALIZED = -4,
        EID_E_UNABLE_TO_EXECUTE = -5,
        EID_E_READER_ERROR = -6,
        EID_E_CARD_MISSING = -7,
        EID_E_CARD_UNKNOWN = -8,
        EID_E_CARD_MISMATCH = -9,
        EID_E_UNABLE_TO_OPEN_SESSION = -10,
        EID_E_DATA_MISSING = -11,
        EID_E_CARD_SECFORMAT_CHECK_ERROR = -12,
        EID_E_SECFORMAT_CHECK_CERT_ERROR = -13
    };


Svaka ideja/pomoc dobrodosla.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Citac licnih karti celikapi.h10.12.2010. u 15:43 - pre 162 meseci
Pogledaj ovde


LGPL CLR Interop Wrapper za CelikAPI

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

canejr
Beograd, Labudovo brdo

Član broj: 21326
Poruke: 73
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Citac licnih karti celikapi.h10.12.2010. u 15:54 - pre 162 meseci
Hvala!
Sad jos da provalim sta se tu desava..
Jedino me sad jako kopka sta ne valja u onom mom kodu. :)
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Citac licnih karti celikapi.h10.12.2010. u 16:10 - pre 162 meseci
Verovatno nesto u vezi sa time sto celikAPI ne koristi null terminated stringove ili sa velicinom bufera ili oba problema zajedno.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

mbogdanovic
Miodrag Bogdanović
Konsultant za IKT i standardizaciju
poslovanja
Samostalno
Beograd, Srbija

Član broj: 310987
Poruke: 1
195.252.68.*



+1 Profil

icon Re: Citac licnih karti celikapi.h17.01.2013. u 08:38 - pre 136 meseci
Pozdrav svima,

programer bez znanja C++, imam isti zadatak da koristim podatke iz LK i SD i da ih importujem u bazu.

Da li kod koji ste do sada razvijali funkcioniše i da li mogu da vidim primer, kako da pozivam neke funkcije, kao na primer : EID_API int WINAPI EidReadDocumentData(PEID_DOCUMENT_DATA pData);

Hvala do neba.

Pozdrav od Miodraga
Miodrag Bogdanovic
 
Odgovor na temu

nneexx
Nebojsa Markovic

Član broj: 106401
Poruke: 7
*.dynamic.isp.telekom.rs.



Profil

icon Re: Citac licnih karti celikapi.h19.01.2013. u 14:43 - pre 136 meseci
Meni isto ovo treba za Alasku xbase++

Da li je neko resavao problem za ovaj programski jezik ?

Pozdrav.
 
Odgovor na temu

wakawaki

Član broj: 282343
Poruke: 1
..4fa:cd00:3c56:ca50:9410:d1ee



Profil

icon Re: Citac licnih karti celikapi.h01.12.2022. u 09:34 - pre 16 meseci
Ljudi, treba mi pomoc. Ima li neko funkcionalan kod u c++ za citanje licne karte?
 
Odgovor na temu

[es] :: C/C++ programiranje :: Citac licnih karti celikapi.h

Strane: < .. 1 2 3 4 5

[ Pregleda: 40639 | Odgovora: 80 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.