Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Schleifenfehler (in nächste Zeile springen)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
pepper-jk



Anmeldungsdatum: 08.07.2009
Beiträge: 33

BeitragVerfasst am: 30.07.2009, 08:15    Titel: Schleifenfehler (in nächste Zeile springen) Antworten mit Zitat

Halli hallo,
bin die geborene Nervensäge^^
also ich habe ein Programm, dass mir aus folgender .txt auslesen soll:

Code:
[user;password;right;folder;projectnumber;:]
test;okay;M;myfolder;10;:
usertest2;pw;R;newfolder;3;:


Und zwar soll es die erste Zeile überspringen, was es auch macht. Nur es soll danach (also ab der 2. Zeile) in jeder Zeile bis zum ";" auslesen und in eine Array schreiben, die das ganzen dann später auf Variablen übergibt, da ich den Inhalt der Arrays in bestimmten Variablen für das fortlaufende Programm brauche. Nun liest er aber nur die 2. Zeile aus und das 2 mal, anstatt in die nächste zu springen.
Ich finde den Fehler wie immer nicht peinlich mit dem Kopf durch die Mauer wollen

Code:
Input ".txt-file   : ", filetxt
Shell "if not exist " & filetxt & " then echo Input: Error(txt)"
Open filetxt For Input As #1
Do Until EOF(1)
   Line Input #1, zeile
   If InStr(zeile, "[user;password;right;folder;projectnumber;:]") <> 0 Then
   Else
      For i As Integer = 1 To Len(zeile)
         If Mid(zeile, i, 1) = ";" Then
            userp(n)=over
            n=n+1
            over=""
         ElseIf Mid(zeile, i, 1) = ":" Then
            i=Len(zeile)
         Else
            over = over + Mid(zeile, i, 1)
         endif
      Next i
      user=userp(0)
      password=userp(1)
      usrright=userp(2)
      folder=userp(3)
      pno=ValInt(userp(4))

      Print user
      Print password
      Print usrright
      Print folder
      Print pno
   End If
Loop
Close #1


MfG pepper-jk
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
pepper-jk



Anmeldungsdatum: 08.07.2009
Beiträge: 33

BeitragVerfasst am: 30.07.2009, 09:39    Titel: Lösung Antworten mit Zitat

Ich habe die Lösung schon gefunden
- Ich habe den ArrayZähler "n" nicht wieder auf 0 gesetzt.

LÖSUNG:

Code:
Input ".txt-file   : ", filetxt
Shell "if not exist " & filetxt & " then echo Input: Error(txt)"
Open filetxt For Input As #1
Do Until EOF(1)
   Line Input #1, zeile
   If InStr(zeile, "[user;password;right;folder;projectnumber;:]") <> 0 Then
   Else
      n=0
      For i As Integer = 1 To Len(zeile)
         If Mid(zeile, i, 1) = ";" Then
            userp(n)=over
            n=n+1
            over=""
         ElseIf Mid(zeile, i, 1) = ":" Then
            i=Len(zeile)
         Else
            over = over + Mid(zeile, i, 1)
         EndIf
      Next i

      Print zeile

      user=userp(0)
      password=userp(1)
      usrright=userp(2)
      folder=userp(3)
      pno=ValInt(userp(4))

      Print user
      Print password
      Print usrright
      Print folder
      Print pno
   End If
Loop
Close #1


MfG pepper-jk
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz