Posts Tagged ‘Lesezeichen’

Lesezeichen nun auch für die Datenbank

Donnerstag, Juli 2nd, 2015

Jetzt ist es endlich auch möglich Lesezeichen auf Ordner in der Datenbank zu setzten und zu benutzen. Es war nochmal einiges an Arbeit notwendig um die Funktion zu implementieren. Problem war, das die Einträge im Datenbankbaum mit einer einzelnen ID verknüpft sind. Dadurch ist es nämlich nicht möglich, auf die Elternknoten des Eintrages zu schließen. Bei einer Pfadangabe,  die einen Ordner auf der Festplatte beschreibt, ist dies hingegen ohne Probleme möglich. Daher habe ich mich entschlossen, für die Datenbank eine ähnliche Struktur aufzubauen.

Lesezeichen im Datenbank-Modus

Lesezeichen im Datenbank-Modus

Ein einzelnes Lesezeichen für einen Datenbank-Ordner sieht wie folgt aus:

[{436AFE34-ABED-40ED-B50C-BD11069673E7}]

TYP=DB

CAPTION=12.2014

TREEITEM=DBDatumRoot\DBDatumJahr:60\DBDatumMonat:133\

Der eigentlich interessante Eintrag ist die Zeichenkette hinter dem Schlüssel „TREEITEM“. Diese sieht einer Pfadangabe recht ähnlich. Der erste Teil DBDatumRoot entspricht quasi einer Laufwerksangabe und entspricht hier dem Wurzelknoten des Aufnahmedatum-Zweiges. Der zweite Eintrag „DBDatumJahr:60“ entspricht einem Jahreseintrag im Baum. 60 ist dabei die Datenbank-ID des dazugehörigen Datensatzes. Der letzte Eintrag steht dementsprechend für einen Monatseintrag im Baum, der die ID 133 besitzt. Würde das Lesezeichen auf einem Tageseintrag liegen, würde hier noch ein weiterer Eintrag folgen.

Ausblick

Als nächstes habe ich mir vorgenommen, einige Änderungen am Administrationstool vorzunehmen. Zum einen fehlt dort bisher die Möglichkeit, ein komplettes BVASystem Datenbankschema zu löschen und zum zweiten plane ich eine weitere Datenbankaktualisierung. Diese benötige ich für die Umsetzung einiger geplanter Funktionen. Für die erste Teilaufgabe habe ich auch bereits die erste Aufgabe abgearbeitet: Die Scriptdateien zum Löschen eines Datenbankschemas habe ich erstellt und in die Installationssoftware integriert.

Lesezeichen für die Bilderordner

Dienstag, Juni 9th, 2015

Bei mir ist es so, das ich die Fotos in einen speziellen Ordner auf der Festplatte kopiere, bevor ich sie in die Bilddatenbank importiere. Seit längerem hat mich gestört, das ich dieses Verzeichnis immer wieder in der Baumansicht heraussuchen musste. Noch schlimmer war es bei den Testbildern, die ich für die Entwicklung nutze. Diese liegen nämlich in einem Unterordner im Projektverzeichnis. Nun gibt es Abhilfe:

Lesezeichen-Popupdialog

Lesezeichen-Popupdialog

Es können nun beliebige Verzeichnisse als Lesezeichen abgespeichert werden. Dazu muss das Verzeichnis einmal manuell geöffnet werden und anschließend der mit einem „Stern“ bebilderte Button in der Werkzeugleiste dadrüber gedrückt werden. Ab dem Punkt kann das Verzeichnis direkt über das Lesezeichen ausgewählt werden. Dazu muss nur der Knopf neben dem „Stern“ gedrückt werden. Es öffnet sich ein Popupdialog, in dem alle Lesezeichen aufgelistet werden. Mit einem weiteren Klick wählt man dann das gewünschte Verzeichnis aus. Die Lesezeichen werden in einer Datei im Nutzerverzeichnis gespeichert, so das sie auch nach einem Neustart des Programmes erhalten bleiben.

Da ich die neue Funktion ganz nett finde, hatte ich eigentlich vor, sie auch direkt für Ordner der Datenbank zu implementieren. Dort bin ich allerdings auf ein Problem gestoßen. Bei einem Verzeichnis, zum Beispiel E:\Eigene Dateien\Bilder\2015\, weiß man genau, das auf Laufwerk E, im Ordner Eigene Dateien im Unterordner Bilder usw. gesucht werden muss. Bei den Ordnern in der Datenbank hat das Programm nur von einer ID Kenntnis, die sich auf einen speziellen Datensatz in der DB bezieht. Es kann also nicht so einfach ermittelt werden, wo sich der Ordner im Baum befindet. Auch ein vollständiges durchsuchen des Baumes hilft nicht weiter, da dieser erst aufgebaut wird, sofern der Nutzer einen Knoten öffnet.

Theoretisch habe ich nun bereits eine Lösung des Problems. Aber da ich eh schon so lange gebraucht habe um die Funktion fertigzustellen, habe ich sie mir für die nächste Programmversion aufgehoben. Nun habe ich aber wieder genug rum gefaselt. Ich wünsche euch viel Spaß mit der neuen Programmversion und ich setzt mich mal an die Lösung des Problemes.

Zäher Neustart in die nächste Entwicklungsstufe

Montag, Mai 18th, 2015

Eigentlich war ich ja begeistert, die Datenbankumstellungen endlich gemeistert zu haben, aber trotzdem geht die weitere Entwicklung nicht so schnell voran, wie ich es gerne hätte. Zum einen war ich relativ lange unschlüssig, welche Änderungen ich als nächstes angehen soll und zum zweiten habe ich in letzter Zeit mit einem privaten Projekt zu tun, in welches fast die gesamte freie Zeit geflossen ist. Außerdem habe ich erste Erfahrungen in der Entwicklung von Android-Apps gesammelt. Diese sind nicht wirklich vorzeigbar, aber vielleicht wird daraus einmal ein BVASystem fürs Handy.

Lesezeichen-Knopf in neuer Werkzeugleiste

Lesezeichen-Knopf in neuer Werkzeugleiste

Nichts desto trotz kann ich heute leider keine neue Programmversion zum Download anbieten. Allerdings kann ich verraten, das ich damit begonnen habe, eine Lesezeichen Funktion für den Baum auf  der linken Programmseite zu entwickeln. Mich stört es nämlich, das man immer wieder den gleichen Ordner aufsuchen muss, wenn ich Bilder in die Datenbank importieren will. Erste Teile habe ich von der Funktion auch bereits fertig implementiert, aber wie dem so ist, werden die „Baustellen“ bei mir immer riesig. Für die Lesezeichen, wie ich sie mir vorstelle, brauche ich: eine neue Button-Komponente, eine Toolbar für den Baum, ein Popup-Dialog, eine Komponente zur Darstellung eines Lesezeichens, eine Datenstruktur zur Speicherung der Lesezeichen, eine Funktion zum Anlegen, eine zur Auswahl und natürlich eine zum Löschen eines Lesezeichens. Fertig davon habe ich bisher nur die Button-Komponente und die Toolbarleiste, Alle anderen Punkte habe ich mehr oder weniger angefangen. Es ist also noch einiges zu tun …