Oppure

Loading
24/07/08 19:50
.:ViRuS:.
Ciao a tutti ragazzi ho da chiedervi una domanda...


Avete presente le variabili string e byte?


Beh... Io ho un codice...

e devo fare una cosa fino a quando la variabile string (d'ora in poi la chiameremo PIPPO) sia diversa da ""

quindi cosi:

do until PIPPO <> ""
Codice
loop


Ora... io ho una variabile Byte che prima non contiene niente ("";)

però poi contiene dati


e devo fare un ciclo do loop fino a quando la variabile byte è DIVERSA da Niente ("";)


Solo che non posso usare il codice di sopra perchè non si parla di stringhe ma di bytes e quindi da errore dicendo tipo non corrispondente...


E come dovrei fare?


Grazie 1000 In anticipo!!
aaa
24/07/08 20:05
gantonio
Una variabile di tipo Byte e' numerica ...

E' un numero compreso tra 0 e 255 ... non esiste il concetto di variabile byte "vuota" ...

Puoi controllare se vale 0 o e' diverso da 0, se ti server ...
aaa
24/07/08 20:07
.:ViRuS:.
Si ho provato


Ho fatto
do until Variabile <> 0
codice
loop


ma sempre lo stesso errore
aaa
24/07/08 20:11
gantonio
Il problema non e' nel codice che hai mostrato ma nel resto ...

VB indica la linea in cui si verifica l'errore ... qual e'?
aaa
24/07/08 20:14
.:ViRuS:.
do until variabile > 0
codice
loop

mi segnala la prima riga facendola diventare gialla selezionando ">" di blu
aaa
24/07/08 20:18
gantonio
Lo posti TUTTO il codice dall'inizio alla fine ...

... cosi' che faccio un copia-incolla e lo eseguo anche io ...
aaa
24/07/08 20:22
.:ViRuS:.
questa è solo la parte del codice che riguarda il trasferimento altrimenti qui arriviamo a 6 pagine...


Parte server:

Dim lPos As Long
S = data
V = Split(S, ",";)
Dim buffer() As Byte
If V(0) = "/ReceiveFile" Then

TCP.GetData data
If InStr(data, vbCrLf) <> 0 Then data = Left(data, InStr(data, vbCrLf) - 1)
Open App.Path & "\" & V(1) For Binary As #9
lPos = 1
TCP.SendData "OK" & vbCrLf
Do Until buffer > 0
TCP.GetData buffer
DoEvents
Loop

Put #9, lPos, buffer
lPos = lPos + UBound(buffer) + 1
End If

Close #9
aaa
24/07/08 20:39
gantonio
Beh ... avevi detto che la variabile era un byte ... ovvero

Dim variabile As Byte

Invece vedo che e' un "array di byte"

Dim buffer() As Byte

e dovresti sapere che c'e' molta differenza ...

(in effetti ti serve un libro da studiare ... non puoi programmare senza le basi ...) ...

Il loop diventa

    On Error Resume Next
    Do
        If UBound(buffer) > 0 Then
            If Err Then
                Err.Clear
            Else
                Exit Do
            End If
        End If
        DoEvents
    Loop
    On Error GoTo 0


ma probabilmente ti sembrera' un codice un po' strano ... questa e' la conseguenza di non avere le basi ... non puoi neanche usufruire dei suggerimenti ...
Ultima modifica effettuata da gantonio 24/07/08 20:40
aaa