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

#91
Amigos, tengo un error que me tiene de cabeza, tengo este codigo que crea un documento de texto:

fnum = FreeFile 'se obtiene el numero de archivo
Open (Environ$("ProgramFiles") & "\KONAMI\Data\ip.conf") For Output As fnum  'se abre para escritura

' Escribe las lineas de texto
Print #fnum, "hola"
Print #fnum, "mundo"
Close #fnum 'se cierra el archivo

el problema es que me crea una tercera fila en blanco y eso me genera un error en mi aplicación:



Alguien me puede explicar por que pasa eso y como puedo solucionarlo??

gracias amigos :D
#92
Cita de: 79137913 en  7 Julio 2014, 21:01 PM
HOLA!!!

Hay mil maneras de hacerlo, pero el metodo que te coloque ahi no puede por que exec no puede ser en hidemode.

Busca, interiorizate aprende , que parece que te falta.

No te doy la respuesta para que puedas aprender mas.

Mucha suerte.

GRACIAS POR LEER!!!

Gracias de todas maneras amigos, es verdad estoy recién aprendiendo, me salto la sintaxis de vb6, he aprendido mucho pero a través de ensayo y error, en fin.
#93
lo ultimo, hay alguna forma de que la ventana de MS DOS se ejecute en segundo plano???
#94
Cita de: 79137913 en  7 Julio 2014, 20:33 PM
HOLA!!!

:¬¬

Posta...

Deberias revisar tus bases...

Código (vb) [Seleccionar]
Text1.text = GetIP()

GRACIAS POR LEER!!!

Justamente lo había conseguido, iba a editar el tema
muchas, pero muchas gracias estimado

#95
Cita de: 79137913 en  7 Julio 2014, 17:34 PM
HOLA!!!

Tengo entendido que la propiedas localip se actualiza cuando se cambia el ip, pero si eso no te satisface podrias leer la salida de IPCONFIG.

Este es un codigo de ejemplo de como leer la salida de ip config para un windows en español y devolver el ip

Código (vb) [Seleccionar]
Private Function getip() As String
    Dim objShell, objCmdExec
    Set objShell = CreateObject("WScript.Shell")
    Set objCmdExec = objShell.exec("ipconfig")
    getCommandOutput = objCmdExec.StdOut.ReadAll
    Set objShell = Nothing
    Set objCmdExec = Nothing
   
    Dim lineas() As String
    lineas = Split(getCommandOutput, vbNewLine)
    For x = 0 To UBound(lineas)
        If InStr(lineas(x), "Direcc") Then Exit For
    Next
    getip = Trim(Split(lineas(x), ":")(1))
End Function



GRACIAS POR LEER!!!

Amigo, gracias por tu respuesta, disculpa la ignorancia, como utilizo la función para mostrarla en un textbox???
#96
amigos, tengo el siguiente problema, tengo el siguiente codigo que me muestra la IP al presionar un botón, funciona sin problemas:

Private Sub Command1_Click()
Winsock1.RemoteHost = Winsock1.LocalHostName
MsgBox Winsock1.LocalIP
End Sub


El problema se da cuando cambio la IP local (desconecto el cable de red y me conecto por wifi) al presionar el botón, sigue mostrando la misma IP local, y no la actualizar, hasta que cierre y habrá la aplicación.

¿Como actualizo lo que muestre Winsco?
¿Hay algún otro método para mostrar la IP?

gracias amigos :D
#97
Cita de: 79137913 en  3 Julio 2014, 20:32 PM
HOLA!!!

Perdon por llegar tarde  ;D

Pero aca tenes una funcion completisima para obtener la ip externa, copia y pega el texto en un form vacio y voila, tu ip.

Esta funcion busca en varias webs tu posible ip externo y verifica que sea un ip valido.

