DALE-UV C++ Bibliothek
Diese Bibliothek bietet Funktionen für die Ausführung der DALE-UV spezifischen Plausibilitätsprüfungen.

Beispiel für die Ausführung einer vollständigen Prüfung:

#include <iostream>
#include <DALE_UV.h>

using namespace std;

int main()
{
   DaleUvReport report;

   report.setDataSource("c:\\data\\DABE.xml"); // XML-Datei, die geprueft werden soll
   report.setLogFile("c:\\trace\\DABE.log");   // Protokolldatei fuer Log-Ausgaben
   report.setLogLevel(3);                      // Log-Level (Warnungen ausgeben)

   // Plausi ausfuehren
   performPlausi(&report);

   if (report.isOk())
   {
      cout << "Die Daten sind ok." << endl;
      cout << "Prüfschlüssel: " << report.getCheckKey() << endl;
   }
   else
   {
      cout << report.getNumOfErrors(1) << " Fehler der Stufe 1." << endl;
      cout << report.getNumOfErrors(2) << " Fehler der Stufe 2." << endl;
      cout << report.getNumOfErrors(3) << " Fehler der Stufe 3." << endl;

      // Fehler ausgeben
      for (int i = 0; i < report.getNumOfErrors(); i++)
      {
         DaleUvError* error = report.getError(i);
         cout << "Fehler im Feld " << error->getFieldDisplayName() << ": " << error->getTextShort() << endl;
      }
   }

   return report.getReturnCode();
}

Beispiel für die Ausführung einer Einzelfeldprüfung:

#include <iostream>
#include <DALE_UV.h>

using namespace std;

int main()
{
   DaleUvReport report;

   report.setPlausiName("DABE");             // Nachrichtenname
   report.setField("/dabe/vin/vin_9");       // Feldname
   report.setValue("17.06.2006");            // Wert
   report.setLogFile("c:\\trace\\DABE.log"); // Protokolldatei fuer Log-Ausgaben
   report.setLogLevel(3);                    // Log-Level (Warnungen ausgeben)

   // Plausi ausfuehren
   performFieldCheck(&report);

   if (report.isOk())
   {
      cout << "Der Wert ist ok." << endl;
   }
   else
   {
      cout << "Der Wert ist fehlerhaft." << endl;

      // Fehler ausgeben
      for (int i = 0; i < report.getNumOfErrors(); i++)
      {
         DaleUvError* error = report.getError(i);
         cout << "Fehler: " << error->getTextShort() << endl;
      }
   }

   return report.getReturnCode();
}