Der ADFC-Stormarn e.V. verwendet Klebeetiketten zur Codierung von Fahrrädern.
Auf diesen Etiketten ist ein EIN-Code (Eigentümer-Identifizierungs-Nummer) aufgedruckt, die es der Polizei, den Fundbüros und dem ADFC erlauben, den Eigentümer eines Fahrrads zu ermitteln. Eine über aufgeklebte Etikett angebrachte Plombierfolie schützt dieses vor dem Ablösen.
Dieses Verfahren eignet sich auch für andere Gegenstände, wie Kameras, Fahrrad-Akkus, Kinderwagen, Pferdesättel, etc.
Die Codier-Aktionen finden häufig j.w.d. statt und nicht immer gibt es dort einen verlässlichen Zugang zum Internet. Die Daten zur Generierung der EIN-Codes werden deshalb in einer lokal zur Verfügung stehenden SQLite-Datenbank abgelegt.
Diese Seite beschreibt den Funktionsdialog Listendruck, der es erlaubt Daten aus einer CSV-Datei einzulesen, zu selektieren und Etiketten zu drucken.
Inhaltsverzeichnis
Der Kopf des Dialogbildschirms wird von einer Aktionsleiste gebildet. Deren Implementierung und Funktion ist im Kapitel ActionBar beschrieben. Die Funktionen zum Etikettendrucken sind im Kapitel Klebeetikett drucken dokumentiert.
Die verwendete Excel-Tabelle zur Datenerfassung hat folgenden Aufbau:
Die Tabelle muss zur Weiterverarbeitung als CSV-Datei gespeichert werden:
Je nach verwendetem Programm zur Erstellung der CSV-Datei kann es sein, dass die einzelnen Spaltenwerte in Anführungszeichen eingefasst sind. Diese werden von der Einleseroutine entfernt, ebenso Leerzeichen am Beginn und am Ende des Textes.
Für weitere Details siehe CSV-Datei einlesen
Nach Antippen der Schaltfläche cmdLoad startet eine Dialogfolge zur Auswahl einer CSV-Datei. Die ausgewählte Datei wird von der Extension UrsCsvReader eingelesen und aufbereitet. Die eingelesen Daten werden gefiltert in die Listview-Komponente übertragen. Wird eine Zeile ausgewählt, werden die dazugehörenden Daten in den Label-Komponenten darunter angezeigt und die Schaltfläche zum Drucken des Etiketts freigegeben.
Einmal ausgewählte Daten können in der Extension UrsCsvReader abgelegt werden. Von dort können sie bei einem neuen Aufruf des Dialogs wieder abgerufen und der vorherige Zustand wieder hergestellt werden.
Die Anzeige der Adressdaten wird an mehreren Stellen benötigt. Das Befüllen der Felder wird deshalb über eine Prozedur implementiert.
Die Prozedur ClearPersonData löscht die Adressdatenfelder:
Die Prozedur FillPersonData befüllt die Adressdatenfelder mit den in den Extension hinterlegten Adressdaten. Wenn Adressdaten ausgewählt wurden, kann die Schaltfläche zum Etikettendruck frei gegeben werden.
Die Liste der Adressdaten wird befüllt.
Bei der Initialisierung des Screen werden der ausgewählte Drucker, der Etikettendruckzähler, die geladenen Daten und die ausgewählten Adressdaten wieder hergestellt.
Das Auswählen und Auslesen der Datei erfolgt über die Extension UrsCsvReader. Nach dem Einlesen der Datei, werden die gelesenen Daten angzeigt:
Wenn über ListPicker-Komponente ein Filterwert ausgewählt wurde, wird die Liste der Adressdaten aktualisiert.
Nach der Selektion eines Datensatzes in der ListView-Komponente ListCodes werden die Adressdatenfelder aktualisiert.