Hallo,
Ich bin ein relativer Neuling in Sachen Programmierung und habe folgendes Problem.
Ich habe ein Programm geschrieben, das eine Datei schreibt, die später wieder ausgelesen wird. Jedoch fügt das Programm jedesmal eine Leerzeile hinzu, die beim späteren lesen zu einer Fehlermeldung führt.
Normalerweise, dürfte mein Programm aber gar nicht weiterlaufen, da die angegebene Bedingung nicht erfüllt ist. Folgende Fehlermeldung bekomme ich: ArgumentOutOfRangeExeption wurde nicht behandelt
Der Index und die Länge müssen sich auf eine Position in der Zeichenfolge beziehen. Parametername: length.
Hier mein Code:
Imports System.IO ' Wegen StreamWriter
Public Class Form2
Private Sub btn_OK_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btn_OK.Click
Dim ErgebnisR, ErgebnisF, B As Double
Dim PfadDatei, PfadDatei2, FrageDateiLesen As String
Dim i, ErgebnisDateiLesen, AnzahlFragen As Integer
AnzahlFragen = TextBox1.Text
ErgebnisR = 0
'**********************************************************************
' **********************'
'Hier weise ich der Variablen ErgebnisR den Wert 0 zu. Dadurch ist
' ErgebnisR am Anfang auf 0'
'**********************************************************************
' **********************'
ErgebnisF = 0
'**********************************************************************
' **********************'
'Hier weise ich der Variablen ErgebnisF den Wert 0 zu. Dadurch ist das
' ErgebnisF am Anfang auf 0'
'**********************************************************************
' **********************'
PfadDatei = BauePfadDateiname()
PfadDatei2 = BauePfadDateiname2()
'**********************************************************************
' **********************'
'Hier weise ich der Variablen PfadDatei den Wert einer geschrieben
' Subroutine zu.
'Dadurch ruft mein Programm, wenn ich PfadDatei eingebe, die Subroutine
' auf'
'**********************************************************************
' **********************'
i = 1
'Hier weise ich der Variablen i den Wert 1 zu. Dadurch ist i am Anfang
' auf 0'
'**********************************************************************
' **********************'
Do
'Mit diesem Befehl starte ich Fußgesteuerte Do-Schleife'
'******************************************************************
' **************************'
FrageDateiLesen = ReadLine(PfadDatei, i)
'Hier Weise ich der Variablen FrageDateiLesen die Subroutine
' Readline zu.'
'PfadDatei und i holt das Programm dann aus der Subroutine raus'
'******************************************************************
' **************************'
If FrageDateiLesen <> "" Then
If FrageDateiLesen.Substring(1, 1) <> " " Then
ErgebnisDateiLesen = ReadLine(PfadDatei2, i)
Rechnen(FrageDateiLesen, ErgebnisDateiLesen, ErgebnisR, _
ErgebnisF)
i = i + 1
B = (i + 1) / 2 - 1
End If
End If
'******************************************************************
' **************************'
'Hier fragt sich das Programm ob die Zeile aus dem Pfad ungleich "" & _
"" ist.'
'Wenn dies der Fall ist dann öffnet er die Subroutine ReadLine
' setzt i um 1 nach oben und holt PfadDatei'
'Außerdem öffnet er die Subroutine Rechnen, wo er FrageDateiLesen,
' ErgebnisdateiLesen, ErgebnisR und ErgebnisF abfragt'
'Zum Schluss setz das Programm i noch um 2 höher'
'******************************************************************
' **************************'
Loop Until (FrageDateiLesen = "" Or (i) - 1 = AnzahlFragen)
MsgBox("Sie haben " & ErgebnisR & " richtige und " & ErgebnisF & "" & _
"falsche Antwort(en)")
'**********************************************************************
' **********************'
'Das Programm macht die oben genannte Prozedur so lange bis
' FrageDateiLesen <= " " ist'
'**********************************************************************
' **********************'
'**********************************************************************
' **********************'
'Mit diesem Befehl gibt das Programm aus, wie viele richtige und
' falsche Antworten man hatte'
'**********************************************************************
' **********************'
End Sub Was mache ich falsch?
Vielen Dank für eure Hilfe Nathalie |