----- Original Message -----
From: "Jutta Kavalier" <[EMAIL PROTECTED]>
To: "ASP Diskussionsliste fuer Anfaenger" <[EMAIL PROTECTED]>
Sent: Tuesday, June 18, 2002 1:01 PM
Subject: [aspdebeginners] Einlesen einer Textdatei
> Hallo,
>
> ich weiss auch nicht - ist es zu heiss zum Denken?
> Ich habe eine Textdatei, die ich in eine Datenbank bringen muss. Die
> "Datens�tze" in der Datei sind mit ** getrennt. Jeder dieser Bl�cke
enth�lt
> nochmals Daten, die in diesem Schema aufgebaut sind:
> **
> <Bezeichnung>Inhaltstext
> <Noch eine Bezeichnung>noch ein Inhaltstext
> ...
> **
> ...n�chster Datensatz
So w�rde ich es angehen
1. Split am ** gibt einen Array mit einem Datensatz pro Feldvariable
2. Car(Cdr(datensatz, "<"), ">") gibt die erste Feldbeschreibung
3. car(cdr(datensatz, ">"), "<") gibt den ersten Inhalt
4. i = instr(mid(datensatz, 2), "<")) - wenn 0 und die L�nge gr��er Null,
dann haben wir den letzten datensatz. Also in der Feldvariable von oben
speichern. Und damit Schritt 3 nicht zwickt beim letzten Datensatz ein "<"
hinten dranh�ngen.
ansonsten so ca
datensatz = mid(datensatz, i+1) gibt alle weiteren Felder
Dann Schleifenende zur�ck zu 2.
Car und Cdr kommen eigentlich aus Lisp, wo sie Listenelemente extrahieren.
Weil man die in der Textbearbeitung so oft brauchen kann, habe ich mir die
als VBS-Funktionen geschrieben, die einen Text bis zum angegebenen
Trennzeichen oder den Text ab dem angegebenen Trennzeichen rausholen.
'
****************************************************************************
****
' *
' * String Funktionen
' *
Function car(sString, sDelim)
Dim i
i = InStr(1, sString, sDelim, vbTextCompare)
If i = 0 Then
car = ""
Else
car = Trim(Left(sString, max(0, i - 1)))
End If
End Function
Function max(a, b)
If a > b Then max = a Else max = b
End Function
Function Min(a, b)
If a < b Then Min = a Else Min = b
End Function
Function cdr(sString, sDelim)
Dim i
i = InStr(1, sString, sDelim, vbTextCompare)
If i = 0 Then
cdr = ""
Else
cdr = Trim(Mid(sString, max(0, i + Len(sDelim))))
End If
End Function
--
Viele Gr��e
Hubert Daubmeier
| Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
| [aspdebeginners] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
| Sie knnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp