Problema ciclo do [vb6]

di il
1 risposte

Problema ciclo do [vb6]

Salve a tutti ho scritto il seguente codice all'interno di un command button :

Private Sub Command1_Click()
'Open "scadenziere.txt" For Append As #3 Len = Module3.lunghezzas

'da qui
'strVerifica = Dir$("scadenziere.txt")
 '   If (strVerifica = "") Then
  '  Write #3, Text1.Text + "$" + Text2.Text + "$"
   ' Close #3
    'MsgBox ("nuova scadenza inserita correttamente verra indirizzata alla pagina di visualizzazione")
    'visualizzascadenziere.Show
    

'Unload Me
'End If
strVerifica = Dir$("scadenziere.txt")
    If (strVerifica = "") Then
Open "scadenziere.txt" For Append As #3 Len = Module3.lunghezzas
Write #3, Text1.Text + "$" + Text2.Text + "$" + Text3.Text + "$"
Close #3
MsgBox ("Fornitore Inserito Correttamente verrai reinderizzato alla pagina precedente")
visualizzascadenziere.Show
Unload Me
'se non è il primo inserimento
Else
Dim data_nuova As String
Dim i As Integer
Dim linea As String
Dim appooo As String
Dim da_nu As Integer
Dim ap3 As Integer
i = 0
data_nuova = Val(Text3.Text)
'da quiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
Open "scadenziere.txt" For Input As #3
Do While (EOF(3) = False)
Input #3, linea
appooo = Mid(linea, Len(linea) - 2)
da_nu = CInt(data_nuova)
ap3 = CInt(appooo)
If (da_nu < appooo) Then
Open "appoggio.txt" For Append As #4
Write #4, Text1.Text + "$" + Text2.Text + "$" + Text3.Text + "$"
Close #4
Else
Open "appoggio.txt" For Append As #4
Write #4, linea
Close #4
Loop
Close #3
Kill ("scadenziere.txt")
Open "appoggio.txt" For Input As #4
Do While (EOF(4) = False)
Input #4, linea
Open "scadenziere.txt" For Append As #3
Write #3, linea
Close #3
Loop
Close #4

End If
End Sub
Durante l'esecuzione mi viene dato il seguente errore : Do without Loop ... non capisco il perchè. Qualcuno di voi sa aiutarmi?? Grazie anticipatamente a tutti per l'aiuto.

1 Risposte

  • Re: Problema ciclo do [vb6]

    Ciao.
    Credo che il problema sia che hai messo una 'IF' dentro un LOOP e NON la hai chiusa o meglio, lo hai fatto all'esterno del loop e NON va bene.
    Cerca di normalizzare e ottimizzare il codice, sembra un po, come dicevano una volta, a ''spaghetti', insomma si intreccia troppo...
    
    Open "scadenziere.txt" For Input As #3
    Do While (EOF(3) = False)
        Input #3, linea
        appooo = Mid(linea, Len(linea) - 2)
        da_nu = CInt(data_nuova)
        ap3 = CInt(appooo)
        If (da_nu < appooo) Then
            Open "appoggio.txt" For Append As #4
            Write #4, Text1.Text + "$" + Text2.Text + "$" + Text3.Text + "$"
           Close #4
        Else
           Open "appoggio.txt" For Append As #4
           Write #4, linea
           Close #4
    ????!!!! manca l' <end if>
    Loop
    
    
Devi accedere o registrarti per scrivere nel forum
1 risposte