Steckbrief (Ahnenblatt Plugin): Unterschied zwischen den Versionen
MarcP (Diskussion • Beiträge) |
MarcP (Diskussion • Beiträge) |
||
Zeile 66: | Zeile 66: | ||
Alle Variablen werden von "%" Zeichen umschlossen | Alle Variablen werden von "%" Zeichen umschlossen | ||
Variablen liefern Daten einer bestimmten Person. (Person je nach Auswahl und verwendeten Optionen) | Variablen liefern zb Daten einer bestimmten Person. (Person je nach Auswahl und verwendeten Optionen) | ||
Variablen auf Person bezogen | Variablen auf Person bezogen | ||
Zeile 89: | Zeile 88: | ||
|- | |- | ||
| %date-d || aktueller Tag | | %date-d || aktueller Tag | ||
|- | |||
| %date-m || aktueller Monat | |||
|- | |- | ||
| %time% || aktuelle zeit | | %time% || aktuelle zeit | ||
|} | |} | ||
einfache Variablen ohne %% | |||
{| class="wikitable" | |||
| 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'' | ''Die Tabellen sind nur Auszüge. Sämtliche aktuelle Variablen können im Programm mit der Schaltfläche "Variablen" angezeigt werden'' | ||
Zeile 140: | Zeile 149: | ||
111[222[333]222]1[444[5[666]555]44]111 | 111[222[333]222]1[444[5[666]555]44]111 | ||
====einfacher Syntax==== | ====einfacher Syntax, keine Unterbereiche==== | ||
Textteile welcher keine Variable oder Option darstellt wird als Fliesstext behandelt und 1 zu 1 ausgegeben | Textteile welcher keine Variable oder Option darstellt wird als Fliesstext behandelt und 1 zu 1 ausgegeben | ||
allgemein darf gemischt werden | allgemein darf gemischt werden | ||
zb Hans Dampf wurde ausgewählt: | zb Hans Dampf wurde ausgewählt: | ||
Zeile 159: | Zeile 166: | ||
====Syntax mit Unterbereiche==== | ====Syntax mit Unterbereiche==== | ||
dh eckigen Klammern. | dh mit eckigen Klammern. | ||
zb um Monatskonvertierung nur auf eine Variable anzuwenden. Sicherstellen das der restliche Text so nicht bearbeitet wird. | zb um Monatskonvertierung nur auf eine Variable anzuwenden. Sicherstellen das der restliche Text so nicht bearbeitet wird. |
Version vom 2. Dezember 2014, 21:55 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.
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)