Zum Inhalt springen

Textdatei auslesen - wo hängts?


Empfohlene Beiträge

Geschrieben


sAdressFilePath = "U:\VBScript\adressverwaltung\adressen.txt"


Function ReadEntireFile(sAdressFilePath)

   Const ForReading = 1

   Dim fso, theFile, i

   i = 1

   Set fso = CreateObject("Scripting.FileSystemObject")

   Set theFile = fso.OpenTextFile(sAdressFilePath, ForReading, False)

   'Do While theFile.AtEndOfStream <> True

   	Do While theFile.AtEndOfStream 

      	AddToArray(theFile.ReadLine)

      	i = i + 1

      	CountLines = CountLines + 1

   Loop


   theFile.Close

End Function

Woran liegts das es nicht geht? Finde den Fehler nicht :(

Kann ich "theFile" als Msgbox ausgeben lassen? Habs versucht da kommt dann ne leere Box...

Help please! ;) :e@sy

Geschrieben

Die leere MsgBox kommt wenn ich nach ausführen der Function eine MsgBox einsetze und TheFile ausgeben lassen will. Also so

ReadEntireFile(sAdressFilePath)


MsgBox theFile

(die Funktion hab ich jetzt ausgelassen, sonst ist hier immer so viel Code drinne,steht ja oben schon). ;)

Und wie genau meinst du das mit der Stringvariablen?

P.S. Ich will wissen ob die Textdatei ausgelesen wurde und in der Variablen theFile nun die Daten aus der Text datei stehen, deswegen will ich das ausgeben! ;)

Weil die Daten aus der Textdatei müssen an ein Array übergeben werden, dazu müssen sie ja erst mal ausgelesen werden! :)

Da die MsgBox bei Ausgabe von theFile leer ist, kann ich davon ausgehen das die Textdatei NICHT ausgelesen wird?? :(

Geschrieben

Hi,

was genau hast Du denn vor?

Den Inhalt der Textdatei auszugeben? Dann kannst Du auch auf das FSO verzichten:


Private Sub Form_Load()

    Dim fn As Long

    Dim Inhalt As String


    fn = FreeFile

    Open "U:\VBScript\adressverwaltung\adressen.txt" For Input As #fn

    Inhalt = Input(LOF(fn), fn)

    Close #fn


    ' Inhalt im Direktfenster ausgeben

    Debug.Print Inhalt

End Sub

Du kannst Inhalt auch per Msgbox ausgeben, aber dann kommt glaube ich nicht alles mit, weil die MsgBox ein Zeichenlimit hat.

Geschrieben

Hi,

wenn Du Inhalt global deklarierst, kannst Du prüfen, ob dort etwas vorhanden ist.

Alternativ machst Du eben eine Function daraus:


Public Function ReadEntireFile(ByVal sFile As String) As String

    Dim fn As Long

    Dim Inhalt As String


    fn = FreeFile

    Open sFile For Input As #fn

    Inhalt = Input(LOF(fn), fn)

    Close #fn


    ReadEntireFile = Inhalt

End Function

Geschrieben

Jetzt blick ichs irgendwie gar nichtmehr :( Hmmm... tu mich heut eh voll schwer mich da reinzudenken...

Ich habs ja schon als Function.

Wie deklariere ich den inhalt? Das geht ja gar net oder?

Sorry das ich soviel frage, aber ich peils echt net :(

Achso ja, und sollte die Msgbox zu klein sein für den Inhalt, kann ich das ja auch mit wscript.echo ausgeben lassen. ist ja nur als Kontrolle für mich ;)

Geschrieben

smilla: theFile selbst ist nicht der inhalt der datei, sondern ein zeiger darauf, bzw. der FSP-dateistrom, der eben gewisse methoden, wie lesen, schreiben etc bereitstellt. den kannst du mit msgbox nicht ausgeben.

s'Amstel

Geschrieben

sAdressFilePath = "P:\users.log"


   Const ForReading = 1

   Dim fso, theFile, i, das

   i = 1

   Set fso = CreateObject("Scripting.FileSystemObject")

   Set theFile = fso.OpenTextFile(sAdressFilePath, ForReading, False)

   Do until theFile.AtEndOfStream

      	das = theFile.ReadLine

      	i = i + 1

      	CountLines = CountLines + 1

msgbox das

   Loop


   theFile.Close

so tut das bei mir... keine ahnung was dieses addtoarray sein soll oder was es macht, aber is auch egal... variable wird ja ausgegeben

oder statt der variablen kannst du auch das theFile.ReadLine ausgeben lassen also:

msgbox theFile.ReadLine

jetzt musst du dir das ganze nur noch anpassen ;)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...