Plugin: AB Positiv
Hallo Marc,
der "riesige" Text wurde nicht von Ahnenblatt, sondern vom Benutzer FrankG eingetragen (ich glaube als Vorbereitung für evtl. kommende neue Felder).
Bereits bei der ersten Person sind die Daten den falschen Spalten zugeordnet.
Warum das so ist, kann ich erst mit Hilfe eines guten Editors - den ich gerade nicht verfügbar habe - sagen. Solche Sachen kommen schon mal vor, wenn in einem Feld (also zwischen zwei ") ein Tabulator drin ist. Der bringt alles durcheinander. So ein Tabulator kann eigentlich nur durch "copy and paste" da reinkommen. Ahnenblatt lässt das bei der regulären Eingabe nicht zu.
Bei der CSV-Erzeugung kann man das - meines Wissens - nicht unterdrücken. Da gibt es nur den Befehl $SAVEAS(CSVFILE), der alle Daten ausgibt.
Aber den kennst Du ja.
Ob es noch andere Befehle hierzu gibt, weiß ich nicht. Dirk hat uns noch nicht mitgeteilt, ob wir bereits alle Plugin-Befehle kennen oder ob in unserer Sammlung ( http://www.ahnenblattportal.de/viewtopic.php?t=3410 ) noch welche fehlen.
der "riesige" Text wurde nicht von Ahnenblatt, sondern vom Benutzer FrankG eingetragen (ich glaube als Vorbereitung für evtl. kommende neue Felder).
Bereits bei der ersten Person sind die Daten den falschen Spalten zugeordnet.
Warum das so ist, kann ich erst mit Hilfe eines guten Editors - den ich gerade nicht verfügbar habe - sagen. Solche Sachen kommen schon mal vor, wenn in einem Feld (also zwischen zwei ") ein Tabulator drin ist. Der bringt alles durcheinander. So ein Tabulator kann eigentlich nur durch "copy and paste" da reinkommen. Ahnenblatt lässt das bei der regulären Eingabe nicht zu.
Bei der CSV-Erzeugung kann man das - meines Wissens - nicht unterdrücken. Da gibt es nur den Befehl $SAVEAS(CSVFILE), der alle Daten ausgibt.
Aber den kennst Du ja.
Ob es noch andere Befehle hierzu gibt, weiß ich nicht. Dirk hat uns noch nicht mitgeteilt, ob wir bereits alle Plugin-Befehle kennen oder ob in unserer Sammlung ( http://www.ahnenblattportal.de/viewtopic.php?t=3410 ) noch welche fehlen.
Gruß
Jürgen
Jürgen
mensch ich hätte ja auch mal in ahnenblatt selbst reinschauen können.
da steht dieser text unter "Anmerkungen" und "Quellen". Das sah halt so automatisch erstellt aus.
Deine Vermutung stimmt.
Im Anmerkungstext sind Tabulatoren drin was mir neue Tabellenspalten erzeugt. bzw meine verschiebt das hinten nichts mehr zusammenpasst.
Hm Lösungen:
-ahnenblatt durchsucht beim exportieren nochmal alle Felder und entfernt die tabs
-gedcomexport. hab ich keine Lust und Zeit zu da genug andere Baustellen
da steht dieser text unter "Anmerkungen" und "Quellen". Das sah halt so automatisch erstellt aus.
Deine Vermutung stimmt.
Im Anmerkungstext sind Tabulatoren drin was mir neue Tabellenspalten erzeugt. bzw meine verschiebt das hinten nichts mehr zusammenpasst.
Hm Lösungen:
-ahnenblatt durchsucht beim exportieren nochmal alle Felder und entfernt die tabs
-gedcomexport. hab ich keine Lust und Zeit zu da genug andere Baustellen
oderPrice hat geschrieben: Hm Lösungen:
-ahnenblatt durchsucht beim exportieren nochmal alle Felder und entfernt die tabs
-gedcomexport. hab ich keine Lust und Zeit zu da genug andere Baustellen
- ich sende Dir den Code, den ich selbst mal von einem Pluginentwickler bekam. Dieser Code entfernt diese störenden Tabs.
Den Code bekam ich in VB6 und habe ihn für VB.net umgestellt.
Mach ich heute abend.
Gruß
Jürgen
Jürgen
Hallo Marc,
hier der Code:
Viel Spaß
hier der Code:
Code: Alles auswählen
Private Sub Enttabben(ByRef Eingabe As String)
Dim Tr As String = ""
Dim Counter As Integer
Dim Su As String = ""
Dim neu As String = ""
Dim Zä As Long
Tr = vbTab
Eingabe = Eingabe.Replace("#", "-")
If Rightt(Eingabe, 1) = Tr Then
Do Until Rightt(Eingabe, 1) <> Tr
Eingabe = Mid$(Eingabe, 1, Len(Eingabe) - 1)
Zä = Zä + 1
Loop
For iii = 1 To Zä
neu = neu & "#"
Next iii
Eingabe = Eingabe & neu
End If
For Counter = 50 To 1 Step -1
Su = ""
neu = ""
For iii = 1 To Counter
Su = Su & Tr
Next iii
Su = """" & Su
Su = Su & """"
For iii = 1 To Counter
neu = neu & "#"
Next iii
neu = """" & neu
neu = neu & """"
Eingabe = Eingabe.Replace(Su, neu)
Next
Eingabe = Eingabe.Replace(Tr, " ")
Eingabe = Eingabe.Replace("#", Tr)
End Sub
Private Sub Auffüllen(ByRef Füllstring As String)
Dim m As Integer = 0
For m = Len(Füllstring) To 4
Füllstring = " " + Füllstring
Next m
End Sub
Übergeben wird eine ganze Zeile (alle Felder) einer Person.
Da es den Befehl right$ in vb.net nicht gibt wurde er nachgebildet:
Public Function Rightt(ByVal sText As String, _
ByVal nLen As Integer) As String
If nLen > sText.Length Then nLen = sText.Length
Return (sText.Substring(sText.Length - nLen))
End Function
Gruß
Jürgen
Jürgen
Ah Danke. Du sollst doch feiern.
Habs inzwischen auch hinbekommen (ich konnte nicht warten ). Mit dem textfieldparser habe ich es gelöst. Aber trotzdem immer interessant andere Lösungen zu sehen
ich würde ja hier die "code" Marker benutzen. dummerweise kommt da nur nen 2 Zeilen Ausschnitt bei raus. Unlesbar. Marcus? Kannst du da was machen?
Habs inzwischen auch hinbekommen (ich konnte nicht warten ). Mit dem textfieldparser habe ich es gelöst. Aber trotzdem immer interessant andere Lösungen zu sehen
Code: Alles auswählen
Private Function readcsv(ByRef pfad As String, ByRef trenner As String) As List(Of clAhnenDataItem)
Dim myData As New List(Of clAhnenDataItem) 'datenspeicher aller personen
Dim afile As FileIO.TextFieldParser = New FileIO.TextFieldParser(pfad, System.Text.Encoding.Default)
Dim csv_line As String() 'array enthält immer eine Zeile
afile.TextFieldType = FileIO.FieldType.Delimited
afile.Delimiters = New String() {trenner}
afile.HasFieldsEnclosedInQuotes = True
Dim kopf As Boolean = True
Do While Not afile.EndOfData 'alle zeilen durchgehen
Try
csv_line = afile.ReadFields
If kopf = True Then
'tabellenkopf
leseKopf(csv_line) 'alle items der zeile durchgehen
kopf = False
Else
'neuer datenspeicher für eine Person
Dim myTData As New clAhnenDataItem
myTData = lesePerson(csv_line)
If Not myTData Is Nothing Then
myData.Add(myTData)
End If
End If
Catch ex As FileIO.MalformedLineException
Stop
End Try
Loop
Return myData
End Function
Das ist so gedacht und auch sinnvoll, da ja von vielen Lesern eines Threads meist nur 2 oder 3 der ganze (oft endlos lange) Sermon interessiert.Price hat geschrieben: ich würde ja hier die "code" Marker benutzen. dummerweise kommt da nur nen 2 Zeilen Ausschnitt bei raus. Unlesbar. Marcus? Kannst du da was machen?
Daher sind die vier "Steuerzeichen" im Kopf des Code-Teils, womit man den Teil erweitern, verkleinern und sogar gleich markieren (zum kopieren) kann.
Wirkt im ersten Moment umständlich, ist aber eigentlich flott bedienbar.
Marcus
PS Auch Jürgens Beitrag (natürlich nur den Quellcode) mal in einen Code-Abschnitt gepackt.
Ach dafür sind die Dreiecke da. Ich dachte immer das währ nen Styling Element
Ich bin halt von den üblichen Programmierforen ausgegangen. Da ist natürlich immer alles ausgeklappt da man sonnst irre werden würde beim lesen.
Wieder was gelernt
Edit:
neue Version ist hochgeladen.
Auslesefehler ist jetzt behoben. Bemerkungen und Quellenangaben werden jetzt auch ausgelesen. Aber noch nirgendswo verwendet
Plugin: AB Positiv
Ich bin halt von den üblichen Programmierforen ausgegangen. Da ist natürlich immer alles ausgeklappt da man sonnst irre werden würde beim lesen.
Wieder was gelernt
Edit:
neue Version ist hochgeladen.
Auslesefehler ist jetzt behoben. Bemerkungen und Quellenangaben werden jetzt auch ausgelesen. Aber noch nirgendswo verwendet
Plugin: AB Positiv
-
- Beiträge: 121
- Registriert: 21.11.2010, 23:10
Hallo Marc,
erst einmal danke für das Plugin.
Beim Testen ist mir aufgefallen, dass bei der Konstellation „Großmutter und Großvater sind Cousine und Cousin“ (ist ja erlaubt) die Vorfahren des Probanden bzw. bei Verwandt die gemeinsamen Vorfahren doppelt gezählt und aufgelistet werden (hierzu siehe Anlagen).
Gruß Eberhard
Edit:
- Die Beispiel-Datei sende ich Dir als PN.
- Die Daten und Namen der Beispiel-Datei sind alle fiktiv.
erst einmal danke für das Plugin.
Beim Testen ist mir aufgefallen, dass bei der Konstellation „Großmutter und Großvater sind Cousine und Cousin“ (ist ja erlaubt) die Vorfahren des Probanden bzw. bei Verwandt die gemeinsamen Vorfahren doppelt gezählt und aufgelistet werden (hierzu siehe Anlagen).
Gruß Eberhard
Edit:
- Die Beispiel-Datei sende ich Dir als PN.
- Die Daten und Namen der Beispiel-Datei sind alle fiktiv.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Das ist noch das Problem mit den, ich sag mal, "zusammengewachsenen Ästen"
Diese Knotenpunkte werden ja statt einmal, zweimal von unten angefahren und demnach sind alle Personen über diesem Knoten auch zweimal aufgeführt.
Kurz. Bevor ich anfange da Filter o.Ä. zu bauen mache ich eine neue Einlesefunktion welche mit Sicherheit etwas langsamer ist aber dafür universeller. Dauert aber noch.
Das Vergleichsmatterial kann ich später aber gut brauchen um zu testen.
Diese Knotenpunkte werden ja statt einmal, zweimal von unten angefahren und demnach sind alle Personen über diesem Knoten auch zweimal aufgeführt.
Kurz. Bevor ich anfange da Filter o.Ä. zu bauen mache ich eine neue Einlesefunktion welche mit Sicherheit etwas langsamer ist aber dafür universeller. Dauert aber noch.
Das Vergleichsmatterial kann ich später aber gut brauchen um zu testen.
Hallo Marc,
auch von mir herzlichen Dank für das Plugin. Ich habe auch noch wenige Verbesserungen anzumerken:
Unter "Daten" denke ich, dass das Wort "Taufzeugen" geändert werden sollte in "Taufpaten", denn ich habe die Erfahrung gemacht, dass die Paten nicht immer bei der Taufe anwesend waren, aber z.B. eine Hebamme usw. und die steht ja nicht im Kirchenbuch, aber die Paten.
Weiterhin steht unter dem Dropdown "Datei" das Wort "schliessen". Dort muss aber an Stelle des ss ein ß stehen.
Unter "Extras, Optionen" steht Geburt/Tot, bei Tot muss am Ende an Stelle des "t" ein "d" eingefügt werden.
Sind zwar nur Kleinigkeiten, also nichts für ungut.
Gruß souris47
auch von mir herzlichen Dank für das Plugin. Ich habe auch noch wenige Verbesserungen anzumerken:
Unter "Daten" denke ich, dass das Wort "Taufzeugen" geändert werden sollte in "Taufpaten", denn ich habe die Erfahrung gemacht, dass die Paten nicht immer bei der Taufe anwesend waren, aber z.B. eine Hebamme usw. und die steht ja nicht im Kirchenbuch, aber die Paten.
Weiterhin steht unter dem Dropdown "Datei" das Wort "schliessen". Dort muss aber an Stelle des ss ein ß stehen.
Unter "Extras, Optionen" steht Geburt/Tot, bei Tot muss am Ende an Stelle des "t" ein "d" eingefügt werden.
Sind zwar nur Kleinigkeiten, also nichts für ungut.
Gruß souris47