Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - VB6  e Variabili Byte
Forum - Visual Basic 6 - VB6 e Variabili Byte

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
.:ViRuS:. (Ex-Member)
Pro


Messaggi: 174
Iscritto: 01/06/2008

Segnala al moderatore
Postato alle 21:50
Giovedì, 24/07/2008
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!!

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 22:05
Giovedì, 24/07/2008
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 ...

PM Quote
Avatar
.:ViRuS:. (Ex-Member)
Pro


Messaggi: 174
Iscritto: 01/06/2008

Segnala al moderatore
Postato alle 22:07
Giovedì, 24/07/2008
Si ho provato


Ho fatto
do until Variabile <> 0
codice
loop


ma sempre lo stesso errore

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 22:11
Giovedì, 24/07/2008
Il problema non e' nel codice che hai mostrato ma nel resto ...

VB indica la linea in cui si verifica l'errore ... qual e'?

PM Quote
Avatar
.:ViRuS:. (Ex-Member)
Pro


Messaggi: 174
Iscritto: 01/06/2008

Segnala al moderatore
Postato alle 22:14
Giovedì, 24/07/2008
do until variabile > 0
codice
loop

mi segnala la prima riga facendola diventare gialla selezionando  ">" di blu

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 22:18
Giovedì, 24/07/2008
Lo posti TUTTO il codice dall'inizio alla fine ...

... cosi' che faccio un copia-incolla e lo eseguo anche io ...

PM Quote
Avatar
.:ViRuS:. (Ex-Member)
Pro


Messaggi: 174
Iscritto: 01/06/2008

Segnala al moderatore
Postato alle 22:22
Giovedì, 24/07/2008
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

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 22:39
Giovedì, 24/07/2008
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

Codice sorgente - presumibilmente VB.NET

  1. On Error Resume Next
  2.     Do
  3.         If UBound(buffer) > 0 Then
  4.             If Err Then
  5.                 Err.Clear
  6.             Else
  7.                 Exit Do
  8.             End If
  9.         End If
  10.         DoEvents
  11.     Loop
  12.     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 il 24/07/2008 alle 22:40
PM Quote
Avatar
.:ViRuS:. (Ex-Member)
Pro


Messaggi: 174
Iscritto: 01/06/2008

Segnala al moderatore
Postato alle 22:44
Giovedì, 24/07/2008
Hai ragione 8-|


però comunque provo >_< non m'importa voglio risolvere sto problema...

ho provato a mettere:


do Until UBOUND(buffer) > 0


Gli array li conosco... ma non so usarli bene (Che fastidiO!!!! :grr:)


ma se faccio msgbox Ubound(buffer) cosa uscirebbe?

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo