vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Unbekannter Fehler 
Autor: djinty
Datum: 09.07.10 14:13

Hallo liebes Board, ich bin gerade dabei einen Namensgenerator zu erstellen, das ganze soll wie folgt aussehen:

2 Option-Buttons für die Auswahl des Landes, aus dem der Name stammen soll (England, Deutschland).
1 Textfeld für die Anzahl der zu generierenden Namen.
1 CommandButton "Generate".

Ich mache das ganze im Moment als Makro mit VBA in einem Excel Dokument, indem auch ein paar vorgefertigte Namen drinnen stehen. Ich lasse mir die generierten Namen anschließend in ein File schreiben. PS: ich mache das ganze zur Zeit noch optional mit Bezeichnungsfeldern, da ich Anfangs nur einen Namen generieren wollte.

Bis hierhin hat alles wunderbar funktioniert. Dann bin ich jedoch auf die Überlegung gekommen, dass durch die geringe Anzahl an verfügbaren Namen die Wahrscheinlichkeit groß ist, dass gleiche Namen generiert werden. Somit woltle ich das File pro Generations-Durchgang vorher auslesen und überprüfen ob der soeben generierte Name bereits vorhanden ist. Falls ja, soll er den Durchlauf wiederholen.

Im Zuge der Überprüfung tritt jedoch ein Fehler mit den Variablen auf "Laufzeitfehler '9': Index außerhalb des gültigen Bereichs". Der Fehler tritt bei folgender Zeile auf:

"Line Input #F, sLines(nLines)"


Ich habe nun schon versucht, die Variablen als global zu deklarieren bzw. habe die Typen überprüft. Ich finde den Fehler jedoch nicht, vielleicht könnt ihr mir ja weiter helfen, hier mal der Code:

Public Function FileExists(ByVal sFile As String) As Boolean
 
  ' Der Parameter sFile enthält den zu prüfenden Dateinamen
 
  Dim Size As Long
  On Local Error Resume Next
  Size = FileLen(sFile)
  FileExists = (Err = 0)
  On Local Error GoTo 0
End Function
 
Private Sub cmd1_Click()
 
Dim anzahl, F, zz1, zz2, Obergrenze, Untergrenze As Integer
Dim nLines As Long
Dim vor, nach, sFile, sLines() As String
 
If ob1.Value = False And ob2.Value = False Then
MsgBox ("Bitte wählen Sie ein Land aus!")
End If
 
If IsNumeric(txt1.Text) = False Or txt1.Text = "" Then
MsgBox ("Bitte geben Sie eine Zahl ein!")
Else
anzahl = CInt(txt1.Text)
End If
 
Obergrenze = 9
Untergrenze = 2
nLines = 1
 
For i = 1 To anzahl
 
onceagain:
 
zz1 = Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
zz2 = Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
 
If ob1.Value = True Then
 
vor = CStr(Range("B" & zz1 & "").Text)
nach = CStr(Range("C" & zz2 & "").Text)
 
lbl3.Caption = vor
lbl4.Caption = nach
 
 
sFile = "H:\data\engnames.txt"
F = FreeFile
 
' Anzahl der Zeilen in der Textdatei ermitteln
If FileExists(sFile) = True Then
    Open sFile For Input As #F
    While Not EOF(F)
        Line Input #F, sLines(nLines)
        nLines = nLines + 1
    Wend
    Close #F
 
    For j = 1 To nLines
        If sLines(j) = vor & " " & nach Then
            GoTo onceagain
        End If
    Next j
End If
 
Open sFile For Append As #F
Print #F, lbl3.Caption & " " & lbl4.Caption
Close #F
 
 
ElseIf ob2.Value = True Then
 
vor = CStr(Range("E" & zz1 & "").Text)
nach = CStr(Range("F" & zz2 & "").Text)
 
lbl3.Caption = vor
lbl4.Caption = nach
 
 
sFile = "H:\data\gernames.txt"
F = FreeFile
 
' Anzahl der Zeilen in der Textdatei ermitteln
If FileExists(sFile) = True Then
    Open sFile For Input As #F
    While Not EOF(F)
        Line Input #F, sLines(nLines)
        nLines = nLines + 1
    Wend
    Close #F
 
    For j = 1 To nLines
        If sLines(j) = vor & " " & nach Then
            GoTo onceagain
        End If
    Next j
End If
 
Open sFile For Append As #F
Print #F, lbl3.Caption & " " & lbl4.Caption
Close #F
 
End If
 
Next i
End Sub
Vielen Dank schon mal im Voraus und lg!

Beitrag wurde zuletzt am 09.07.10 um 14:22:07 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Unbekannter Fehler1.428djinty09.07.10 14:13
Re: Unbekannter Fehler821ManfredV09.07.10 14:25
Re: Unbekannter Fehler990djinty09.07.10 14:34
Re: Unbekannter Fehler928ManfredV10.07.10 09:36
Re: Unbekannter Fehler890Dirk09.07.10 15:30
Re: Unbekannter Fehler813djinty12.07.10 09:24

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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