Werte einlesen und Maximalwert berechnen

pete_redman

Grünschnabel
Hallo zusammen!
Ich möchte gerne eine Spalte aus Zahlen in VB einlesen die in einer Datei hinterlegt sind, z.B unter WordPad
7
6
65
5
18 usw.! VB soll mir nun den Maximalwert der eingelesenen Zahlenspalte ausgeben.Dazu habe ich mir folgenden Code überlegt:

Private Sub Command1_Click()

Dim Dateipfad As String
Dim Werte(100) As Double, i As Long, k As Long, Max As Double

Dateipfad = Text1
Open Dateipfad For Input As #1

Do

i = i + 1
Input #1, Werte(i)

Loop Until EOF(i)
Close 1

For k = 2 To i
If Max < Werte(k) Then Max = Werte(k)

End If ***


Next

Text2 = Max

End Sub


--> Wenn ich allerdings auf Run drücke meckert VB bei End If ***(extra mit *** makiert) --> compile error:End If without block If

Kann mir bitte jemand weiterhelfen.Vielleicht ist dass ja auch nicht der einzige Fehler
in meinem Code.Vielen Dank für eure Hilfe.
Gruß
 
Wenn du
Code:
if  bedingung then Anweisung
in einer Zeile benutzt brauchst du kein end if
wenn du

Code:
if  bedingung then 
    Anweisung
     Anweisung
end if
benutzt dann brauchst du ein end if

Grüsse bb
 
Hi.

Warum willst du eigentlich die Datei in ein Array einlesen? Du kannst doch gleich während du die Datei liest das Maximum "on the fly" berechnen.

Gruß
 
Wie soll das gehen?

Du liest erstmal einen Wert aus der Datei. Das ist das aktuelle Maximum. Wenn das nicht geht, gibt es kein Maximum (Datei ist leer oder nicht vorhanden).

Dann vergleichst du den aktuellen Max-Wert immer mit jedem neuen Wert den du von der Datei liest. Sollte einer größer sein, ist das das neue aktuelle Maximum.

Gruß
 
Alternativ kannst du alle Daten in eine Listbox schreiben, deren Sorted-Eigenschaft du auf True gestellt hast. Das letze Element der Listbox ist dann dein Maximum.


Der Doc!
 
Zurück