Steckbrief (Ahnenblatt Plugin): Unterschied zwischen den Versionen

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen
Zeile 24: Zeile 24:
Jede Vorlage stellt ein definiertes Layout dar.
Jede Vorlage stellt ein definiertes Layout dar.
Hier sind diverse Anzeigeelemente/Steuerelemente wie Textfelder oder Bildboxen platziert. Diese werden je nach Personenauswahl dynamisch befüllt.
Hier sind diverse Anzeigeelemente/Steuerelemente wie Textfelder oder Bildboxen platziert. Diese werden je nach Personenauswahl dynamisch befüllt.
Jedes Element besteht aus vielen weiteren Eigenschaften wie zb height (höhe),top (position von oben, fontcolor (farbe des textes) usw. ähnlich wie html.
Jedes Element besteht aus vielen weiteren Eigenschaften wie zb height (höhe),top (position von oben, fontcolor (farbe des textes) usw. ähnlich wie html.
Alle diese Eigenschaften dürfen frei verändert werden.
 
Alle diese Eigenschaften dürfen frei verändert werden. Werden aber je nach Syntax im "Tag" während des Programmablaufs verändert.


===Daten dynamisch eintragen lassen===
===Daten dynamisch eintragen lassen===

Version vom 2. Dezember 2014, 21:57 Uhr

Bezeichnung

  • Steckbrief

Beschreibung

Zum erzeugen diverser Personenblätter Daten werden automatisch von Ahnenblatt übernommen. Das Programm stellt eine Personenliste und eine Vorlagenliste zur Auswahl

Vorlagen bearbeiten / neue erstellen

Hilfsprogramme

Datenformat der Vorlagen ist xaml. Dieses kann mittels eines normalen Texteditors (zb notepad) oder auch Graphisch per VisualStudio (ab 2013) oder MS Blend bearbeitet werden.

Download diverse Downloads kommen in Frage

  • Express 2013 mit Update für Windows Desktop (kostenlos. enthält kein Blend)
  • Community 2013 mit Update (kostenlos. mit Blend. noch sehr neu)
  • Professional 2013 mit Update (90 Tage Testversion. inkl Blend)

nach 30 Tagen müssen die kostenlosen Versionen bei MS registriert werden (kostet nichts).

allgemein

Sämmtliche Vorlagen liegen im "\Plugins\Steckbrie\Briefe" Unterverzeichniss. Jede Vorlage stellt ein definiertes Layout dar. Hier sind diverse Anzeigeelemente/Steuerelemente wie Textfelder oder Bildboxen platziert. Diese werden je nach Personenauswahl dynamisch befüllt.

Jedes Element besteht aus vielen weiteren Eigenschaften wie zb height (höhe),top (position von oben, fontcolor (farbe des textes) usw. ähnlich wie html.

Alle diese Eigenschaften dürfen frei verändert werden. Werden aber je nach Syntax im "Tag" während des Programmablaufs verändert.

Daten dynamisch eintragen lassen

Um Werte aus der Datenbank auf den Elementen anzuzeigen muss ein Anzeigesyntax definiert werden. Dieser kommt in die "tag" Eigenschaft.

zb ein Label:

im "tag" steht "%name%" >> auf dem Label wird der name der momentan ausgewählten Person angezeigt.

im xaml code sieht die definition zb so aus:

<Label Content="abcd" Tag="%name%" HorizontalAlignment="Left" Height="92" Margin="72,177,0,0" VerticalAlignment="Top" Width="454"  FontSize="16"/>

beim Label stellt die "caption" Eigenschaft den Anzeigetext dar. Wurde auf dieser schon ein Text gelegt dann wird dieser überschrieben. (Im bsp "abcd")

Wurde im "Tag" nichts hinterlegt so wird es nicht bearbeitet und schon vorbelegter Text bleibt so auch stehen. Wird zb genutzt um einfache starre Beschriftungen anzulegen.

Elementtypen

Das Programm wählt anhand des Elementtyps aus, auf welche Eigenschaft der "tag" bzw diese Daten ausgegeben werden.

momentan berüchsichtigte Elemente:

Elementtyp Eigenschaft Ausgabeformat
label content text
textbox text text
textblock text text
image imagesource bild
listbox items.text auflistung (nur text)

Es kann zb keine Ausgabe vom "tag" auf die "Fontcolor" (textfarbe) Eigenschaft gelegt werden. Was auch nicht viel Sinn macht.

Es dürfen natürlich auch sämtliche anderen Elemente der Entwicklungsumgebung benutzt werden. Nur werden diese nicht verarbeitet.


Variablen

Alle Variablen werden von "%" Zeichen umschlossen

Variablen liefern zb Daten einer bestimmten Person. (Person je nach Auswahl und verwendeten Optionen)

Variablen auf Person bezogen

Name Bedeutung
%refnr% Ref nr
%name% voller Name
%gebort% geburtsort
usw

sonstige Variablen

Name Bedeutung
%date-dmy% aktuelles Datum im Format ddmmyyyy
%date-d aktueller Tag
%date-m aktueller Monat
%time% aktuelle zeit

einfache Variablen ohne %%

Name Bedeutung
/n Zeilenumbruch
/tab Tabulator

Die Tabellen sind nur Auszüge. Sämtliche aktuelle Variablen können im Programm mit der Schaltfläche "Variablen" angezeigt werden

Optionen

Alle Optionen werden von "$" Zeichen umschlossen.

Optionen haben nur Einfluss auf den eigenen "Bereich" (siehe nächsten Abschnitt)

Sie geben selbst keine Werte wie Variablen aus. Personenauflistungen müssen immer am Anfang eines Bereichs aufgeführt sein.

Name Bedeutung
$pl-ch$ alle Kinder
$pl-si$ alle Geschwister
$pl-sp$ alle Partner
$c-month$ wandelt numerische Monatsangaben in Text zb ".01." >> ". Januar"

Die Tabellen sind nur Auszüge. Sämtliche aktuelle Optionen können im Programm mit der Schaltfläche "Variablen" angezeigt werden

Bereich

Ein Bereich ist allgemein erstmal der komplette "tag" Bereich. Dieser wird hier als Hauptbereich bezeichnet.

Variablen im Hauptbereich beziehen sich auf den ausgewählten Probanden.

Es können Unterbereiche mittels eckiger Klammern definiert werden. Hier gelten die für diesen Bereich geltenden Optionen.

Ein Bereich kann sich auf eine andere Person beziehen. Soll zb auf den Vater mittels $p-fa$ verwiesen werden so kann eigener Unterbereich gesetzt werden.

Diese Unterbereiche beziehen sich so auf den darüberliegenden Bereich.

zb Vater des Probanden

"Vater von %name%: [$p-fa$ %name%]"
>> "Vater von Hans Dampf: Ralf Rauch"

oder der Hauptbereich wird direkt auf den Vater gemünzt.

"$p-fa$ Vater: %name%"
>> "Vater: Ralf Rauch"

Nachteil der zweiten Methode ist das kein einfacher zugriff mehr auf die Probandenwerte möglich ist (Name fehlt hier).

Es darf unbegrenzt tief und breit kaskadiert werden Symbolisches Beispiel mit Ziffern um die Bereiche zu markieren (Sechs Bereiche. 1 ist der Hauptbereich)

111[222[333]222]1[444[5[666]555]44]111

einfacher Syntax, keine Unterbereiche

Textteile welcher keine Variable oder Option darstellt wird als Fliesstext behandelt und 1 zu 1 ausgegeben

allgemein darf gemischt werden

zb Hans Dampf wurde ausgewählt:

Beispiele:

"%name%"
>> "Hans Dampf"
"%name% ist am %gebdat% geboren"
>> "Hans Dampf ist am 12.1.2001 geboren"

Syntax mit Unterbereiche

dh mit eckigen Klammern.

zb um Monatskonvertierung nur auf eine Variable anzuwenden. Sicherstellen das der restliche Text so nicht bearbeitet wird.

"%name% ist am [$c-month$%gebdat%] geboren"
>> "Hans Dampf ist am 12.Januar 2001 geboren" 

zb um Auflistungen durchzugehen.

die Option $pl-ch$ durchgeht alle Kinder der Person des darüberliegenden Bereiches.

Bsp wenn Hans Dampf ausgewählt. Dieser hat 3 Kinder haben hier einfach die Namen Kindx:

"[$pl-ch$ %name%,]" 
>> "Kind1, Kind2, Kind3"
"Kinder von %name%: [$pl-ch$ %name%,]" 
>> "Kinder von Hans Dampf: Kind1, Kind2, Kind3,"

geht auch noch weiter mit Kinder der Kinder, also Enkel:

"Enkel von %name%: [$pl-ch$[$pl-ch$ %name%,]]" 
>> "Enkel von Hans Dampf: Enkel1, Enkel2, Enkel3,"

es ist allerdings nicht ersichtlich welches Enkelkind vom welchen Kind stammt. Es könnten auch alle 3 von Kind 1 stammen und Kind2 und 3 sind Kinderlos

Lösung wäre zb dies:

"Nachfahren von %name%: [$pl-ch$ (%name%)[$pl-ch$ %name%,]]" 
 >> "Nachfahren von Hans Dampf: (Kind1) Enkel1, Enkel2, (Kind2) Enkel3, (Kind3)"

Man sieht hier das Enkel1&2 von Kind 3 stammten und Enkel 3 von Kind2. Kind 3 ist kinderlos.

Syntax mit Unterbereiche für Auflistungselemente

zb Listbox, Listview sind Auflistungselemente. D.h. sie anthalten mehrere Textfelder. Je nachdem wieviele gebraucht werden. zb für jedes Kind ein eigenes Textfeld(zeile)

Versionen

  • aktuell x

Sprache

deutsch

Autor

  • Marc Philipp

Anforderungen

  • Windows Vista/7/8
  • .net Framework 4.5
  • min Ahnenblatt 2.50
  • Einbindung als AB Plugin (muss unter ..\Ahnenblatt\Plugins\ abgelegt sein)

Preis

  • kostenlos (Freeware)

Weitere Informationen