Plugin: Personeninseln finden

Plugins, Sprachdateien, Rahmen & Hintergrundgrafiken
Benutzeravatar
ThomasG
Beiträge: 298
Registriert: 31.05.2007, 00:28
Wohnort: Preußen (mittlerweile Rheinprovinz)

Beitrag von ThomasG »

Morgen die Herren !
Ich denke es könnte schon helfen, wenn du deine Suche als Tiefensuche implementierst. Die Abgearbeiteten Knoten in einem Vector/Liste hälst. Und ebenso die Suchfront als Queue in einer Liste hälst.
So in der Art läuft’s jetzt.
Eine Tabelle die zu jeder Person die eigene RefNr und die von Mutter, Vater und Partner(n) bereit hält.
Dann eine leere Wahrheitstabelle generiert in der einfach „markiert“ wird daß die jeweilige Person schon in der Insel ist. Wenn dort eine Person zugefügt wird alle anderen Refs aus der ersten Tabelle holen und dort löschen. die eine Tabelle wird immer kleiner und die andere größer, bis nix mehr zugefügt werden kann. Dann ist die eine Insel fertig.
Die RefNr werden als Long-Vars gespeichert und nicht als Text.... vieeeeel schneller.
gibt es einen Befehl um aus einer abp-Datei heraus eine GEDCOM-Datei anzulegen
Ja, mit der Beta3 folgende:
Guck mal im Plugin-Ordner die CDBurnXP.abp an
2=$SAVEAS(GEDCOM,%cdburning%\family.ged)
speichert als GEDCOM Datei.
Als neue Befehle in der Beta 3 hat Dirk noch folgendes zugefügt
GEDCOM-ANSI, GEDCOM-UNICODE, CSVFILE-ANSI, CSVFILE-UNICODE
da mußt in der oben genannten Zeile einfach nur das GEDCOM mit einem davon ersetzen. Wenn dort nur GEDCOM steht, legt AB das Ausgabeformat selber fest (je nach Zeichencodierung)
Ich frage mich immer noch, woher du wußtest, dass der Befehl "csvfile" funktionierte
Genau so, wie Hugo immer AB „Hardcore-Testet“ ... probieren was einem so einfällt ;-)
Die originalen Plugins waren ein guter Anhaltspunkt, der Rest raten.
Sensationell, erste Sahne, und nun so schnell wie Ages.
Echt ?? Bei mir waren’s mit einer großen Datei 6 Sekunden, daher dachte ich du haust mich ;-)
So kann man sich teuschen: Ich schätzte meine Inseln auf über 100, tatsächlich sind es lt. InselFinder 324
Hätte ich dir auch sagen können :P und auch daß die 2. Insel die größte ist. ;-) Bei der hab ich festgestellt, daß der ganze Text gar nicht in die alte Textbox paßte, jetzt als Listbox geht das auch.



Danke noch mal an Dirk für’s implementieren der neuen Exportfunktionen (Unicode und ANSI) und an Torquatus für’s zur Verfügung stellen von RefNummern von seiner groooßen Datei. War gut zum Testen.

Wenn’s dann erst mal so paßt, kann das Plugin dann ja nach/mit Veröffentlichung der Final 2.50 mit in die Downloads gepackt werden und es könnte tatsächlich mal über ein Unterforum „Plugins“ nachgedacht werden.

Gruß: Thomas
Benutzeravatar
Torquatus
Beiträge: 3698
Registriert: 19.01.2006, 22:19
Wohnort: Mannheim

Beitrag von Torquatus »

Hallo Thomas,
ThomasG hat geschrieben:
Sensationell, erste Sahne, und nun so schnell wie Ages.
Echt ?? Bei mir waren’s mit einer großen Datei 6 Sekunden, daher dachte ich du haust mich ;-)
heute Nacht war die Geschwindigkeit "gefühlt". Gerade eben mit Stoppuhr gemessen waren es 5,8 Sekunden gesamt. Für das Sichern werden 4,5 Sekunden gebraucht und für den Tabellenaufbau der Rest von 1,3 Sekunden. Damit hast Du sogar "Ages" geschlagen :D :D :D

Nochmals vielen Dank für das Tool :D

So kann man sich teuschen: Ich schätzte meine Inseln auf über 100, tatsächlich sind es lt. InselFinder 324
Hätte ich dir auch sagen können :P und auch daß die 2. Insel die größte ist. ;-) Bei der hab ich festgestellt, daß der ganze Text gar nicht in die alte Textbox paßte, jetzt als Listbox geht das auch.

