Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Cypher_0
Newbie
Newbie

Anmeldedatum: 12.08.2008
Beiträge: 12

Text aus einer bestimmten Zeile lesen und Overflow - Problem
Verfasst am: 21.08.2008, 01:07

Hi Leute,

also ich wollte grade mal ein bisschen mit den Dateioperationen rumspielen. Nachdem ich es geschafft habe, eine Textdatei komplett auszulesen, wollte ich mein Programm dazu bewegen, eine bestimmte Zeile auszulesen. Welche soll der User bestimmen (in Text2.Text).
Lass ich es durchlaufen kriege ich den "Runtime error 6: Overflow". Nach ein bisschen googlen kam ich drauf, dass LineCount wohl eher als Long definiert werden soll. Hab ich gemacht und zack, mir schmiert die komplette Anwendung ab. Weiss jemand Rat?

Nach ein bisschen rumprobieren weiss ich mittlerweile, dass LineCount in dem Moment einen Overflow erzeugt, indem es in eine If - Schleife eingebettet wird. Aber wie kann ich sonst eine spezifische Zeile auslesen?

Visual Basic: [code]Private Sub Command2_Click()
Dim FileNumber, SpecLine, LineCount As Integer
Dim Filepath, TextLine As String

FileNumber = FreeFile
SpecLine = Text2.Text
Filepath = Text1.Text
LineCount = 0

Open Filepath For Input As FileNumber
While Not EOF(FileNumber)
LineCount = LineCount + 1
If LineCount = SpecLine Then
Line Input #FileNumber, TextLine
End If
Wend
Close FileNumber
MsgBox TextLine, vbOKCancel, "Blah"
End Sub[/code]
 
bla
Coder
Coder

Anmeldedatum: 02.05.2008
Beiträge: 267


Verfasst am: 21.08.2008, 11:15

http://www.vbarchiv.net/tipps/details.php?id=970
http://www.tutorials.de/forum/visual-basic...-editieren.html
http://www.vbarchiv.net/tipps/details.php?id=301
 
Cypher_0
Newbie
Newbie

Anmeldedatum: 12.08.2008
Beiträge: 12


Verfasst am: 21.08.2008, 16:57

Danke für die Tipps. Allerdings sind mir APIs zu umständlich und die FSO-Array-Spielerei zu frickelig. Mit ein bisschen Probieren habe ich es dann doch noch hinbekommen:

Visual Basic: [code]Private Sub Command2_Click()
Dim FileNumber, SpecLine, LC As Integer
Dim Filepath, TextLine As String

FileNumber = FreeFile
SpecLine = Text2.Text
Filepath = Text1.Text
LC = 0

Open Filepath For Input As FileNumber
While Not EOF(FileNumber)
LC = LC + 1
Line Input #FileNumber, TextLine
TextAll = TextAll + TextLine + vbCrLf
If LC = SpecLine Then MsgBox TextLine
Wend

MsgBox TextAll, vbOKOnly, "Ergebnis"
End Sub
[/code]

Bei dem Code gibt man in eine Textbox (hier: Text2.Text) die Zahl der Zeile an, die gelesen werden soll. Sie wird dann in eine Variable übergeben und mit dem Zeilenzähler LC verglichen. Wenn beide gleich, wird die Zeile in eine Variable geschrieben und ausgelesen.
 
Tix
Newbie
Newbie

Anmeldedatum: 29.06.2008
Beiträge: 10


Verfasst am: 21.08.2008, 17:39


http://www.vbarchiv.net/tipps/details.php?id=970


hier haste ne einfache funktion...
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: visual basic, overflow, lesen, error

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wichtig: [Ebook] jetzt lerne ich Visual Basic 6 5067 02.06.2010, 13:55
Keine neuen Beiträge Miceosoft Visual Basic 6.0 Einsteiger Kurs? 1189 17.02.2007, 21:01
Keine neuen Beiträge SUCHE MICROSOFT VISUAL BASIC! 944 12.02.2007, 21:54
Keine neuen Beiträge Microsoft Visual Basic 1275 28.01.2007, 00:59
Keine neuen Beiträge Visual Basic.. Version?? 1230 22.01.2007, 18:23
 


[ Time: 0.0923s ][ Queries: 89 (0.0406s) ][ GZIP on - Debug on ]