Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - moe88

#11
Cita de: Eternal Idol en 22 Abril 2006, 12:29 PM
Cuando creas el servicio la funcion CreateService tiene un parametro llamada dwServiceType (el quinto) en el mismo tenes que pasarle SERVICE_INTERACTIVE_PROCESS ademas de (SERVICE_WIN32_OWN_PROCESS  o SERVICE_WIN32_SHARE_PROCESS).


corto y clarito... gracias
#12
Private Sub Command1_Click()
Winsock1.Close
End:
End Sub

Private Sub Form_Load()
Winsock1.RemoteHost = "checkip.dyndns.org"
Winsock1.RemotePort = 8245
Winsock1.Connect
Espera 15
If Label1.Caption = "" Then
    MsgBox "FALLO EN LA CONEXION A INTERNET"
    Winsock1.Close
    End:
End If
End Sub

Private Sub Winsock1_Connect()
Winsock1.SendData "GET / HTTP/1.1" & vbCrLf & vbCrLf
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Datos
Winsock1.GetData Datos, vbString
If Datos Like "*Current IP*" Then
  separa1 = Split(Datos, ">")
  separa2 = Split(separa1(6), ":")
  separa3 = Split(separa2(1), "<")
  Label1.Caption = Trim(separa3(0))
  Form1.Visible = True
  Winsock1.Close
End If
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Command1.Enabled = True
End Sub
Sub Espera(Segundos As Single)
  Dim ComienzoSeg As Single
  Dim FinSeg As Single
  ComienzoSeg = Timer
  FinSeg = ComienzoSeg + Segundos
  Do While FinSeg > Timer
      DoEvents
      If ComienzoSeg > Timer Then
          FinSeg = FinSeg - 24 * 60 * 60
      End If
  Loop
End Sub



P.D: No soy el autor del code

Un saludo
#13
Pues a ver, si lo que quieres es mandar datos teniendo el control winsock en el form1, pues tienes 2 opciones que yo sepa

a) Form1.Winsock.sendData (loquesea) ' Directamente desde el form2

b) (A mi me gusta más)

en el form1

Public Function EnviarDatos(Byval datos as string)
  winsock.sendData (datos)
End function

En el form2

call enviardatos(loquesea)


Eso para enviar, para recibir datos, pues por ejemplo, si en el form1, que es donde tienes que tener el evento data arraival, tal como te llegan los datos, dependiendo de los primeros carácteres, pues lo derivas al form 2, o sea, y es una de las maneras de hacerlo...

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
winsock.getData datos
if left(datos, 3= "XXX" then
         tamDatos = Len(datos)
         datos = right(datos,(tamDatos-3) ' para no pasar las XXX a la funcion
         call loquesea(datos)
end sub

y en el form2

Public Function loquesea (byval datos as string)
' y aqui haces lo que te interese con los datos
End function
#14
Hendrix, a ver si sabrias responderme una cosita, lo de crear el servicio, bueno, pues no tiene muchos secretos, y aun mucho menos con .NET, pero hay algo que no he conseguido, y es que la pestaña de "Permitir que el servicio interactue con el escritorio" este marcada,.. de echoo lo he conseguido tocando el registro después de instalar el servicio,  pero haciendolo así no he conseguido que funcione como si lo marcaras  " a mano"... alguna sugerencia???

Un saludo y muxo S.A. ;)
#15
Private Sub Form_LOad()
ws.close
ws.localport = 1066
ws.listen
End sub

Private Sub ws_Connect()
label1.caption = "conectado"
End Sub



Cliente:

Private Sub Form_Load()
Ws.RemotePort = 1066
Ws.RemoteHost = "xxx.no-ip.org" '(que es la no-ip del server)
Ws.Connect
End Sub

y en todo caso, si quieres que si falla se reconecte en ws_error pon
ws.close
ws.connect

#16
A ver si te entiendo bien, de entrada el Random del que hablas lo igualas a algo supongo, o sea

resultado = Rnd lo que sea

bien, si es asi, luego si quieres que si sale un numero X vea que ociones estan activas

if resultado =X then call opciones

y en la funcion opciones

if option1.value = 1 then accion = "EMAIL"
if option2.value = 1 then accion = "SONIDO"

si el value de la opcion es 1 es que esta marcada, si es 0 esta desmarcada

en fin, si no es eso lo que preguntas, jeje, pues disculpaa, y si es eso y aun dudas, postea.

Un saludo
#17
una cosita, tienes puesto el conexion request en el cliente????

el que acepta la conexion deberia ser el server... o es que a tu server le llamas client??

Private Sub client_ConnectionRequest (ByVal requestID As Long)
  ' Comprueba si el estado del control es cerrado.
  ' De lo contrario, cierra la conexión antes de
  ' aceptar la nueva conexión.
  If client.State <> sckClosed Then
   Client.Close
   Client.Accept requestID
   end if
end sub


por otro lado ese " if "  ahi, nu se nu se.. yo no lo pondria
#18
Bueno, tengo el codigo bastante avanzado, me falta pullirlo y parece que funciona bastante bien.. si alguien que domine un poquillo de .NET le interesa, posteo el codigo y a ver si lo mejora..

un saludo a todos
#19
Dim nombrefile As String
nombrefile = Dir(Path) ' El path del directorio
Do While nombrefile <> ""
' Aqui agregas el nombrefile al lbox
nombrefile = Dir
Loop
End Sub
#20
Private Function buscapath()
ChDir App.Path
Directorio = App.Path
If Len(Directorio) > 3 Then
    Directorio = Directorio & "\"
End If
End Function


En cuanto a tu segunda pregunta, no te entiendo bien :(