| |
Suche Visual-Basic CodeTextdatei auslesen, Zeile je nach Code ausgeben | | | Autor: S1!c3r | Datum: 17.10.05 10:39 |
| Guten Tag
Ich suche einen Code, welcher eine Textdatei auslist, die so aussieht:
100 1101-12 Angebliche Funktionsstörung überprüft
101 1102-12 Erdschluss / Isolationsfehler überprüft
102 1103-06 Druckknopfelement Kabine repariert
103 1104-06 Druckknopfelement Aussensteu. repariert
Jetzt sollte man in einer Textdatei den Code (die ersten drei Zahlen) eintippen können und wenn man den Anzeigebutton betätigt sollte der Text, welcher dahinter steht in einem Label oder einer Textdatei angezeigt werden.
Der dreistellige Code ist nicht vortlaufend. Es gibt Lücken (zbsp. 130-180 existiert nicht mehr). Vielleicht ist dies von Vorteil, wenn man dies weiss ;).
Ich hoffe ihr könnt mir helfen!
Danke vielmals... | |
Re: Textdatei auslesen, Zeile je nach Code ausgeben | | | Autor: S1!c3r | Datum: 17.10.05 10:59 |
| Hier ist noch ein Screenshot, wie es aussieht, damit ihr euch dies besser vorstellen könnt:
http://www.xgfx.net/form.jpg | |
Re: Textdatei auslesen, Zeile je nach Code ausgeben | | | Autor: S1!c3r | Datum: 17.10.05 11:34 |
| Und zum Schluss den Code, welcher ich jetzt habe (von dieser Webseite):
' Bestimmte Zeile aus einer Textdatei lesen
Public Function ReadLine(ByVal sFile As String, _
Optional ByVal nLine As Long = 1) As String
Dim sLines() As String
Dim oFSO As Object
Dim oFile As Object
' Fehlerbehandlung aktivieren
On Error GoTo ErrHandler
' Verweis auf das FileSystemObject erstellen
Set oFSO = CreateObject("Scripting.FileSystemObject")
' Existiert die Datei überhaupt?
If oFSO.FileExists("C:\logbuch.txt") Then
' Datei öffnen
Set oFile = oFSO.OpenTextFile("C:\logbuch.txt")
' Alles lesen und in Array zerlegen
sLines = Split(oFile.ReadAll, vbCrLf)
' Datei schließen
oFile.Close
Select Case Sgn(nLine)
' (nLine > 0)
Case 1
' n-te Zeile von vorne beginnend
ReadLine = sLines(nLine - 1)
' (nLine < 0)
Case -1
' n-te Zeile von hinten beginnend
ReadLine = sLines(UBound(sLines) + nLine + 1)
End Select
End If
ErrHandler:
' Objekte zerstören
Set oFile = Nothing
Set oFSO = Nothing
End Function
Private Sub Command1_Click()
txtLine.Text = ReadLine("C:\logbuch.txt", txtCode)
End Sub Im Moment kann man also bei der Textbox die Zeilennummer eintippen und der Text wird ausgegeben.
Jetzt sollte es aber möglich sein, dass man die verschiedenen Zeilen mit dem Code anzeigen kann. Also muss man die Zeile, also den String zerlegen? Mit instr?
Ich kenne VB leider nicht sehr gut ;).
lg | |
Re: Textdatei auslesen, Zeile je nach Code ausgeben | | | Autor: wb-soft | Datum: 17.10.05 12:16 |
| Hi!
Die schnelle Lösung:
Die Datei zeilenweise in einlesen, bis die gewünschte Zeile gefunden wurde.
Die Zeile mit String-Funktionen zerlegen.
Dazu gibt es jede Menge Beispiele. Du brauchst dazu kein FSO.
Die optimale Lösung:
Die Datei über ADO als DB ansprechen. Das ist zwar schwieriger, bietet aber auch alle Möglichkeiten einer DB.
Google nach "schema.ini", da könntest du Beispiele finden.
mfg
WB | |
Re: Textdatei auslesen, Zeile je nach Code ausgeben | | | Autor: S1!c3r | Datum: 17.10.05 15:04 |
| So, ich habs nun in VBS gelöst... ging irgendwie einfacher ;)
Option Explicit
Dim fs, codeliste, gelesen, suchcode, strCodeLeft, strCodeRight, zeile
set fs = CreateObject("Scripting.FileSystemObject")
set codeliste = fs.OpenTextFile("C:\codeliste.txt")
suchcode = InputBox("Code", "Eingabe")
Do until codeliste.atEndOfStream
codeliste.Read(1)
zeile = codeliste.ReadLine
strCodeLeft = Left(zeile, 3)
strCodeRight = Mid(zeile, 4, 1000)
If strCodeLeft = suchcode Then
MsgBox zeile
MsgBox strCodeRight
End if
loop
codeliste.close Sola...
Ach und Danke vielmals für die Hilfe . Das mit der String-Funktion hat weitgergeholfen . | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevAniGif (VB/VBA)
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|