VB Textdatei öffnen, bestimmte Zeilen finden und benutzen.
Hallo VBler
Da ich schon mehrere postivie Erfahrungen mit dieser Seite hatte, werde ich sie mal weiterbenutzen ;)
Ich wollte fragen, und es ist eine lange Frage, wie kann man in Visual Basic eine Textdatei öffnen, den Inhalt lesen, eine bestimmte Zeile suchen und deren Inhalt verwenden?
Ein Beispiel:
Ich klicke in meinem Programm auf "Öffnen", ein Fenster öffnet sich, welches mich eine Textdatei (in meinem Fall eine .d Datei, welches aber auch eine Textdatei ist) öffnen lässt. Der Inhalt der Datei kann optional in einer RichTextBox gezeigt werden. Es soll nun nach bestimmten Zeilen gesucht werden. Zum Beispiel eine Zeile die mit "name = " (ohne Anführungszeichen) beginnt. Der nachfolgende Text, logischerweise der Name, soll dann gespeichert werden und in einer TextBox gezeigt werden (oder besser als Variable festgehalten werden, welche die TextBox deklariert.
Ich hoffe das war verständlich genug.
*EDIT: Was mir gerade noch offTopic einfällt, ohne extra ein neues Thema aufzumachen:
Wie kann man so eine Art Handbuch zu einem Programm machen? Ähnlich wie wenn man bei einem Programm auf F1 drückt. Da öffnet sich ja so ein Hilfe"buch" mit verschiedenen Kapiteln bzw. Unterpunkten, welche dann erklärt werden.
LG
Benedikt
Da ich schon mehrere postivie Erfahrungen mit dieser Seite hatte, werde ich sie mal weiterbenutzen ;)
Ich wollte fragen, und es ist eine lange Frage, wie kann man in Visual Basic eine Textdatei öffnen, den Inhalt lesen, eine bestimmte Zeile suchen und deren Inhalt verwenden?
Ein Beispiel:
Ich klicke in meinem Programm auf "Öffnen", ein Fenster öffnet sich, welches mich eine Textdatei (in meinem Fall eine .d Datei, welches aber auch eine Textdatei ist) öffnen lässt. Der Inhalt der Datei kann optional in einer RichTextBox gezeigt werden. Es soll nun nach bestimmten Zeilen gesucht werden. Zum Beispiel eine Zeile die mit "name = " (ohne Anführungszeichen) beginnt. Der nachfolgende Text, logischerweise der Name, soll dann gespeichert werden und in einer TextBox gezeigt werden (oder besser als Variable festgehalten werden, welche die TextBox deklariert.
Ich hoffe das war verständlich genug.
*EDIT: Was mir gerade noch offTopic einfällt, ohne extra ein neues Thema aufzumachen:
Wie kann man so eine Art Handbuch zu einem Programm machen? Ähnlich wie wenn man bei einem Programm auf F1 drückt. Da öffnet sich ja so ein Hilfe"buch" mit verschiedenen Kapiteln bzw. Unterpunkten, welche dann erklärt werden.
LG
Benedikt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 157807
Url: https://administrator.de/contentid/157807
Ausgedruckt am: 16.11.2024 um 01:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo,
Gruß,
Peter
Zitat von @TerminatorVB:
Ich wollte fragen, und es ist eine lange Frage, wie kann man in Visual Basic eine Textdatei öffnen, den Inhalt lesen, eine
bestimmte Zeile suchen und deren Inhalt verwenden?
Ein Beispiel:
Diese Frage hast du doch schon am 12.10.2010 gestellt. Siehe Wie Text in einer Textdatei suchen und benutzen?Ich wollte fragen, und es ist eine lange Frage, wie kann man in Visual Basic eine Textdatei öffnen, den Inhalt lesen, eine
bestimmte Zeile suchen und deren Inhalt verwenden?
Ein Beispiel:
Gruß,
Peter
Hallo,
Gruß,
Peter
Wie macht man einen OpenFileDialog? Denn der User soll ja bestimmen können, welche Datei geöffnet werden soll.
Dazu gibt es in der Doku sowie Hilfe zu deinem Visual Basic genügend Erklärungen und Beispiele.Gruß,
Peter
Hallo
Sollte so einfacher gehen:
Gruß Dieter
[edit] For-Schleife geändert [/edit]
Sollte so einfacher gehen:
Dim sr As IO.StreamReader = IO.File.OpenText(FileName) 'Textdatei zum Lesen öffnen ...
Dim EOL As String = ";"
Dim SearchFor As String = "name = "
Dim Value As Array
Dim i As Integer
Dim Content As Array = Split(sr.ReadToEnd, SearchFor)
For i = 1 To UBound(Content)
Value = Split(Content(i), EOL)
If UBound(Value) > 0 Then MsgBox Value(0)
Next
Gruß Dieter
[edit] For-Schleife geändert [/edit]
Hallo,
Ist das jetzt eine Fangfrage?
Du hast ja noch nicht einmal deine verwendete Visual Basic Version angeben können!
Eine Dokumentation ist seit Visiual Basic 1 anbei.
Die Hilfe (F1 Taste an deiner Tastatur während du in der IDE bist) ist auch mit dabei.
Ansonsten [http://lmgtfy.com/?q=visual+basic+hilfe hier} lesen.
Und
Was steht in Line?
Gibt es in Line deinen Suchbegriff? Wenn ja, wird dann noch die und Bedingung Microsoft.VisualBasic.Right(Line, 1) = EOL erfüllt? Nein?
Mach mal ein Else dazu und lasse dir Line ausgeben.
Gruß,
Peter
Ist das jetzt eine Fangfrage?
Du hast ja noch nicht einmal deine verwendete Visual Basic Version angeben können!
Eine Dokumentation ist seit Visiual Basic 1 anbei.
Die Hilfe (F1 Taste an deiner Tastatur während du in der IDE bist) ist auch mit dabei.
Ansonsten [http://lmgtfy.com/?q=visual+basic+hilfe hier} lesen.
Und
Ich hab es mit MsgBox' getestet. Die if-Funktion wird nicht durchgeführt.
halte ich für ein gerücht. Die IF abfrage wird definitiv abgearbeitet. Das Ergebniss der wenn - dann Bedingung mag dir vielleicht nicht gefallen, aber abgearbeitet wird die schon. Mit welchen werten wird denn die Abfrage ausgeführt?Was steht in Line?
Gibt es in Line deinen Suchbegriff? Wenn ja, wird dann noch die und Bedingung Microsoft.VisualBasic.Right(Line, 1) = EOL erfüllt? Nein?
Mach mal ein Else dazu und lasse dir Line ausgeben.
If InStr(Line, SearchFor & Sep) = 1 And Microsoft.VisualBasic.Right(Line, 1) = EOL Then 'beginnt Zeile mit Suchbegriff + Trennung und endet mit Zeilenende-Kennung?
Value = Split(Split(Line, Sep)(1), EOL)(0) 'isolieren des interessierenden Teiles
MsgBox(Value) 'Ausgeben des Suchbegriffs
ELSE 'Bedingung wurde nicht erfüllt
MsgBox(Line) 'Ausgabe vom Inhalt line
End If
Gruß,
Peter
Hallo
Ich hätte da jetzt mal kurz eine Frage(hat aber nicht direkt mit dem Inhalt zu tun): Warum benutzt ihr immer
"Dim Etwas as Array" und nicht "Dim Etwas() as String"?
Wo liegt der unterschied? Ist es nicht besser, wenn das Programm weiss dass es sich um eine String handelt?
Mathe172
[edit: Bist du sicher dass du in der Textdatei kein " " zwischen "name" und "=" hast? Du fragst nämlich nach "name=" und nicht wie in deineer Frage geschrieben nach "name ="]
Ich hätte da jetzt mal kurz eine Frage(hat aber nicht direkt mit dem Inhalt zu tun): Warum benutzt ihr immer
"Dim Etwas as Array" und nicht "Dim Etwas() as String"?
Wo liegt der unterschied? Ist es nicht besser, wenn das Programm weiss dass es sich um eine String handelt?
Mathe172
[edit: Bist du sicher dass du in der Textdatei kein " " zwischen "name" und "=" hast? Du fragst nämlich nach "name=" und nicht wie in deineer Frage geschrieben nach "name ="]
Hallo Mathe172!
Der Unterschied zwischen String (einfacher Text) und Array (mehrdimensionierbare Datenfelder) anhand eines Beispiels:
Inhalt > Text = "bla1;bla2;bla3;..."
Dim str As String = Text
Inhalt > str = "bla1;bla2;bla3;..."
Dim arr As Array = Split(Text, ";")
Inhalt > arr(0) = "bla1"
Inhalt > arr(1) = "bla2"
Inhalt > arr(2) = "bla3"
Inhalt > arr(3) = "..."
Gruß Dieter
Der Unterschied zwischen String (einfacher Text) und Array (mehrdimensionierbare Datenfelder) anhand eines Beispiels:
Inhalt > Text = "bla1;bla2;bla3;..."
Dim str As String = Text
Inhalt > str = "bla1;bla2;bla3;..."
Dim arr As Array = Split(Text, ";")
Inhalt > arr(0) = "bla1"
Inhalt > arr(1) = "bla2"
Inhalt > arr(2) = "bla3"
Inhalt > arr(3) = "..."
Gruß Dieter
Hallo Mathe172!
Insofern hast Du für Strings (String-Array) natürlich recht!
In Arrays (Variant) können dagegen verschiedene Datentypen vermischt werden (Strings, Integer, Boolean...).
Gruß Dieter
Insofern hast Du für Strings (String-Array) natürlich recht!
In Arrays (Variant) können dagegen verschiedene Datentypen vermischt werden (Strings, Integer, Boolean...).
Gruß Dieter