Hallo Hubert, vielen Dank f�r Deine Tipps und die Funktion. Das werde ich mir jetzt im Detail mal genauer anschauen. �h, Frage: was ist denn "Lisp" ?
Gruss Jutta ----- Original Message ----- From: "Hubert Daubmeier" <[EMAIL PROTECTED]> To: "ASP Diskussionsliste fuer Anfaenger" <[EMAIL PROTECTED]> Sent: Tuesday, June 18, 2002 1:27 PM Subject: [aspdebeginners] Re: Einlesen einer Textdatei > > ----- 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 | 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
