Neu (23.05.01): Update 5.1.7.0 nach 5.1.12.0
Das Ahnenforschungsprogramm Personal Ancestral File ("PAF")
für Windows ist in der Version 5.1 im März 2001 erschienen.
Es ist nach "PAF 4.0" vom Februar 2000 nun die 2. Version, die neben der
englischsprachigen Variante in einer deutschsprachige Version erhältlich ist.
"PAF" hat einige interessante Leistungsmerkmale. Unter anderem bietet es ein ein
flexibles Konzept an, die erfassten Daten in verschiedenartigen Berichten
auszudrucken oder sich Webseiten unterschiedlicher Art erzeugen zu lassen.
Manche Anwender empfinden die in den (deutschsprachigen) Berichten und Webseiten benutzten Formulierungen als verbesserungsbedürftig. Um diesem Wunsch der Anwender nach Umformulierung entgegen zu kommen, wird vom Programm die Möglichkeit angeboten, die Formulierungen den eigenen Vorstellungen anzupassen. Allerdings trifft dies nicht für alle Fälle zu.
Inhalt dieser Seite ist, zu beschreiben, wie man dennoch die vom Programm vorgegebenen Formulierungen ändern kann.
Schon die deutsche Variante der Version 4 von PAF hatte ein paar
Formulierungsfehler bzw. -schwächen. Beispiel: Wenn man für eine Person den
Beruf "Schuster" eingegeben hatte, wurde bei den Berichten von PAF eine
Formulierung benutzt in der Art "Mustermann war beschäftigt Schuster" - es
fehlte schlichtweg das Wörtchen "als". Dieses Verhalten war ärgerlich und konnte
im Programm nicht unmittelbar verändert werden.
Etwas zum Hintergrund
In "PAF" und anderen Ahnenforschungsprogrammen werden Dinge wie z.B. Geburt und
Tod als "Ereignisse" betrachtet.
Ein Ereignis kann ein Datum, einen Ort und eine inhaltliche Beschreibung
umfassen.
Beispiele von Ereignissen:
1. "Beruf"
Bei diesem Ereignis wird meist auf die Angabe von Datum und Ort verzichtet und
ausschließlich die Beschreibung erfasst, also z.B. "Landwirt".
2. "Taufe"
Bei diesem Ereignis wird man Datum und Ort erfassen und keine weitere
Beschreibung formulieren.
Das letztgenannte Beispiel "Taufe" soll hier weiterhin als Beispiel dienen.
Allerdings kommt im Falle der Taufe noch eine weitere Besonderheit
hinzu.
"PAF" bezeichnet als "Taufe" ein Ereignis, das bei den Mormonen eine eigene
Bedeutung hat, die von der Bedeutung abweicht, die eine Taufe im Sinne der
großen christlichen Kirchen hat.
Die "Taufe", wie sie von Katholiken und Protestanten verstanden wird, bezeichnet
"PAF" als "Kleinkindtaufe".
Somit wird auch bei den Berichten der Begriff "Kleinkindtaufe" benutzt, der aber
unüblich beim Großteil der Christen ist.
Es ist falsch, eine solche Taufe im Sinne der großen Kirchen bei der Erfassung
in PAF als Ereignis "Taufe" zu behandeln, man sollte es als "Kleinkindtaufe"
erfassen (das hat etwas mit der zugeordneten "GEDCOM"-Kategorie zu tun).
Anderseits ist es ärgerlich, dass dann in den Berichten der Begriff "Kleinkindtaufe" benutzt wird. In den Berichten möchten also viele Anwender den Begriff "Kleinkindtaufe" durch das Wörtchen "Taufe" ersetzt wissen. Das aber erlaubt PAF nicht.
Wenn man in PAF 5.1 Ereignis-Texte ändern will, geht man auf den Menüpunkt "Bearbeiten" - "Ereignisse einer Person". Um beim Beispiel "Kleinkindtaufe" zu bleiben: Nun ist aus der dargestellten Liste der Eintrag "Kleinkindtaufe" auszuwählen und mit "Bearbeiten" kommt man in die folgende Maske:
Wie man sieht, beinhalten die Verb-Ausdrücke den Begriff
"Kleinkindtaufe".
Ziel der folgenden Anleitung ist zu zeigen, wie man diesen Begriff ersetzt durch
den Begriff "Taufe", so dass als Ergebnis die Maske wie folgt aussieht:
In "PAF" werden Ereignisse in 2 konzeptionell grundsätzlich verschiedenen Kategorien behandelt, auch wenn das zunächst nicht offensichtlich ist, sich also dem Anwender nicht unmittelbar erschließt und die Dokumentation diese Differenzierung nur unzureichend beschreibt. Zitat aus der PAF-5.1-Online-Hilfe: "Ein standardmäßig eingerichtetes Ereignis können Sie nicht bearbeiten. Fügen Sie statt dessen ein neues benutzerdefiniertes Ereignis zur Liste hinzu." Dieser Empfehlung, ein neues benutzerdefiniertes Ereignis zu definieren, will ich mich aus verschiedenen Gründen nicht anschließen.
Zu jeder Art von Ereignis kennt "PAF" mehrere damit zusammenhängende Zeichenketten ("Verb-Ausdrücke"). Hier nun die 2 Kategorien von Ereignissen:
1. Benutzerdefinierte Ereignisse
Diese sind frei definierbar und die zugehörigen Zeichenketten sind beliebig zu
ändern.
Sie entsprechen keiner GEDCOM-Kategorie und würden ignoriert werden, wenn man
versuchen würde, per GEDCOM-Export und nachfolgendem Import in einem anderen
Werkzeug diese Ereignisse weiter zu erhalten.
Sie sind nur innerhalb von PAF von Interesse.
Die Daten dieser Ereignisse werden in der *.paf-Datei gespeichert, das heißt,
sie sind pro PAF-Datei ggf. wieder neu zu definieren.
2. "standardmäßig eingerichtete Ereignisse"
Diese sind nicht frei definierbar und die zugehörigen
Zeichenketten sind nicht zu ändern - der "OK"-Button in der entsprechenden
Bearbeitungs-Maske ist deaktiv (siehe Bild 1
oder Bild 2).
Sie entsprechen einer GEDCOM-Kategorie und sollten erhalten bleiben, wenn man
per GEDCOM-Export und nachfolgendem Import in einem anderen Programm diese
Ereignisse weiter nutzen möchte.
Sie sind also nicht nur innerhalb von PAF von Interesse.
Die Daten dieser Ereignisse sind von PAF vorgegeben und können nicht geändert
werden.
- - - Fast nicht ! - - -
Wie gesagt, diese Daten sind innerhalb des Programms nicht zu
ändern. Man kann sie aber ändern, wenn man die entsprechende Programm-Datei mit
einem entsprechenden Werkzeug modifiziert.
Die Datei heißt "paf5de.dll" und ist im Installations-Verzeichnis von PAF zu
finden.
Ein "entsprechendes Werkzeug" wäre ein sogenannter "resource editor". Ich werde
im folgenden dafür den Begriff "Ressourcen-Editor" benutzen.
Ein "Ressourcen-Editor" kann die sog. "Ressourcen" eines Windows-Programms
(*.exe oder *.dll) ändern.
Grob gesagt besteht ein Windows-Programm aus einer *.exe-Datei und
ggf. aus weiteren *.dll-Dateien.
Diese *.exe- und *.dll-Dateien sind in sich in 2 Teile unterteilt: dem
eigentlichen Programm-Code (da steckt also die ganze Logik drin) und einem
"Ressourcen"-Teil.
Unter "Ressource" versteht man all die statischen Teile, die nichts mit der
Programm-Logik zu tun haben: Bildschirm-Masken, Icons, Versionsinfo, Cursor,
Menüs, Zeichenketten etc.
Mit einem Ressourcen-Editor kann man diese Bestandteile modifizieren, ohne an
der Programmlogik etwas zu ändern.
Solche Ressourcen-Editoren können Bestandteil von "integrierten
Software-Entwicklungsumgebungen" sein oder aber als eigenständige Programme
erhältlich sein.
Ein Beispiel für einen Ressourcen-Editor ist "Resource Hacker", ein frei verfügbares Werkzeug, das von hier geladen werden kann.
Man braucht keine Kenntnisse der Softwareentwicklung, um ein solches Werkzeug zu nutzen. Einem absoluten Computer-Neuling sei aber die Benutzung nicht unbedingt angeraten.
Ich warne EINDRINGLICH davor, ein ungeeignetes Werkzeug, wie z.B. einen Text-
oder sog. "Hex"-Editor für diese Zwecke zu gebrauchen!
Ein Ressourcen-Editor ist ein Werkzeug, das die internen Strukturen der
Ressourcen einer EXE- bzw. DLL-Datei kennt - genau das ist erforderlich. Jedes
andere Werkzeug richtet Schaden an!
Natürlich sind die Lizenz-Bestimmungen von PAF zu beachten. Auf alle Fälle
verbietet es der Hersteller, den Programm-Code zu modifizieren. Ob damit auch
die Ressourcen gemeint sind - nun darüber könnte man sich streiten. Diesen
Streit möchte ich aber nicht führen. Das heißt, ich biete Anleitungen, wie man
für sich selbst diese Ressourcen ändern kann, aber ich werde auf keinen Fall
modifizierte Programm-Teile in Umlauf bringen. Und ich rate niemandem,
veränderte Programm-Teile in Umlauf zu bringen.
Selbstverständlich ist jeder, der Programm-Teile modifiziert, für diese
Veränderungen selbst verantwortlich.
Zurück zur Sache.
Es folgt eine Schritt-für-Schritt-Anleitung, wie man anhand eines Ressourcen-Editors (am Beispiel "Resource Hacker") Teile von PAF so abändern kann, dass Ereignis-Texte verändert werden.
Falls noch nicht vorhanden,
ist "Resource Hacker" zu installieren. Die Datei "reshacker.zip" ist zu
laden und zu speichern.
Ein neues Installations-Verzeichnis für "Resource Hacker" ist anzulegen und
die Zip-Ddatei sollte diesem Verzeichnis abgelegt und entpackt werden.
Sollte dieser Schritt bereits auf Verständnis-Schwierigkeiten stoßen,
empfehle ich, die weiteren Schritte nicht weiter zu verfolgen.
Der Windows-Explorer ist zu starten und das Installations-Verzeichnis von "PAF 5.1" ist auszuwählen.
Die Datei "paf5de.dll" ist
durch Mausklick zu markieren, mit "Strg-C" und "Strg-V" wird eine Kopie der
Datei erzeugt.
Die Kopie hat nun den Namen "Kopie von paf5de.dll".
Ziel dieses Schrittes ist, eine Sicherungskopie der Datei "paf5de.dll" unter
dem Namen "Kopie von paf5de.dll" anzulegen.
Die Datei "paf5de.dll" kann nun gefahrlos bearbeitet werden. Sollte die
weitere Bearbeitung von "paf5de.dll" auf irgendeine Art und Weise scheitern
oder Probleme bereiten, sollte sie gelöscht werden und durch Umbenennung von
"Kopie von paf5de.dll" nach "paf5de.dll" kann der ursprüngliche Zustand
wieder hergestellt werden.
Sollte "PAF" aktiv sein, ist
das Programm zu beenden.
Wichtig, denn die Datei "paf5de.dll" sollte zeitgleich nur von einem
Programm benutzt werden, entweder von PAF oder von "Resource Hacker"!
Nun ist "Resource Hacker" zu starten.
Im Programm "Resource Hacker" ist über "File - Open" die Datei "paf5de.dll" auszuwählen und zu öffnen.
Im linken Bildschirmbereich befindet sich nun eine Liste der Ressourcen ("TEXTFILE", "Cursor", "Bitmap", etc.).
"String Table" ist durch Doppelklick zu expandieren.
Unterhalb von "String Table" öffnet sich nun eine lange Liste, beginnend mit einem untergeordneten Verzeichnis "7", bis zu einem Eintrag "3869".
Jetzt beginnt die spannende
Suche nach der richtigen "string table resource".
Jeder der Ordner-Smbole läßt beim Öffnen ein Symbol mit der Bezeichnung
"1031" erscheinen.
Um beim Beispiel "Kleinkindtaufe" zu bleiben: Der Ordner 479 ist der
richtige Einstieg!
Wenn man auf die "1031" klickt, erscheint etwa folgendes Bild:
Bild 3
Nun kann man beginnen, im rechten Fenster Einträge zu ändern.
In der Zeile
7656, "Kleinkindtaufe|KKT|KT|CHR|1|0|1|0|I"
starten die Einträge zur Kleinkindtaufe.
Diese erste Zeile sollte nicht verändert werden.
In den Zeilen 7657
bis 7663
kann man nun die Begriffe "Kleinkindtaufe" durch den Begriff "Taufe"
ersetzen.
Wie man in Bild 1 oder Bild 2
sieht, bietet jeder der 3 Karteikartenreiter "Männlich", "Weiblich" sowie
"Unbekannt" Zugriff auf eine Seite, in der man 4 Einträge sieht.
In Summe kann man also 3 x 4 = 12 verschiedene Einträge ändern.
Im Text-Beispiel oben sieht man allerdings nur die ersten 7 Einträge von den
insgesamt 12 Einträgen, die zu dem Begriff "Kleinkindtaufe" gehören.
Den Zugriff auf die verbleibenden 5 Einträge hat man, wenn man in "Resource
Hacker" den Ordner 479 verlässt und den nächsten Ordner 480 öffnet.
Wenn man Änderungen vorgenommen hat, wird die folgende Meldung auftauchen:

Diese Meldung ist mit "Ja" zu
beantworten.
Die Frage "Do you wish to Compile it?" meint, ob die textuellen Änderungen,
die man vorgenommen hat, in ein internes Format übersetzt werden sollen.
Dieses "Compile" ist erforderlich, um die Änderungen wirksam werden zu
lassen; daher ist die Frage mit "Ja" zu beantworten.
Hiermit ist das Beispiel abgeschlossen. Nun kann man noch weitere Änderungen in der beschriebenen Vorgehensweise durchführen.
Einige Dinge sollten aber bei der Arbeit mit "Resource Hacker" beachtet werden:
Wenn man die Dinge mit Umsicht angeht (eine
solche Vorgehensweise sollte bei Ahnenforschern ohnehin vorliegen), kann
eigentlich nichts schief gehen.
Sollte wider Erwarten doch irgendein Problem auftreten, kann man durch
Restaurieren der ursprünglichen DLL wieder den alten Zustand herbei führen.
Zum Schluß möchte ich betonen, dass ich das
Programm PAF sehr schätze und sowohl die Leistungen der Entwickler anerkenne als
auch das Angebot des Herstellers würdige, das Programm kostenfrei zu nutzen.
Die Anleitung soll helfen, den Nutzwert des Programms zu erhöhen und zur
weiteren Verbreitung des Programms beizutragen.
Mich würde es sehr freuen, wenn der Hersteller das Konzept der 2
unterschiedlichen Arten von Ereignissen und deren Modifikationsmöglichkeiten
überdenken würde und in einer zukünftigen Version von PAF dem Anwender die
Möglichkeit bieten würde, alle Ereignisse zu ändern. Dann würde ich liebend
gerne diese Anleitung wieder löschen.
Am 23. Mai 2001 ist eine neue Version von PAF 5
erschienen. Die Version trägt die Nummer 5.1.12.0. Die Vorgängernummer war
5.1.7.0.
Nun mag es "wagemutige" Zeitgenossen geben, die Änderungen an "paf5de.ll" der
Version 5.1.7.0 gemacht haben und sich nun fragen, ob denn diese DLL auch unter
5.1.12.0 funktioniert.
Ich habe diese DLL in diesen beiden Versionen systematisch verglichen. Die
Änderungen sind hier dokumentiert.
Es sind also wenige "kosmetische" Änderungen gemacht worden, viele Schwächen aus
der Vorgängerversion sind uns erhalten geblieben.
Allerdings gibt es eine wesentliche Änderung im Dialog 369. Dort sind 2 Elemente
hinzugekommen. Es betrifft einen Dialog, der erscheint, wenn man bei der Eingabe
eines Namens den Nachnamen nicht eindeutig mit Schrägstrichen markiert.
Beispiel: "Erika /Muster/mann/".
In Folge eines solchen Eingabefehlers erscheint ein Dialog, der unter PAF
5.1.12.0 so aussieht:

