Domino 9 und frühere Versionen > Entwicklung

Array Frage fürs Wochenende

(1/4) > >>

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