Dokumentation und Codebeispiele
Fehlercodes (in allen Editionen identisch):
| -2: | Prüfverfahren nicht gefunden! | 
| -3: | Prüfziffer ungültig! | 
| -5: | BLZ nicht achtstellig! | 
| -6: | BLZ enthält ungültige Zeichen! | 
| -7: | Konto hat falsche Länge! | 
| -8: | Konto enthält ungültige Zeichen! | 
| -9: | BLZ ungültig! | 
      Ist der Fehlercode >= 0, ist die Prüfung positiv verlaufen.
    
Verwendung der Java-Edition von CheckKonto:
      // Importieren Sie CheckKonto:
      import com.sandig.app.checkkonto.*;
      import java.util.Hashtable;
      // Verwenden Sie die Berechnungsfunktion in Ihrem Code:
      String konto = ...; // kontonummer zuweisen
      String blz = ...; // bankleitzahl zuweisen
      int result = CheckKonto.Check(konto, blz);
      if ( result < 0 ) // Bankverbindung ungültig
	    {
      
        // Fehlermeldung beziehen:
		    String errorMessage = CheckKonto.GetErrorMsg(result);
        ...
      }
      // Nachschlagen der Kurzbezeichnung des Geldinstituts zur BLZ:
      String bankname = Blz.LookupName(blz);
      // Besorgen der Hashtable mit Bankleitzahlen und 
      // Verfahren /  Kurzbezeichnung des Geldinstituts
      // Key ist die BLZ, Value ist zusammengesetzt aus zwei Zeichen
      // für das Verfahren und Kurzbezeichnung des Geldinstituts
      Hashtable<String,String> tabelle = Blz.Tabelle();
    
Verwendung der .Net-Edition von CheckKonto (Beispiel in C#):
      // Benutzen Sie CheckKonto:
      using Sandig.Checkkonto;
      using System.Collections.Generic;
      // Verwenden Sie die Berechnungsfunktion in Ihrem Code:
      String konto = ...; // kontonummer zuweisen
      String blz = ...; // bankleitzahl zuweisen
      int result = CheckKonto.Check(konto, blz);
      if ( result < 0 ) // Bankverbindung ungültig
      {
      
        // Fehlermeldung beziehen:
        String errorMessage = CheckKonto.GetErrorMsg(result);
        ...
      }
      // Nachschlagen der Kurzbezeichnung des Geldinstituts zur BLZ:
      String bankname = Blz.LookupName(blz);
      // Besorgen der Hashtable mit Bankleitzahlen und
      // Verfahren /  Kurzbezeichnung des Geldinstituts
      // Key ist die BLZ, Value ist zusammengesetzt aus zwei Zeichen
      // für das Verfahren und Kurzbezeichnung des Geldinstituts
      Dictionary<String,String> tabelle = Blz.Tabelle();
    
Verwendung der Windows-COM-Komponente "ckwinx" von CheckKonto (Beispiele in C++/MFC):
- Vor der Installation entfernen Sie eine evtl. vorhandene Demo-Version von CheckKonto.
 - 
          Installation: Führen Sie die Setup-Datei "ckwinx.msi" aus.
          
          Hierdurch wird die Datei ckwinx.ocx, sowie die stand-alone-Anwendung "CheckKonto.exe"
          installiert und registriert (Hinweis: manuelle Registrierung mit "regsvr32 ckwinx.ocx").
         
      ckwinx enthält sowohl das ActiveX-Control "ckwinx", als auch die COM-Schnittstelle "ICKcompute".
      Beide COM-Schnittstellen benötigen für die Verwendung einen Lizenzschlüssel, den Sie in der ersten Zeile
      der mitgelieferten Datei "ckwinx.lic" finden.
    
Verwendung des ActiveX-Controls "ckwinx" im MS Visual Studio 2008 - Resourceneditor:
- 
          Kopieren Sie die Datei "ckwinx.lic" in den Installationsordner (neben die Datei ckwinx.ocx).
          Auf diese Weise erkennt Visual Studio die "Design-Time-Lizenz" und erlaubt das Einfügen
          des Controls in Ihre Dialoganwendung.
        
 - Öffnen Sie in Visual Studio Ihr MFC-Projekt, bzw. legen Sie ein neues MFC-Projekt an.
 - Öffnen Sie im Resourcen-Editor die Dialog-Resource, in die das Control eingefügt werden soll.
 - Wählen Sie im Kontextmenue der Resourcen-Toolbox "Elemente auswählen"
 - Wählen Sie den Reiter "COM-Steuerelemente"
 - 
          Setzen Sie in der Zeile "ckwinx Control" einen Haken und klicken "OK"
          >> Das Control wird in die Toolbox eingefügt.
         - 
          Ziehen Sie das Control aus der Toolbox in Ihren Dialog (die empfohlene Größe ist 360 x 56)
          >> Beachten Sie, dass das Control breit genug sein muß, um die Fehlertexte neben den Eingabefeldern darstellen zu können.
          >> Der Lizenzschlüssel wird automatisch in die Resourcendatei aufgenommen, die Datei
          ckwinx.lic muß also nicht zur Laufzeit vorhanden sein!)
         - 
          Wenn Sie für das Control eine member-Steuerelement-Variable in Ihren Dialog hinzufügen, wird automatisch
          die Klasse "CCkwinxctrl1" Ihrem Projekt hinzugefügt. Hier stehen Ihnen die Methoden des Controls zur
          Verfügung:
          