In PAF 5.1.7.0 fehlt die Zeile "Nachname: Muster". Dort wird in 5.1.12.0 abhängig von den Eingaben dynamisch dargestellt, wie das Programm die Eingabe interpretiert, also welcher Teil als Nachname erkannt wird.
Wenn man eine modifizierte DLL der Vorgängerversion nimmt und der Version 5.1.12.0 "unterschiebt", wird in dieser Situation folgende Fehlermeldung erscheinen:

Respekt an die Entwickler von PAF!
Ich hätte erwartet, dass das Programm an dieser Stelle abstürzt.
Man kann nun wie oben beschieben, wie gehabt
loslegen und die DLL modifizieren. Die von mir beschrittene Alternative:
Ich habe die "alte", von mir modifizierte DLL genommen und die fehlenden 2
Zeilen in Dialog 369 ergänzt. Fertig!
Hier die 2 Zeilen:
CONTROL "Nachname:", 1922, STATIC, SS_LEFT |
WS_CHILD | WS_VISIBLE | WS_GROUP, 8, 37, 40, 9
CONTROL "Text", 1923, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 49,
37, 235, 9
Viel Spaß und Erfolg!
Eckhard Henkel
P.S.: Sollten Sie diese Darstellungen nützlich finden, Verbesserungsvorschläge oder sonstige Kommentierungen haben, schreiben Sie an die folgende EMail-Adresse:
© Copyright Eckhard Henkel
Letzte Änderung am
29.12.11