Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Textdatei auslesen - wo hängts?

Empfohlene Antworten

Veröffentlicht


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

Habs versucht da kommt dann ne leere Box...

wo? und wie stehts wenn du dir ne string var anlegst und da erstmal alles reinschreibst?

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?? :(

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.

@Hendrik: Lies mal meinen oberen beitrag (den über deinem) da müsst sich deine Frage glaub beantworten oder ?;)

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

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 ;)

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

Ok Amstelchen ;) danke :) aber wie gebe ich dann den Inhalt aus?

Ich muss ja rausfinden ob die Textdatei ausgelesen wurde...;)

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 ;)

Danke, jetzt funktioniert es! 

Da meine Msgbox den Inhalt der Textdatei wiedergibt, kann ich davon ausgehen das die Textdatei ausgelesen wird!? ;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.