| Setblz/Getblz | Setzen/Holen der Bankleitzahl | 
| Setkonto/GetKonto | Setzen/Holen der Kontonummer | 
| Getbankname | Holen der Kurzbezeichnung des gewählten Geldinstituts | 
| GetcheckResult | 
                  Holen des Prüfungsergebnisses (Ergebnis < 0: Prüfung fehlgeschlagen) | 
| GetErrorMessage | Fehlertext zum Prüfungsergebnis holen | 
| SetBackColor | Setzen der Hintergrundfarbe | 
| SetFont | Setzen der Schriftart | 
| SetBorderStyle | Setzen eines Rahmens (nicht empfohlen) | 
| SetEnabled | Control auf bedienbar/nicht bedienbar setzen | 
 
Dynamische Verwendung des ActiveX-Controls "ckwinx" in MS Visual Studio 2008 (ohne Resourceneditor):
- 
          Gehen Sie, ggf. mit Hilfe eines Testprojekts, vor wie oben angegeben und lassen sich
          von Visual Studio die Klasse "CCkwinxctrl1" erzeugen.
        
 - 
          Kopieren Sie die erzeugten Dateien ckwinxctrl1.h und ckwinxctrl1.cpp in Ihr Projekt und fügen
          die Dateien Ihrem Projekt hinzu.
        
 
      Mit folgendem Code erstellen Sie dynamisch das Control in einem Fenster:
    
      CCkwinxctrl1* pCK = new CCkwinxctrl1();
      int ID_OF_CONTROL = 3000; // Control-ID festlegen
      
      CRect rect(0,0,360,56); // Position und Größe festlegen
      _bstr_t license = _T("..."); // Lizenzschlüssel aus lic-Datei
      pCK->Create(_T(""), WS_CHILD|WS_TABSTOP|WS_VISIBLE, rect, this, ID_OF_CONTROL, 
            0, 0, license.GetBSTR());
      pCK->SetBackColor(RGB(250,250,250)); // ggf. Hintergrundfarbe setzen
      // ggf. Schriftart setzen:
      CFontHolder fontHolder(NULL);
      fontHolder.InitializeFont(&_fontdescStd);
      pCK->SetFont(fontHolder.GetFontDispatch());
      // wobei "_fontdescStd" z.B. so aussehen kann:
      static const FONTDESC _fontdescStd =
      { sizeof(FONTDESC), OLESTR("MS Sans Serif"), FONTSIZE( 8 ), FW_NORMAL,
      ANSI_CHARSET, FALSE, FALSE, FALSE };
Verwenden der Berechnungsfunktion in Ihrem Code ohne Oberflächen-Control:
      // Import der Schnittstelle (Pfad anpassen!):
      #import "C:\\pfad\\zum\\installationsordner\\ckwinx.ocx" no_namespace
      // Zeiger auf lizensierte Schnittstelle besorgen:
      LPCLASSFACTORY2 pClassFactory;
      CLSID clsid;
      ICKcompute* pCKcompute = NULL;
      if (FAILED(CLSIDFromProgID(T2OLE(_T("ckwinx.CKcompute.1")), &clsid)))
      
      return -2; // Fehlerhandling!
      
      // Create an instance of the object and query it for
      //  the IClassFactory2 interface.
      if (SUCCEEDED(CoGetClassObject(clsid, CLSCTX_INPROC_SERVER, NULL,
            IID_IClassFactory2, (LPVOID *)(&pClassFactory))))
      {
        
          _bstr_t sLicenseString = _T("..."); // Lizenzschlüssel aus lic-Datei
          if (FAILED(pClassFactory->CreateInstanceLic(NULL,NULL,__uuidof(ICKcompute),
                sLicenseString.GetBSTR(),
          (LPVOID FAR *) &pCKcompute)))
          {
            
              pClassFactory->Release();
              return -3; // Fehlerhandling!
            
          }
          pClassFactory->Release();
        
      }
      // Arbeiten mit der Schnittstelle:
      long result=0;
      _bstr_t konto = _T("..."); // kontonummer setzen
      _bstr_t blz = _T("...");   // BLZ setzen
      // Prüfung durchführen
      pCKcompute->CheckKonto(konto, blz, &result);
      if (result < 0) // Bankverbindung ungültig
      {
        
          // Fehlermeldung beziehen:
          _bstr_t errorMessage;
          pCKcompute->GetErrorMessage(result, errorMessage.GetAddress());
          AfxMessageBox((LPCTSTR)errorMessage);
		  }
		  // Kurzbezeichnung des Geldinstituts aufgrund der BLZ nachschlagen:
		  _bstr_t nameBank;
		  pCKcompute->LookupName(blz, nameBank.GetAddress()); 
		  // nameBank ist leer, wenn BLZ nicht gefunden!
		  AfxMessageBox((LPCTSTR)nameBank);
      pCKcompute->Release(); // Schnittstelle freigeben