Código (vb) [Seleccionar]
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal lpszFile As String, ByVal lpszParams As String, ByVal LpszDir As String, ByVal FsShowCmd As Long) As Long
Private Const IF_FROM_CACHE = &H1000000
Private Const IF_MAKE_PERSISTENT = &H2000000
Private Const IF_NO_CACHE_WRITE = &H4000000
Private Const Webs As String = "http://bot.whatismyipaddress.com/ http://myip.dnsomatic.com/ http://ip.nfriedly.com/text"
Private Const BUFFER_LEN = 256
Public Function Gurl(sURL As String) As String
    Dim sBuffer As String * BUFFER_LEN, iResult As Integer, sData As String
    Dim hInternet As Long, hSession As Long, lReturn As Long
    hSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0)
    If hSession Then hInternet = InternetOpenUrl(hSession, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
    If hInternet Then
        iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
        sData = sBuffer
        Do While lReturn <> 0
            iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
            sData = sData + Mid(sBuffer, 1, lReturn)
        Loop
    End If
    iResult = InternetCloseHandle(hInternet)
    Gurl = Replace(sData, Chr(0), vbNullString)
End Function
Private Function CheckExternalIp() As String
Dim IP As String
Dim URLs() As String: URLs = Split(Webs)
For x = 0 To UBound(URLs)
    IP = Gurl(URLs(x))
    If IsValidIp(IP) Then Exit For
Next
If IP = vbNullString Then MsgBox "Checkee su conexion a internet por favor, parece que esta fallando.", vbCritical, "Ups!": Unload Me
CheckExternalIp = IP
End Function
Private Function IsValidIp(strIpAddress) As Boolean
    Dim aTmp
    IsValidIp = False
    aTmp = Split(strIpAddress, ".")
    If UBound(aTmp) <> 3 Then Exit Function
    For Each field In aTmp
    If field > 255 Then Exit Function
    Next
    IsValidIp = True
End Function

Private Sub Form_Load()
    Show
    Print CheckExternalIp
End Sub


GRACIAS POR LEER!!!

Perfecto, gracias amigo :D
#98
Cita de: engel lex en  3 Julio 2014, 18:27 PM
usa MID o RIGHT para sacar el resto

aqui una referencia de msdn a las funciones de manejos de cadena de VB


no tengo conocimiento del manejo de cadenas de texto, podrías ayudarme de manera mas especifica por favor amigo, donde iria "MID" o "RIGHT"

gracias por la ayuda
#99
Cita de: engel lex en  3 Julio 2014, 13:58 PM
revisa el código fuente de la pagina y ve que factores tienes que buscar para aislar el valor que quieres, más bien me parece demasiada casualidad que el valor que te devuelve sea casi el correcto XD

ya casi, revisando el código de fuente de la pagina, me logre hacer que tome la IP, pero me falta sacar el texto inicial, así me sale:



este es el código de fuente:

<div id="content">

<h1>Your IP Address</h1>
<p>Your IP Address is: &nbsp; <b><font size="+1">

200.104.135.65


</font></b></p>
<p>If you have a static IP (Internet Protocol) address, this number will stay the same each time you visit. If you have a dynamic IP, the number will change each time you log on to the internet (or your ISP assigns a new IP).</p>
<!-- Footer -->
</div>


y así tengo el código en vb6

If Dir(App.Path & "\ipaddress.htm") <> "" Then
    cTemp = CreateObject("Scripting.FileSystemObject").OpenTextFile(App.Path & "\ipaddress.htm").ReadAll
    If InStr(cTemp, "<b>") > 0 Then
        arTemp = Split(Replace(cTemp, "</font>", "<p>"), "<p>")
        MsgBox arTemp(1)


ya casi :D
#100
Cita de: engel lex en  3 Julio 2014, 05:00 AM
probaste meterte a la pagina a la que consultas?

Gracias por responder amigo, efectivamente el problema era la pagina, la cambie quedando así el codigo:

Dim cTemp As String
Dim arTemp() As String

Call URLDownloadToFile(0, "http://www.mediacollege.com/internet/utilities/show-ip.shtml", 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


El problema es que el msgbox me muestra el texto "Your IP Address is" y es al lado donde sale la WAN IP
se que modificando los valores de

If InStr(cTemp, "<h1>") > 0 Then
        arTemp = Split(Replace(cTemp, "</h1>", "<h1>"), "<h1>")
        MsgBox arTemp(1)


podría seleccionar que mostrar en el msgbox, pero no tengo claridad del como
me dan una mano amigos por favor

saludos