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 - Chiarimento client\server
Forum - Visual Basic 6 - Chiarimento client\server - Pagina 2

Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo
Avatar
giusy_m86 (Normal User)
Pro


Messaggi: 143
Iscritto: 09/07/2008

Segnala al moderatore
Postato alle 14:24
Martedì, 29/07/2008
Ho scritto in questo modo, nn mi dà alcun errore ma lo stesso nn mi abilita il tasto del server

CLIENT
Dim Abilita As String
Winsock4.Connect
If Winsock4.State = sckConnected Then
Winsock4.SendData "Abilita"
End If
End Sub

SERVER
Private Sub Winsock4_DataArrival(ByVal bytesTotal As Long)
Dim Abilita As String
If Winsock4.GetData <> "Abilita" Then
cmdInvioDati.value = True
End Sub


Dove sbaglio?


PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 15:53
Martedì, 29/07/2008
Scusa se te lo dico, ma dovresti seguire un bel manuale, ti mancano cose base e addirittura cose a cui si potrebbe andare a intuzione le hai sbagliate...si direbbe che programmi da 2 minuti fa...
cmq:

Testo quotato

Postato originariamente da giusy_m86:

Ho scritto in questo modo, nn mi dà alcun errore ma lo stesso nn mi abilita il tasto del server

CLIENT
Dim Abilita As String
Winsock4.Connect
If Winsock4.State = sckConnected Then
Winsock4.SendData "Abilita"
End If
End Sub



la stringa in grassetto non serve a niente poteva servire solo se avevi fatto tipo:
Codice sorgente - presumibilmente Visual Basic 6

  1. dim Abilita as string
  2. Abilita = "Abilita"
  3. [...]
  4.  
  5. winsock1.senddata Abilita (<- la variabile)



cmq puoi lasciare come hai scritto tu levando semplcemente la riga in grassetto...
Testo quotato


SERVER
Private Sub Winsock4_DataArrival(ByVal bytesTotal As Long)
Dim Abilita As String

dim data as string
Winsock4.GetData

If Winsock4.GetData <> "Abilita" Then
cmdInvioDati.value = True
End Sub

Dove sbaglio?



Anche qui c'è quella variabile inutile, poi c'è una parte in corsivo che ho aggiunto che serve per la ricezione...

poi ti ho messo in evidenza "<>" perchè significa diverso quindi tu dici:

se la stringa ricevuta è diversa da "Abilita" allora:
abilita il command1

io penso che volevi dire se la stringa ricevuta è uguale ad "Abilita"...

quindi metti al posto di "<>" l'uguale: "="

Ultima modifica effettuata da GrG il 29/07/2008 alle 15:55
PM Quote
Avatar
Overflow (Normal User)
Expert


Messaggi: 334
Iscritto: 11/01/2008

Segnala al moderatore
Postato alle 16:08
Martedì, 29/07/2008
Testo quotato

Postato originariamente da giusy_m86:

Ho scritto in questo modo, nn mi dà alcun errore ma lo stesso nn mi abilita il tasto del server

CLIENT
Dim Abilita As String
Winsock4.Connect
If Winsock4.State = sckConnected Then
Winsock4.SendData "Abilita"
End If
End Sub

SERVER
Private Sub Winsock4_DataArrival(ByVal bytesTotal As Long)
Dim Abilita As String
If Winsock4.GetData <> "Abilita" Then
cmdInvioDati.value = True
End Sub


Dove sbaglio?




il metodo getdata vuole un parametro in input, non puoi fare il controllo su winsock.getdata <>"Abilita" ma dovresti fare
Codice sorgente - presumibilmente VB.NET

  1. dim abilita as string
  2. winsock4.getdata abilita 'passo la variabile come parametro
  3. if abilita ="Abilita" then
  4. 'abilita il tasto
  5. command1.enabled=true
  6. end if


facendo invece
Codice sorgente - presumibilmente Delphi

  1. if winsock4.getdata <> "Abilita" then
  2. '...
  3. end if


in questo modo stai facendo un controllo sul valore di ritorno del metodo getdata (che credo non ne abbia) inoltre dovresti avere un errore poichè la funzione si aspetta un parametro in input.

Ultima modifica effettuata da Overflow il 29/07/2008 alle 16:13
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 16:23
Martedì, 29/07/2008
lol
mi ero dimenticato di segnalare anche quell'errore...

PM Quote
Avatar
giusy_m86 (Normal User)
Pro


Messaggi: 143
Iscritto: 09/07/2008

Segnala al moderatore
Postato alle 16:37
Martedì, 29/07/2008
:-|

Scusate tanto, è da poco programmo in vb...
cmq ho provato i codici da voi suggeriti...ma continua a nn abilitare il comando...

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 16:45
Martedì, 29/07/2008
Mostra il codice modificato che usi

p.s. col tempo migliorerai ;)

PM Quote
Avatar
giusy_m86 (Normal User)
Pro


Messaggi: 143
Iscritto: 09/07/2008

Segnala al moderatore
Postato alle 16:54
Martedì, 29/07/2008
SERVER
Private Sub Winsock4_DataArrival(ByVal bytesTotal As Long)

Dim abilita As String
Winsock4.GetData abilita
If abilita = "Abilita" Then
cmdInviaDati.value = True
End Sub



CLIENT
Dim abilita As String
abilita = "Abilita"
Winsock4.Connect
If Winsock4.State = sckConnected Then
Winsock4.SendData abilita
End If


:-? Supponendo che il codice vada bene...la funzione che mi abilta un comanado è questa: command1.value=true?

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 17:01
Martedì, 29/07/2008
nel codice del server hai dimenticato un end if alla fine.

e cmq è sbagliato scrivere command1.value = true

devi scrivere:

command1.enabled = true ( o false se lo vuoi disattivare)

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