Danke noch mal an Dirk für’s implementieren der neuen Exportfunktionen (Unicode und ANSI) und an Torquatus für’s zur Verfügung stellen von RefNummern von seiner groooßen Datei. War gut zum Testen.
Na, dann freut mich, dass ich verstanden habe, was Du an Daten haben wolltest.
Wenn’s dann erst mal so paßt, kann das Plugin dann ja nach/mit Veröffentlichung der Final 2.50 mit in die Downloads gepackt werden und es könnte tatsächlich mal über ein Unterforum „Plugins“ nachgedacht werden.
Ahnenblatt ist ja von Haus aus schon ein schöne Programm, aber mit den Plugins wird es nun - hoffentlich recht schnell - noch schöner.

Ich würde mich ja gerne auch an Plugins versuchen, aber mein VB6 (ich habe nur die Einsteiger Version) läuft nicht mehr unter VISTA, weshalb ich es deinstallieren musste :cry:
Gruß, Torquatus

C.c. - Übrigens stelle ich den Antrag, dass Ahnenblatt das beste aller Ahnenprogramme werden muss - frei nach Cato
Benutzeravatar
Jürgen T.
Beiträge: 1607
Registriert: 29.12.2006, 14:29
Wohnort: Bernkastel-Kues (Mosel)

Beitrag von Jürgen T. »

Hallo Thomas,

vielen Dank für die Info.

Ich hatte es schon mit dem Befehl GEDCOMFILE (analog zu CSVFILE) versucht, aber da kam nichts gescheites bei raus. Jetzt fluppts.

Dann aber nochmals als Wunsch:
Es sollen auch die Tags SURN und GIVN ausgegeben werden (oder ist das kein Standard? - PAF gibt diese Tags aus).

Gruß

Jürgen
Gruß
Jürgen
Flash
Beiträge: 650
Registriert: 14.05.2007, 12:23
Wohnort: Chemnitz, Sachsen

Beitrag von Flash »

@Torquatus: Du brauchst kein VB. Das sollte mit allen Programmiersprachen klappen.

Ich hab mir vorgenommen die Verteilten Tafeln als Plugin zu bauen, sobald ich weiß was die Schnittstelle so leisten kann.
Benutzeravatar
Jürgen T.
Beiträge: 1607
Registriert: 29.12.2006, 14:29
Wohnort: Bernkastel-Kues (Mosel)

Beitrag von Jürgen T. »

Hallo,

ich stelle einfach mal zusammen, was bisher bekannt ist.

Folgende Befehle können in einem Plugin angewendet werden um Ahnenblatt zu veranlassen, eine bestimmte Datei abzuspeichern:

GEDCOM: Erzeugt eine GEDCOM-Datei in der bereits in Ahnenblatt enthaltenen Zeichencodierung (*.ged)
GEDCOM-ANSI: Wie vor, jedoch in der ANSI-Codierung (*.ged)
GEDCOM-UNICODE: Wie vor, jedoch in der UNICODE-Codierung (*.ged)
CSVFILE: Erzeugt eine CSV-Datei in der bereits in Ahnenblatt enthaltenen Zeichencodierung (*.csv)
CSVFILE-ANSI: Wie vor, jedoch in der ANSI-Codierung (*.csv)
CSVFILE-UNICODE: Wie vor, jedoch in der UNICODE-Codierung (*.csv)
WEBSITE: Erzeugt eine HTML-Datei als website (*.htm)
AHNENBLATT: Erzeugt eine Ahnenblatt-Datei (*.ahn)
PalmWeb: Erzeugt eine HTML-Datei für einen PALM oder Pocket-PC (*.htm)

Die Dateinamen sind frei wählbar.

Diese Funktionen müssen wie in folgendem Beispiel eingegeben werden:

2=$SAVEAS(GEDCOM,%Unterverzeichnis%\Name.ged)

Bitte korrigiert mich wenn ich was falsches widergegeben habe.

Gruß

Jürgen
Gruß
Jürgen
Benutzeravatar
Chlodwig
Super Moderator
Beiträge: 1636
Registriert: 20.01.2006, 13:49
Wohnort: Ostbayern

Beitrag von Chlodwig »

Hallo,

hab auch mal das IF.zip mit der beta3 ausprobiert, Ergebnis:
Bei über 7000 Personen weniger als 1 sec Laufzeit und die 1 große "Insel".
Super!
Gruß, Chlodwig
Flash
Beiträge: 650
Registriert: 14.05.2007, 12:23
Wohnort: Chemnitz, Sachsen

Beitrag von Flash »

Ich will nur nicht glauben, dass SAVEAS der einzige Befehl ist. Das gibts bestimmt noch mehr, bzw es ist noch mehr geplant. Sonst wäre das ein bisschen wenig für eine Plugin-Schnittstelle.
Benutzeravatar
ThomasG
Beiträge: 298
Registriert: 31.05.2007, 00:28
Wohnort: Preußen (mittlerweile Rheinprovinz)

Beitrag von ThomasG »

Plugin ist soweit fertig und die Sache erst mal abgeschlossen.
Im Anhang die neue Version mit kleinen Änderungen, so wie es vorerst mal bleibt. Hilfedatei ist auch enthalten mit Beschreibung und co.

