Domino 9 und frühere Versionen > Entwicklung
Array Frage fürs Wochenende
LisaS:
Hallo Leute,
kurz vorm Wochenende noch ein kleines Problem.
Und zwar möchet ich Datensätze welche in einem Text-Feld hintereinander stehen per Script (UIWorkspace) in ein TXT-File schön untereinander schreiben. Den Teil mit dem Txt-File kriege ich wohl hin aber wie lese ich die Datensätze am besten aus. Ich dachte da an ein Array() welches ich mit den einzelnen Elementen fülle.
Die Daten im TextFeld sehen so aus:
01.02.2003|03.04.2003|Kundexy|Branchexy|Schulung;Dokumentation|fließtext;_
01.02.2003|03.04.2003|Kundexy|Branchexy|Schulung;Dokumentation|fließtext;usw
wieviel Datensätze in dem Feld drin sind ist immer unterschiedlich. Wie man sieht sind die einzelnen Elemente mit | getrennt und die einzelnen Datensätze mit ;
Jetzt hab ich mir schon gedacht ich mach mir einen
Type gtDataRec2
StartDat As Variant
EndeDat As Variant
Firma As String
Branche As String
Funktion As String
Task As String
End Type
und sage dann
Dim Array() As gtDataRec2
soweit so gut, aber wie sieht die Schleife zum befüllen der einzelnen Arrays aus?
Wäre nett wenn Ihr mir mit ein Paar Code-Beispielen mal auf die Sprünge helft.
Vieleicht gibt es ja auch noch ne coolere Lösung?
Danke schonmal
Gruß
Hitcher
koehlerbv:
So ganz seh' ich noch nicht durch, wo Dir der Schuh drückt, aber kann es sein, daß Deine "Datensätze" unterschiedlicher Struktur sind?
01.02.2003|03.04.2003|Kundexy|Branchexy|Schulung;Dokumentation|fließtext;01.02.2003|03.04.2003|Kundexy|Branchexy|Schulung;
Wenn ich die ";" als Record-Ende jetzt mal durch CR ersetze, ergibt sich:
01.02.2003|03.04.2003|Kundexy|Branchexy|Schulung;
Dokumentation|fließtext;
01.02.2003|03.04.2003|Kundexy|Branchexy|Schulung;
Sag' mal an !
Bernhard
LisaS:
@Bernhard
Das ; hinter fließtext trennt die Datensätze
Die Datensätze sehen also so aus (mit CR ersetzt):
01.02.2003|03.04.2003|Kundexy|Branchexy|Schulung;Dokumentation;...|fließtext;
01.02.2003|03.04.2003|Kundexy|Branchexy|Schulung;Dokumentation;...|fließtext;
01.02.2003|03.04.2003|Kundexy|Branchexy|Schulung;Dokumentation;...|fließtext;
01.02.2003|03.04.2003|Kundexy|Branchexy|Schulung;Dokumentation;...|fließtext;
.
.
.
Gruß
Hitcher
koehlerbv:
Was ist denn nun Dein Datensatz-Trennzeichen? Wären es immer nur ";", dann würde ja eine Schleife genügen à la:
- Lese das Feld aus dem Dokument in eine String-Variable
- Leere alle Variablen in Type
- Lese den String in TempString, bis Feldtrennzeichen auftaucht - schiebe String in Type.Var1 (PLAUSIBILITÄTSPRÜFUNG!)
- Lese weiter, bis nächstes Feldtrennzeichen, schiebe String in Type.Var2 (PLAUSIBILITÄTSPRÜFUNG!)
- usw.
- Bei Erreichen des Trennzeichens für Record wird die letzte TypeVar gefüllt und das ganze mit Write #FileNo Type.Var1, Type.Var2 ... geschrieben.
Dann wieder Type leeren und weitermachen.
Und immer auf Plausibilität prüfen.
Hast Du kein eindeutiges Record-Ende-Kennzeichen, muß der Parser etwas komplizierter ausfallen ...
HTH,
Bernhard
ata:
... ist es richtig, daß das Semikolon im Datensatz vorkommt und als Trennzeichen zu verstehen ist? - dann geht da was schief, dann müßtte man zumindest wissen das wievielte den Datensatz trennt...
... besser wäre natürlich eine CarriageReturn als Trenner der Datensätze, dann könntest du Zeilenweise vorgehen und mit @Expolde die einzelnen Bestandteile zwischen den Pipe's ermitteln...
ata
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln