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 - rapbyone

#101
Cita de: engel lex en  3 Julio 2014, 03:55 AM
entre las pocas formas (por no decir unica) de obtener el ip de wan es preguntandoselo a un servidor externo :P la otra es que tu programa se meta en el panel de administrador del router y saque los valores

Encontré este código que hace la consulta a un servidor externo, pero no me muestra la IP

Private Sub Command5_Click()
Dim cTemp As String
Dim arTemp() As String

Call URLDownloadToFile(0, "http://www.myipaddress.com/show-my-ip-address/", App.Path & "\ipaddress.htm", 0, 0)
If Dir(App.Path & "\ipaddress.htm") <> "" Then
    cTemp = CreateObject("Scripting.FileSystemObject").OpenTextFile(App.Path & "\ipaddress.htm").ReadAll
    If InStr(cTemp, "<h1>") > 0 Then
        arTemp = Split(Replace(cTemp, "</h1>", "<h1>"), "<h1>")
        MsgBox arTemp(1)
    Else
        MsgBox "Unknown IP Address"
    End If
    Kill App.Path & "\ipaddress.htm"
Else
    MsgBox "Unknown IP Address"
End If
End Sub


Cita de: Gh057 en  3 Julio 2014, 04:36 AM
hola rapbyone, podrías hacerlo mediante consulta al servidor dns, que al cruzarlo con los registros de recursos AAAA, resuelve el nombre a su dirección ipv6; brindándote así el valor requerido. saludos

No tengo los conocimiento para lograrlo, suena genial, pero difícilmente lo logre hacer  :-(
#102
Alguien tiene algún código para obtener la WAN IP del router a través de vb6. la IP local la saco con el componente Winsock, pero la WAN IP no se como

alguna ayuda.
gracias amigos :D
#103
Amigos, recurro a ustedes para que me puedan ayudar a un problema que escapa de mi conocimiento, el cual es muy básico.

Lo que busco es lo siguiente, tengo un programa que trabaja muy bien, el único problema es que este programa trabaja bien solo cuando se instala en la carpeta de Archivos de programa, ya que las rutas las toma de por ejemplo:


Shell (Environ$("ProgramFiles") & "\apss\data\app.exe")


El problema se genera cuando alguien instala la aplicación en otro unidad o directorio, supongamos en una partición, el programa pierde su funcionalidad.

Para solucionar este problema, se me ocurre lo siguiente, al momento de iniciar por primera ves el programa, pida almacenar la ruta, en donde se instaló el programa, el usuario la selecciona a través de un "CommonDialog" y la ruta se almacena en un archivo .ini, supongamos la ruta "D:/apps"

y luego llamar esa ruta para ejecutar las funciones del programa, algo así como:
"

Dim Directorio As String
With CreateObject("WScript.Shell")
Directoriosave = "ruta almacenada en ini"
Shell (Dir$("Directoriosave ") & "\apss\data\app.exe")


el problema es como almacenar la ruta en un INI a través del CommonDialog

Yo tengo el siguiente código para hacer la verificación al iniciar el programa:

Private Sub Form_Load()
Dim Directorio As String
With CreateObject("WScript.Shell")
Directoriosave = .SpecialFolders("Mydocuments") & "\save\"
If Dir$(Directoriosave & "ruta.ini") <> "" Then
'la ruta esta almacenada, el programa sigue su funcionamiento normal
Else
'la ruta no esta creada, opción para que el usuario escoja la dirección **es lo que me falta hacer
End If
End With
End Sub


Pero me falta el poder almacenar la ruta en el ini, tengo el siguiente código, que hace algo similar, pero que ejecuta un .exe. si el exe no esta, abre una ventana para solicitar que el usuario lo escoja manualmente, luego almacena la ruta en un ini y después inicia el exe desde la ruta. Yo quiero hacer lo mismo, pero con un directorio, pero solo almacenar la ruta.

Private Sub Command1_Click()
Static Respuesta As String ' creamos una variable que no se pierde
If Respuesta = "" Then
If Dir(("C:/ruta.txt"), vbArchive) <> vbNullString Then
Open ("C:/ruta.txt") For Input As #1
Line Input #1, Respuesta
Close #1
Else
Respuesta = ("C:/notepad.exe")
End If
End If

If Dir(Respuesta, vbArchive) = vbNullString Then
CommonDialog1.Filter = "Archivos Ejecutables (*.exe)|*.exe"
CommonDialog1.ShowOpen
'si el usuario selecciona cancelar que salga del sub
If CommonDialog1.FileName = "" Then Exit Sub
Respuesta = CommonDialog1.FileName
Open ("C:/ruta.txt") For Output As #1
Print #1, CommonDialog1.FileName
Close #1
End If
ChDir Left$(Respuesta, Len(Respuesta) - Len(Dir$(Respuesta)))
Shell Respuesta, vbNormalFocus
End Sub


Gracias amigos, espero se entienda.
#104
Cita de: MCKSys Argentina en 12 Junio 2014, 18:29 PM
Si colocas el timer cada 5 minutos y usas una variable contadora global, puedes contar cualquier cantidad de tiempo (en intervalos de 5 minutos, no?  :P ).

Saludos!

Amigo, gracias por responder, la verdad es que estoy comenzando en vb6, podrías explicarme como crear una variable contadora global?
#105
Amigos, necesito que durante la ejecución de un programa, cada cierto tiempo se comprueben nuevas actualizaciones a traces de un timer, el problema es que la propiedad "interval" del timer solo admite hasta el valor "60000" que equivale a 6 minutos.

Mi pregunta es, ¿Hay alguna forma para alargar el tiempo? supongamos que el timer se programe para ejecutar una acción cada "3 horas" por ejemplo

gracias amigos
#106
Cita de: abkanis en 30 Abril 2014, 00:42 AM
o.o  aver podrias  explicarlo mejor?, deseas que solo  este en la posicion del centro  o que  se  metan dentro del from1

Precisamente amigo, que este como "dentro" del form1 o algo por el estilo.

Enviado desde mi GT-I9300 mediante Tapatalk
#107
Amigos les cuento, tengo un form principal y 3 form adicionales que tienen opciones, la cosa es que quiero que al llamar a los form adicionales aparezcan al centro del form principal y que cuando este se mueva, los otros form también lo hagan. Espero se entienda xD

Saludos amigos

Enviado desde mi GT-I9300 mediante Tapatalk
#108
hermoso, funciono genial
muchas gracias amigo :D
#109
Amigos les cuento, tengo un problema, no logro hacer funcionar lo que quiero, es algo complejo de explicar, les cuento:

tengo un checkbox que:
1. cuando se marca cambia el nombre de una carpeta
2. cuando se desmarca cambia por el nombre anterior



El tema es que quiero que el programa detecte el nombre que tiene para marcar o no marcar el checkbox, trate de hacer lo siguiente. Cuando se inicie el programa haga una comprobación del nombre que tiene la carpeta y marque o desmarque el checkbox.

este es el código:
Private Sub Check1_Click()
If Check1.Value = 1 Then
   Name "C:\activo" As "C:\inactivo"
Else
   Name "C:\inactivo" As "C:\activo"
End If
End Sub

Private Sub Form_Load()
If Len("C:\activo") = 0 Then
   Check1.Value = 0
   Else
   Check1.Value = 1
End If
End Sub

mas que nada quiero saber como hacer para que cuando se marque una opción al volver a iniciar el programa aparezca la opción marcada.

Difícil de explicar, espero alguien entienda.

dejo el proyecto por si alguien me da una mano por favor

https://mega.co.nz/#!2MZjGJRQ!aCjfA5BJFmhi1_qzh4eqVaWX8-xV198JfNNoFFccWH0
#110
Amigos tengo el siguiente código que me muestra un mensaje cuando los valores de dos textbox son diferentes:

  If Val(Text1.Text) <> Val(Text2.Text) Then
    MsgBox ("Hay una nueva actualizacion...")
    End If



El problema es que solo funciona con números enteros, lo que quiero es que funcione también con texto, por ejemplo:

Text1 = version 2.1
Text2 = version 2.2

y que aparezca el mensaje
gracias amigos  ;D