ImportDlg()

Wenn Sie mit der Standard-Importfunktion von VDP Daten importieren, haben Sie das Problem, daß jeder Datensatz neu angelegt wird. Wenn Sie eine Importfunktion wünschen, die bestehende Datensätze anpassen kann, dann kommen Sie nicht umher, dies in Easy selbst zu programmieren. Dies ist mit relativ wenig Aufwand auch durchaus realisierbar.

Um nun auch noch eine halbwegs ansprechende Benutzerführung zu ermöglichen gibt es den tdbTools-Importdialog.

Hinweis: Die Programmierung dieses Dialogs ist relativ komplex und sollte wohl am ehesten den wirklich Erfahrenen unter Ihnen vorbehalten bleiben. Nichtsdestotrotz empfehle ich Ihnen, sich mit dem Beispiel im Toolbox-Projekt ein wenig vertraut zu machen.

Beschreibung:

In den beiden oberen Listen stehen die, für den Import verfügbaren, Felder mit je einem Abhakkästchen. Bei Betätigung des Schalters mit der Aufschrift "manuell", wird eine Zuweisung in der unteren, grauen Liste, dem Zuweisungsfeld eingefügt, die angibt, dass der Inhalt des markierten Feldes in der Liste rechts in das markierte Feld in der Liste links geschrieben werden soll. Gleichzeitig werden die Haken in den beiden Listen gesetzt, um zu zeigen, dass diese Felder bereits einer Zuweisung angehören.

Der Schalter mit der Aufschrift "auto", erkennt alle gleichnamigen Felder und fügt entsprechende Zuweisungen ein. Groß-/Kleinschreibung spielt hierbei keine Rolle.

Mit "auflösen" lösen Sie die augenblicklich im unteren Kästchen markierte Zuweisung wieder auf; Sie wird aus der Liste entfernt, und die Felder werden "enthakt".

"Zurücksetzen" löscht ausnahmslos alle Zuweisungen nach Bestätigen einer Sicherheitsabfrage und entfernt die gesetzten Häkchen.

Wenn die Zuweisungen alle definiert sind, bestätigen Sie dies mit OK. Das Ergebnis, sprich der Inhalt des unteren Kästchens, wird nun in das Windows-Clipboard kopiert. Wie Sie die Informationen aus der Zwischenablage verwerten, entnehmen Sie bitte dem Beispielprogramm.

Die Schalter mit der Aufschrift "abc => 123" bzw. "123 => abc" sollen es Ihnen ermöglichen, Typkonvertierungen ganz einfach zu bewerkstelligen.

"abc => 123" fügt den Feldnamen der Quelltabelle in einen Aufruf der EASY-Funktion Val() ein, während "123 => abc" genau das Gegenteil bewirkt. Es umschließt den Feldnamen mit einem Aufruf von Str().

Funktionen:

InitImportDlg(tabA : string; tabB : String)

Erzeugt einen neuen Import-Dialog. tabA enthält die Beschriftung der linken Feldliste, während tabB die Überschrift der rechten Liste beinhaltet.

 

FillImportDlg(iTabelle : integer; cField : string)

Befüllt die Feldlisten des Importdialogs mit den in cField übergebenen Feldnamen. iTabelle bestimmt, ob der Feldbezeichner in cField in die linke oder in die rechte Liste geschrieben werden soll, wobei 0 für links und ungleich 0 für rechts steht.

 

PresetImportDlg()

Kopiert den Inhalt der Zwischenablage in das Zuweisungsfeld und aktuallisiert die beiden Feldlisten. Somit können Feldzuweisungsdefinitionen gespeichert werden, um Sie bei einem gleichartigen Import (z.B. regelmäßiger Import von Adressdaten durch Aussendienstmitarbeiter) erneut verwenden zu können.

 

ShowImportDlg(cCaption : string): integer

Bringt den Import-Dialog mit der Fensterüberschrift cCaption an die Oberfläche. Das Ergebnis von ShowImportDlg() ist ungleich 0, wenn der Dialog mit OK geschlossen wurde, ansonsten 0. Nach dem Schließen des Dialogs befindet sich der komplette Inhalt des Zuweisungsfeldes im Windows-Clipboard und kann in VDP eingelesen werden.