Duda facil pero dificil para mi =(

Iniciado por visualfree, 9 Octubre 2006, 07:56 AM

0 Miembros y 1 Visitante están viendo este tema.

visualfree

Private Sub Command1_Click()
Dim a As Integer
a = 23
MsgBox a
End Sub

Private Sub Command2_Click()
MsgBox a
End Sub

como puedo hacer eso osea declaro un variable con un valor que al ahcer click en el boton uno me muestra el mensaje con el valor pero como hago para que me muestre la variable del boton 1 en el boton 2 ? alguien q me ayude plz

visualfree

A otra sin dejarla como variable global.

visualfree

Para ir mas al callo de lo que quiero hacer es esto:

Private Sub ws_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim datos As String
Dim perro As String
ws(Index).GetData datos
ws(indice).SendData datos
End Sub

Private Sub ws1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
ws1(Index).GetData indice
End Sub

entonces el indice lo quiero pescar  en el dataarrival del ws pero no me lo toma me lo deja como vacio nose si alguien sabra como hacerlo espero su ayuda amigos

<--v1c1ous-->

Lo de tu primer post:

¿Por que sin usar variables globales?
Si no usas variables globales la variable pierde el valor asignado al  terminar la funcion, asi que al volver a ejecutar la funcion empieza de cero otra vez.
Y al no ser global otra funcion no puede leerla porque no esta declarada.

Tenes dos opciones:
1- O usar variables globales.
2- O pasar datos de funcion en funcion, ejemplo:

CitarFuncion UNO()
Dim MisDatos as String
MisDatos = "Hola!"
msgbox MisDatos
DOS (MisDatos)
End Funcion

Funcion DOS(Datos as String)
msgbox Datos
End Funcion

En tu ultimo post:

Suponiendo que ws es del programa UNO y ws1 del programa DOS

UNO toma los datos que se le envian y los vuelve a enviar a DOS ¿Para que?

Como sea, no estas usando ningun Index, la forma correcta de hacerlo es:

CitarPrivate Sub ws_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim datos As String
ws.GetData datos
ws.SendData datos
End Sub

Private Sub ws1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim datos1 As String
ws1.GetData datos1
End Sub

PD:Postea tu duda mas puntual de que es lo que queres hacer exactamente, asi podre decirte de que forma hacerlo.


NYlOn

No hace falta que sea una variable global, con que este en la parte de declaraciones del formulario va a ir bien (solo si los sockets estan en el mismo formulario). De lo contrario podrias o declararla en un modulo o como publica en alguno de los formularios. Despues para usarla pones:

MsgbBox Fromulario.Variable



Citarno estas usando ningun Index, la forma correcta de hacerlo es:

Lo esta usando bien, si el WS tiene index, su sintaxis es:

WS(Index).Propiedad




Saludos y por favor, se un poco mas claro.-

MORFEO_2

Dim a As String

Private Sub Form_Load()
a = 23
End Sub
Private Sub Command1_Click()
MsgBox a
End Sub

Private Sub Command2_Click()
MsgBox a
End Sub


el siguiente solo si presionas primero el  command1

Dim a As String


Private Sub Command1_Click()
a = 23
MsgBox a
End Sub

Private Sub Command2_Click()
MsgBox a
End Sub




Aun puedes despertar...xD largavida a ][NetSpy][ and ][Humble&Team][