|
151
|
Programación / Programación Visual Basic / Re: duda vb6
|
en: 29 Agosto 2007, 21:11 pm
|
Podes usar algo tan simple como esto: Private Sub Command1_Click() Ws.Connect "www.elhacker.net", 80 End Sub Private Sub Command2_Click() Ws.Close End Sub Private Sub Timer1_Timer() If Ws.State = sckConnected Then EstadoLabel.Caption = "Estado: Conectado" ElseIf Ws.State = sckClosed Then EstadoLabel.Caption = "Estado: Desconectado" Else EstadoLabel.Caption = "Estado: Desconectado" End If End Sub
Con el timer de intervalo 100, o lo que le queras poner. Al intentar conectar a una pagina el winsock quedara en espera, entonces entra el timer y si no tiene el estado de conectado, supone que no tiene internet, si el winsock esta cerrado, o si no esta cerrado tambien. Y para usar apis podes utilizar el siguiente codigo, ahi en el tuyo hay una cosa que sobra y es el CheckStatusConn de tipo boleano, no veo que lo uses en otra parte, mira el codigo que hice: Private Const INTERNET_CONNECTION_OFFLINE = &H20 Private Const INTERNET_CONNECTION_LAN = &H2 Private Const INTERNET_CONNECTION_MODEM = &H1 Private Const INTERNET_CONNECTION_PROXY = &H4 Private Const INTERNET_RAS_INSTALLED = &H10 Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long Private Sub Form_Load() CheckStatusConn End Sub Public Function CheckStatusConn() Dim Flag As Long InternetGetConnectedState Flag, 0 Verifica: If Flag Then If Flag <> INTERNET_RAS_INSTALLED Then Conectar Me.AutoRedraw = True If Flag And INTERNET_CONNECTION_MODEM Then Print "Conexion Via Modem" If Flag And INTERNET_CONNECTION_LAN Then Print "Conexion Via LAN" If Flag And INTERNET_CONNECTION_PROXY Then Print "Conexion usando un Proxy" If Flag And INTERNET_CONNECTION_OFFLINE Then Print "Sistema local esta fuera de linea" Else Flag = 0 GoTo Verifica End If Else MsgBox "lo siento" End If End Function Public Sub Conectar() WS.Close WS.RemoteHost = Servidor WS.RemotePort = Puerto WS.Connect End Sub
|
|
|
152
|
Programación / Programación Visual Basic / Re: chequear si existe la base de datos?
|
en: 29 Agosto 2007, 05:25 am
|
Hola scrngs, estoy muy bien gracias, como estas vos? xD. Mira, ya tenemos el nombre en el archivo Text4.Text Lo que podemos hacer es quitarle las ultimas 4 letras que son las que señalan el punto "." y la extension "mdb" Se puede hacer de varias formas, te muestro las mas sencillas. Text4.Text = Left(Archivoabuscar, Len(Archivoabuscar)-4) 'La funcion Left sirve para extraer de una cadena empezando desde la izquierda N caracteres 'por ejemplo Archivoabuscar = basedatos.mdb 'Lo que hace la funcion es desde la posicion 1 de la cadena, coje hasta las posicion de la longitud del archivo -4 'Longitud archivo = 13 'Left("basedatos.mdb",9) 'A lo que quedaria basedatos
Y como hay algunos archivos que la extension es mas de tres caracteres, entonces podes utilizar este codigo. Nombre = Split(Archivoabuscar, ".") 'Dividimos la cadena partiendola por el "." if ubound(Nombre)=1 then 'Si el archivo solo tiene un punto, se divide en dos cadenas, entonces.. SinExtension = Nombre(0) 'El nombre sin extension es la cadena 1, la extension es la cadena 2 = array("basedatos","mdb") end if Text4.text = SinExtension
|
|
|
153
|
Programación / Programación Visual Basic / Re: Hola, nececito una mano
|
en: 29 Agosto 2007, 05:17 am
|
El problema de hacer controles en tiempo de ejecucion es que luego no podes crear el ejecutable con los botones que querias. Jajaj no se me ocurre nada para esto. aca esta un pequeño codigo para crear controles en tiempo de ejecucion, aunque se que eso no lo estas pidiendo, aprender algo nuevo no esta de mas Private WithEvents Comando As CommandButton Private Sub Command1_click() Set Comando = Form1.Controls.Add("VB.CommandButton", "Comando") Comando.Visible = True Comando.Caption = "Comando Dinamico" End Sub Private Sub Comando_click() MsgBox "Test de control dinamico", vbCritical, Comando.Caption End Sub
Saludos
|
|
|
154
|
Programación / Programación Visual Basic / Re: Base de datos en ftp
|
en: 29 Agosto 2007, 04:20 am
|
Si la base de datos esta fuera de la raiz del servidor web, mm, seria muy tedioso bajarse la base de datos (Eso si estamos hablando de un .mdb), modificar los datos desde el local y luego volver a subirla. Podes crear un script en el remoto donde cada X tiempo se este fijando si hay un archivo dentro del ftp, y que el script segun ese archivo haga las modificaciones en la base de datos, este archivo se puede subir por ftp. Y si el remoto posee algun tipo de acceso web, podes hacer que en vez de que se comunique con el ftp, haga una conexion a script php donde se le pasen los parametros de las cosas a modificar en la base de datos. No se me ocurre mas formas para hacerlo, de que existen, existen. y Saludos ¿Alguien sabe mas de esto?
|
|
|
155
|
Programación / Programación Visual Basic / Re: Duda sobre click del mouse
|
en: 29 Agosto 2007, 04:12 am
|
Bueno, no se lo de "cuando se levanta el boton izquierdo", pero se que tenes un error en el codigo, el valor que le tenes que pasar al api GetAsyncKeyState debe ser un tipo byte. Mira el siguiente codigo y dime si te sigue presentando problemas 'El timer en ambos casos es de intervalo 1 milisegundo, tambien se puede trabajar con el api SetTimer Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Const IZQUIERDO = &H1 Private Sub Timer1_Timer() If GetAsyncKeyState(IZQUIERDO) Then MsgBox "Click izquierdo oprimido" End If End Sub '----------- 'Tambien lo podes hacer con la api GetKeyState: Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Const IZQUIERDO = &H1 Private Sub Timer1_Timer() If GetKeyState(IZQUIERDO) Then MsgBox "Click izquierdo oprimido" End If End Sub
Saludos y espero haberte ayudado en algo.
|
|
|
157
|
Programación / Programación Visual Basic / Re: chequear si existe la base de datos?
|
en: 28 Agosto 2007, 06:14 am
|
Claro, mira. App.Path = Indica la ruta actual en la que se esta ejecutando el programa pero... Si el programa se esta ejecutando desde la unidad C:, osea desde la raiz de la unidad Si pones Dir(App.Path & "\*.mdb") lo que hace es que App.path = "c:\" a lo que quedaria Dir("C:\\*.mdb") Te largaria error... Utilizo el replace (replace(app.path & "\" , "\\" , "\" ) & "*.mdb") Para reemplazar el "\\" por un "\", si es que se esta ejecutando desde la raiz de la unidad. Otra forma de reemplazar el "C:\\" es el siguiente codigo: Ruta = App.Path if Right(Ruta,1)<>"\" then Ruta = Ruta & "\"
Saludos
|
|
|
159
|
Programación / Programación Visual Basic / Re: proxy en webbrowser
|
en: 28 Agosto 2007, 05:04 am
|
Pues la verdad a mi me funciona bastante mal ese componente, porque cuando lo quiero agregar, salen errores y de todo, por eso nunca uso componentes, uso es una clase que encontre por ahi del winsock, que no tengo que agregar componentes. con ese del webbrowser, me parece que lo utilice hace como dos años, intenta si con text1.text = webbrowser1.openurl(... me parece que asi es, pero ni pi xD saludos
|
|
|
160
|
Programación / Programación Visual Basic / Re: visual basic 6 HTTP request
|
en: 28 Agosto 2007, 01:44 am
|
Intenta quitar este pedazo de codigo del evento DataArrival del Winsock, y metelo mejor en el evento Click de un comando Strtrequest = "GET /" + Text2.Text & " HTTP/1.1" & vbCrLf Strtrequest = strrequest & "Host: " & Text1.Text & vbCrLf Strtrequest = strrequest & "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/2.0.1" & vbCrLf Strtrequest = strrequest & "Accept-Language: en-us,en;q=0.5" & vbCrLf Strtrequest = strrequest & "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbCrLf Strtrequest = strrequest & "Keep-Alive: 300" & vbCrLf Strtrequest = strrequest & "" & vbCrLf Strtrequest = strrequest & "Connection: keep-alive" & vbCrLf Strtrequest = strrequest & "Referer: " & Text1.Text & vbCrLf Winsock1.SendData Strtrequest
Ademas se nota mucho que no conoces las peticiones http, al final debes agregar un doble vbcrlf, al menos que estes haciendo un post. saludos;)
|
|
|
|
|
|
|