tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
1095
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    BiggJoee Tutorials.de Gastzugang
    Hallo Leute,

    nun habe ich mal wieder eine Frage, kann man, bei VB 6.0 Professional aus einer bestimmten Zeile einer TXT lesen. Ich möchte z.B. es ungefähr so haben:

    Open "Beispiel.txt" For Input As #1,
    ....und so weiter, wie geht dass, falls es überhaupt geht, aus einer bestimmten Zeile zu lesen. Danke schonmal im Vorraus

    Jonny
     

  2. #2
    knop knop ist offline Mitglied
    Registriert seit
    Aug 2004
    Beiträge
    17
    hallo,

    Bsp.:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set dt = fs.OpenTextFile("C:\Beispiel.txt")
     
    Do While Not dt.AtEndOfStream
        zeile = dt.ReadLine
        MsgBox zeile
    Loop

    Hier ist ein Beispiel für WSH. Funktioniert aber auch überall in VB und VBA. Es gibt aber auch andere Möglichkeiten, die nur in VB und VBA funktionieren... Ganz wichtig dabei ist, dass NUR Text-Dateien geöffnet...

    Gruß
    Alex
     

  3. #3
    gabrielgsell gabrielgsell ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Ort
    CH
    Beiträge
    76
    Ciao,

    Ich würde das so lösen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Dim KNr As Integer
    Dim Inhalt As String
    Dim Zeile() As String
     
    KNr  = FreeFile()
    Open "C:\deineDatei.txt" For Binary As KNr
    Get KNr, , Inhalt
    Zeile = Split(Inhalt, vbNewLine)
    MsgBox Zeile(3) 'gibt die vierte (fängt bei 0 an) Zeile deiner Datei aus
    Habs nicht getestet, sollte aber funktionieren, ansonsten fragen.
    Grüsse
     

  4. #4
    BiggJoee Tutorials.de Gastzugang
    kapier davon gar nix. könnt ihr mir bitte, entweder einen einfacheren quellcode schicken und einen einfacheren lösungsweg, oder eklärt ihn mir ausfürhlich, BITTTTTE, danke im vorraus
     

  5. #5
    knop knop ist offline Mitglied
    Registriert seit
    Aug 2004
    Beiträge
    17
    Welche Methode hättest du denn gerne? Du kannst beide verwendet werden...

    Bei mir wird eine Text-Datei zeile für zeile eingelesen und in einem MsgBox angezeigt. Darauf kannst du dann entscheiden, welche zeile du weiterverwenden willst und die restlichen kannst du verwerfen, allerdings sequenziell

    Bei gabrielgsell wird die Text-Datei komplett eingelesen, in ein Array gepackt und daraus kannst du dann die Zeilen entnehmen, die du brauchst (unterschiedlich Reihenfolge. Geeignet auch um eine Text-Datei zu sortieren z.B.)...

    Die Entscheidung leigt bei dir. Wenn du einen Komplett angepassten Code haben willst, muß du dein Problem genauer schildern

    Gruß
    Alex
     

  6. #6
    BiggJoee Tutorials.de Gastzugang
    ich weiß nicht, welche ich nehem soll. ich weiß nur, dass er c:\beispiel.txt öffnen soll. danach soll er in jede textbox eine zeile schreiben, ich schreibs jetzt mal ganz primitiv

    Open "c:\beispiel.txt" For Input As #1 Oder ihrgentwie so.
    Text1.Text = Zeile 3
    Text2.Text = Zeile 4
    ......

    Ich hab des jetzt nur so hingeschrieben, wie ichs gerne möchte, also bitte helft mir, danke im Vorraus,

    Jonny
     

  7. #7
    knop knop ist offline Mitglied
    Registriert seit
    Aug 2004
    Beiträge
    17
    der Bsp. vom gabrielgsell ist dafür besser geeignet. Du nimmst einfach den Code so wie der ist und schreibst statt:
    Code :
    1
    
    MsgBox Zeile(3) 'gibt die vierte (fängt bei 0 an) Zeile deiner Datei aus

    einfach:

    Code :
    1
    2
    3
    
    Text1.Text = Zeile(3)
    Text2.Text = Zeile(4)
    Text3.Text = Zeile(1) 'usw...

    Mein Code bedarf noch etwas anpassung auf die Situation. Wenn du z.B. 100 zeilen hast und dazu auch 100 Text-Box'en, kannst du schreiben:
    Code :
    1
    2
    3
    
    For z = 1 to 100
       Me.Controls("Text" & z).Text = zeile
    next
    Vorausgesetzt du hast den Text in der Datei auch in richtigen Reihenfolge stehen.

    Falls du weitere Fragen hast, poste einfach

    Gruß
    Alex
     

  8. #8
    BiggJoee Tutorials.de Gastzugang
    hallo,

    der code geht ihrgentwie nicht, kannst du mir bitte jede zeile erklären, weil es kommt immer die fehlermeldung, "index außerhalb des gültigen bereichs". Kannst du mir bitte sagen, was ich machen soll. Danke schonmal im vorraus.
    Danke
     

  9. #9
    knop knop ist offline Mitglied
    Registriert seit
    Aug 2004
    Beiträge
    17
    "index außerhalb des gültigen bereichs"
    Leider habe ich den Bsp vom @gabrielgsel nich ausprobiert. Aber ich denke, das Array $Zeile() muß vorher noch initialisiert werden. Das geschiet mit
    Code :
    1
    
    Redim Zeile (1024)  'Bsp.

    Sobald du eine Text-Datei versuchst einzulesen, die nicht in diesen Array reinpasst, bekommst du die o.g. Fehlermeldung...

    Du könntest vielleicht etwas pennibler mit deinem Code umgehen, dann passieren dir solche Fehler nicht .
    ...
    Geändert von knop (06.09.04 um 19:15 Uhr)
     

  10. #10
    BiggJoee Tutorials.de Gastzugang
    hallo, is auf jeden fall super, dass du mir hilfst, aber er geht immer noch nicht. kannst du mir bitte einen *ganzen* Code schreiben. Er soll
    c:\beispiel.txt lesen und diese textdatei hat 6 Zeilen.
    jede zeile soll in eine textbox reingeschrieben werden. Kannst du mir bitte einen code mit variablen schreiben. danke schonmal im vorraus.

    Jonny
     

  11. #11
    knop knop ist offline Mitglied
    Registriert seit
    Aug 2004
    Beiträge
    17
    o.k.

    hier der Code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    Private FS as Object
    Private DT as Object
     
    Sub Form1_Load()
        set FS = CreateObject("Scripting.FileSystemObject")
        set DT = FS.OpenTextFile("C:\beispiel.txt")
     
        Dim X    
     
        TextBox1.Clear
        For X = 0 to 5
            TextBox1.Add DT.ReadLine
        Next X
        
        DT.close
    End Sub

    Falls Probleme mit der Verwendung der Text-Dateien auftreten, habe ich kein Einflüß drauf...
    Geändert von knop (06.09.04 um 19:52 Uhr)
     

  12. #12
    gabrielgsell gabrielgsell ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Ort
    CH
    Beiträge
    76
    Habs mir angeschaut und den Fehler behoben, jetzt funktioniert es. Sogar getestet
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    Dim KNr As Integer
    Dim Inhalt As String
    Dim Zeile() As String
    Dim Datei As String
     
    Datei = "C:\Datei.txt"
    KNr = FreeFile
    Inhalt = Space(FileLen(Datei))
     
    Open Datei For Binary As KNr
    Get KNr, , Inhalt
    Zeile = Split(Inhalt, vbNewLine)
    MsgBox Zeile(0)
    Close KNr
    Grüsse
     

Ähnliche Themen

  1. text laden aus einer bestimmten zeile
    Von antonioli im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 08.07.07, 09:40
  2. Datei ab einer bestimmten Zeile einlesen.
    Von Fridulin im Forum .NET Datenverwaltung
    Antworten: 1
    Letzter Beitrag: 08.05.06, 04:24
  3. Zur bestimmten Zeile in einer Seite Springen
    Von Luda im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 30.09.04, 12:40
  4. In einer Textdatei zu einer bestimmten Zeile springen....
    Von christoph lindtner im Forum PHP
    Antworten: 6
    Letzter Beitrag: 05.05.04, 17:52
  5. Antworten: 3
    Letzter Beitrag: 06.05.02, 16:01