Edit: Anhang entfernt
Zuletzt geändert von ThomasG am 19.05.2008, 11:01, insgesamt 1-mal geändert.
Benutzeravatar
bjew
Beiträge: 4136
Registriert: 19.01.2006, 19:31
Wohnort: südlicher geht's immer

Beitrag von bjew »

ich bekomme noch einen Laufzeitfehler '13' - Typen unverträglich-
DLL und OCX sollten alle da sein, da auf diesem Rechner VB6 installiert ist.
W2k + Office 2000
Bleibt gesund, Gruß
bjew (Bernhard) ------ derzeit fast nicht aktiv
System: Win10 auf Laptop mit i7 --- Ahnenblatt 2.74 (als Backup), 2.99[p] u. V3.56
Benutzeravatar
ThomasG
Beiträge: 298
Registriert: 31.05.2007, 00:28
Wohnort: Preußen (mittlerweile Rheinprovinz)

Beitrag von ThomasG »

Hallo bjew !

Hmm, komisch.
Nur bei deiner Datei oder auch mit den Beispiel Dateien ?

Entweder du guckst nachdem der Fehler auftrat direkt in den Plugin Ordner in den Unterordner "Inselfinder" und schickst mir die Datei Liste.tmp
Oder, sofern du nicht willst, schick ich dir das VB Projekt und du guckst selber mal nach wo der Fehler auftritt... wenn du schon VB6 hast.

Gru?: Thomas
Benutzeravatar
bjew
Beiträge: 4136
Registriert: 19.01.2006, 19:31
Wohnort: südlicher geht's immer

Beitrag von bjew »

habs jetzt mit 3 verschiedenen Rechnern versucht, überall der Fehler.
Die Testdateien funktionieren
Ich schicke dir die Liste.tmp, nehm aber gerne gleichzeitig das Projekt - wobei ich seit Jahren nicht mehr programmiere.

Die Datei ist 400 kb gross, geht also nicht per pn, schick mir bitte deine emil ....
Bleibt gesund, Gruß
bjew (Bernhard) ------ derzeit fast nicht aktiv
System: Win10 auf Laptop mit i7 --- Ahnenblatt 2.74 (als Backup), 2.99[p] u. V3.56
Benutzeravatar
Torquatus
Beiträge: 3698
Registriert: 19.01.2006, 22:19
Wohnort: Mannheim

Beitrag von Torquatus »

Hallo Thomas,
ThomasG hat geschrieben:Plugin ist soweit fertig und die Sache erst mal abgeschlossen.[...]
und läuft hier unter VISTA und Beta3 problemlos. Nochmals vielen Dank für dieses nützliche Plugin :D :D :D
Gruß, Torquatus

C.c. - Übrigens stelle ich den Antrag, dass Ahnenblatt das beste aller Ahnenprogramme werden muss - frei nach Cato
Benutzeravatar
ThomasG
Beiträge: 298
Registriert: 31.05.2007, 00:28
Wohnort: Preußen (mittlerweile Rheinprovinz)

Beitrag von ThomasG »

Hallo bjew !

Die Idee mit der Zwischenablage hab ich gar nicht bedacht.....
Deine ersten Personen in deiner Liste... alle „.Quellen“
Dort hast du in den Quellen jedes mal Text über die Zwischenablage eingefügt.
Damit hab ich nicht gerechnet ;-)

Eigentlich kannst du in den Textfeldern in AB keine TAB’s eingeben, aber über die Zwischenablage funktioniert das.
Da nun die Spaltentrenner in der CSV-Datei auch TAB’s sind, kollidiert das.

Vorerst löscht du die ersten Personen und führst dann das Plugin aus.
Alternativ die TAB’s in deinen „Quellen-Personen“ in Leerzeichen verwandeln.
Dann sollte es gehen.
TAB’s sind in:
Quellen von Person: 5,6,8,9,10,11,25,26,27,28,29
Anmerkungen von Person: 16

Werd ich wohl doch mal eine bessere Routine zum Spalten trennen basteln müssen.

Gruß: Thomas
Benutzeravatar
bjew
Beiträge: 4136
Registriert: 19.01.2006, 19:31
Wohnort: südlicher geht's immer

Beitrag von bjew »

Oh, die TABs müssen anderweitig reinkommen. Bewusst jedenfalls nicht von mir.
Sicher habe ich stellenweise aus der Zwischenablage reinkopiert...


ach ja, stimmt, da war mal was, vor langer Zeit. Da wollte ich was formatieren ;-) und musste mich shr anstrengen,
habe da eine Liste von Verweisen. Tja, an was man so alles denken muss.
Bleibt gesund, Gruß
bjew (Bernhard) ------ derzeit fast nicht aktiv
System: Win10 auf Laptop mit i7 --- Ahnenblatt 2.74 (als Backup), 2.99[p] u. V3.56
Antworten