Seite 1 von 1

Aktuelle Person Auslesen?

Verfasst: 14.03.2014, 14:28
von DerNeue
Hallo an alle, die sich mit den Plugins etwas auskennen!

Die Möglichkeit, Plugins für Ahnenblatt zu programmieren finde ich toll.
Erste Gehversuche damit sind erfolgreich verlaufen.
Jetzt zur Frage: Besteht die Möglichkeit die aktuell gewählte Person aus Ahnenblatt irgendwo auszulesen? Ich versuche anschließend mit meinem Plugin Daten aus einer CSV zu verarbeiten. Ich würde nun gerne den Namen der aktuellen Person übergeben, um diesen nicht nocheinmal suchen zu müssen.

Vielen Dank!
DerNeue

Verfasst: 14.03.2014, 19:51
von Jürgen T.
Hallo DerNeue,

Ahnenblatt merkt sich nur in der ahn-Datei die "Startperson" und die sich im Moment des Programmendes unter dem Bleistift (im Navigator) befindliche Person.
Leider werden diese Angaben nicht in die Ahnblatt.ini geschrieben.

Bisher wäre das auch nicht unbedingt hilfreich gewesen, denn es hätten alle zur Person bekannten Angaben gespeichert werden müssen, um die Person wieder identifizieren zu können. Wenn man sehr wenige Angaben zu einer Person hatte, wäre eine eindeutige Identifizierung evtl. nicht möglich gewesen.
Da Ahnenblatt aber seit der Version 2.72 eine feste Personennummerierung (_UID) implementiert hat, wäre es jetzt möglich die beiden Personen eindeutig über die Personen-ID zu identifizieren.
Die Aufnahme der beiden Personen in die INI-Datei oder als Umgebungsvariable bereitzustellen wurde schon als Änderungswunsch formuliert.

Verfasst: 14.03.2014, 21:11
von MarcP
Hallo DerNeue

wie Jürgen schon schrieb dürfte nur in einer Ahn Datei die zuletzt ausgewählte Person gespeichert werden. Also auch bei der Übergabe zum Plugin. Du müsstest dir halt noch eine Routine schreiben welche die Ahn Datei statt einer CSV ausliest.

Bei CSV und GEDCOM werden nur die reinen Daten übergeben. Mit UID usw braucht man aber garnicht arbeiten da jede Person in einer CSV oder Gedcom auch eine eindeutige Refnr hat. Jedenfalls für diesen einen Export. Beim nächsten kann diese sich geändert haben. Tut aber in dem Fall nichts zur Sache wenn ich deine Fragestellung richtig verstanden habe.
Am einfachsten wär in dem Fall wenn Dirk die Refnr der ausgewählten Person einfach per Parameter mitgibt wenn dies in der abp Datei gefordert wird. Geht leider (noch) nicht.

Nachtrag: hab mal ein bisschen rumgespielt. Konnte leider in der Ahn nichts finden wo die letzte ausgewählte Person stehen soll. AB lädt auch so immer die Startperson. Geht so wohl doch nicht. :-(

Verfasst: 15.03.2014, 13:27
von DerNeue
Hallo,
gut, das habe ich mir fast schon gedacht, denn ich habe nirgends einen Hinweis auf die Startperson gefunden. Danke für die Erläuterungen.
Wie kann ich die .ahn Datei auslesen? Welches Format hat sie? Habe versucht die Datei mit mehreren Programmen zu öffnen, allerdings ist mir das nicht gelungen. Im Editor sind viele kryptische Zeichen und xml scheint es auch nicht zu sein. Auch Entpacken habe ich versucht...
Mit welchem Programm kann ich die Datei anzeigen bzw lesen?

Der Neue

Verfasst: 15.03.2014, 16:09
von Hugo
Guten Tag
Auch wenn ich dies ungern tue, hier möchte ich Jürgen und Price korrigieren :oops:
DirkB hat geschrieben:GEDCOM: Navigator-Startperson wird jetzt abgespeichert
Es muß folglich auch mit einer lesbaren Gedcom-Datei gehen seit Version 2.52

Habs allerdings nicht ausprobiert :oops:

Gruß Hugo

Verfasst: 15.03.2014, 16:20
von FrankG
Hallo

in der Gedcom (eigentlich ziemlich oben)
nach
1 _NAVM 2
2 _NAVI @I150@

suchen
wobei 2_NAVI @"Personenid"@ entspricht

sucht man jetzt in der Gedcom nach der PersonenID findet man den
entsprechenden Namen dazu.

Ich hoffe das hilft.

Gruß
Frank

Verfasst: 15.03.2014, 18:23
von DerNeue
@FrankG
Danke, das hilft mir sehr weiter...

DerNeue

Verfasst: 15.03.2014, 18:49
von MarcP
solangsam wirds ja

hab nochmal getestet. In der Ahn ist (natürlich) auch die Startperson vorhanden.
Welches Format die ahn Datei hat weiss ich nicht. Ich vermute irgendwas selbsgebautes oder irgendwas aus vor meiner Zeit. Jedenfalls keine einfache Textdatei, siehe Steuerzeichen. Ich kuck da auch nur per Notepadd++ rein.

Die aktuell bzw zuletzt ausgewählte Person bekommst du nirgens raus so wie ich das sehe.
Noch ein Tip um nicht noch eine gedcom auslese Routine bauen zu müssen (obwohl es für die gängigen Programmiersprachen sicher irgendwo Quellcodes im INet zu finden sind).
Lass dir die Daten als csv und gedcom ausgeben. abp Datei entsprechend anpassen.
Daten dann wie gewohnt aus der csv auslesen und Startperson aus der gedcom holen. Musst halt nur schauen ob die Refnr sich unterscheiden. Hab ich noch nie gemacht. Nur so als Quick & Dirty Idee.