|
822
|
Programación / Programación Visual Basic / Re: Gif en form
|
en: 24 Junio 2006, 13:25 pm
|
Y reviviste un post del 11 de septiembre para decir eso??
Y por lo menos hubieras leido todo el hilo.
'no coments...'
yo estaba mirando el post del foro en el que te lleva a enlaces de interes... llegue a este lo leí y entonces vi la burrada que hay que hacer para añadir gifs... y nose tener k descomprimir todo el gif... aun usando ocx... no lo veo muy normal... de ahi mi no comment...
|
|
|
823
|
Programación / Programación Visual Basic / Re: añadir datos a txt web
|
en: 24 Junio 2006, 13:04 pm
|
Hola, tb me interesa hacer algo parecido.. Pero no se si se pueda en visual Basic y mi solucion seria esta. En ves de rellenar el formulario de la web y que lo envie silenciosamente, no seria mejor krear el formulario en el VB y esos datos enviarlo al "action" del formulario?.. Me explico, yo tengo un formulario en html con 2 campos.. <input name="name"> y <input type="password" name="pass"> y esos datos al [enviar datos] me los manda al ACTION del formulario. En mi caso a un archivo cgi EJ:" http://miweb.com/cgi-bin/file.cgi"Entonces lo ideal seria crear dos textbox en VB,simulando a los 2 de la web en html, y que esos datos lleguen al "action" o mi archivo cgi. se podra hacer eso? podre tener conexion de VB a un archivo cgi que esta en internet? Saludos y grax =) yo haria los iguiente, le meto un webbroser y le añado variables por get xd la url esta.... " http://www.toilameando.com/akimando.php?name=" & txtname.text & "&pass=" & txtpass.text .... en tu página pones esto... $name=$_GET['name']; $pass=$_GET['pass']; y ya los tienes... que quieres enviarlos a algun sitio luego por post... pues en el formulario ... en el name value='$name' y en el pass value='$pass' activas el submit con lo primero que se te ocurra... y listo
|
|
|
824
|
Programación / Programación Visual Basic / Re: ayuda con visual y las bd
|
en: 23 Junio 2006, 21:58 pm
|
Pues nunca lo he puesto así pero te voy a dar mi opinión: Cuando usas DIM lo que haces es declarar una variable de un tipo, crear un puntero a esa variable y reservar memoria correpondiente para ella cuando usas NEW lo que haces es crear una nueva instancia de una clase ya declarada. Así que no veo sentido a crear una nueva instancia de una clase que aún no has declarado si haces dim X as new ... Que me corrija alguien si lo pienso mal, pero creo que con eso puedes conseguir un puntero que apunte a nothing o bien que sea equivalente a no haber puesto el new. creo k te la crea ya directamente ... al menos eso nom e da error... xdxd te queria preguntar acerca de cambiar el contenido del recordset ya que como vi en tus ejemplos para ejecutar una consulta si no entendí mal se coloca asi... sql = "select modelo from almacenes order by modelo asc" Cmd.CommandText = sql rec = Cmd.Execute pues me da error... uso no válido de la propiedad soy mas burro... xd seria asi.... sql = "select modelo from almacenes order by modelo asc" Cmd.CommandText = sql set rec = Cmd.Execute
|
|
|
825
|
Programación / Programación Visual Basic / Re: Ayuda con Shell
|
en: 23 Junio 2006, 21:43 pm
|
una pregunta esque tengo un modulo para hacer una shell: Option Explicit
Public Declare Function CreatePipe Lib "kernel32" ( _ phReadPipe As Long, _ phWritePipe As Long, _ lpPipeAttributes As Any, _ ByVal nSize As Long) As Long 'Leer Tunel Public Declare Function ReadFile Lib "kernel32" ( _ ByVal hFile As Long, _ ByVal lpBuffer As String, _ ByVal nNumberOfBytesToRead As Long, _ lpNumberOfBytesRead As Long, _ ByVal lpOverlapped As Any) As Long 'Esto lo usa la funcion CreateProcessA Public Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type 'Esto lo usa la funcion CreateProcessA Public Type STARTUPINFO cb As Long lpReserved As Long lpDesktop As Long lpTitle As Long dwX As Long dwY As Long dwXSize As Long dwYSize As Long dwXCountChars As Long dwYCountChars As Long dwFillAttribute As Long dwFlags As Long wShowWindow As Integer cbReserved2 As Integer lpReserved2 As Long hStdInput As Long hStdOutput As Long hStdError As Long End Type 'Esto lo usa la funcion CreateProcessA Public Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessId As Long dwThreadID As Long End Type 'Esta funcion lanza el proceso y 'devuelve sus datos a traves de PROCESS_INFORMATION Public Declare Function CreateProcessA Lib "kernel32" ( _ ByVal lpApplicationName As Long, _ ByVal lpCommandLine As String, _ lpProcessAttributes As SECURITY_ATTRIBUTES, _ lpThreadAttributes As SECURITY_ATTRIBUTES, _ ByVal bInheritHandles As Long, _ ByVal dwCreationFlags As Long, _ ByVal lpEnvironment As Long, _ ByVal lpCurrentDirectory As Long, _ lpStartupInfo As STARTUPINFO, _ lpProcessInformation As PROCESS_INFORMATION) As Long 'Cierra el tunel Public Declare Function CloseHandle Lib "kernel32" ( _ ByVal hHandle As Long) As Long 'Constantes necesarias para lo de antes Public Const NORMAL_PRIORITY_CLASS = &H20& Public Const STARTF_USESTDHANDLES = &H100& Public Const STARTF_USESHOWWINDOW = &H1
Public Function CMD32(ByVal Comando As String) As String Dim mCommand, mOutputs On Error GoTo ACAGAR Dim proc As PROCESS_INFORMATION 'Informacion de CreateProcessA Dim ret As Long 'Esto se usa para obtener el retorno de las 'funciones API Dim start As STARTUPINFO 'Informacion de inicio para CreateProcessA Dim SA As SECURITY_ATTRIBUTES 'Atributos de seguridad para 'CreateProcessA Dim hReadPipe As Long 'Lectura de Tunel Dim hWritePipe As Long 'Escritura de Tunel Dim lngBytesread As Long 'Cantidad de Bytes leidos Dim strBuff As String * 256 'Buffer de lectura de tunel 'Creamos el tunel... SA.nLength = Len(SA) SA.bInheritHandle = 1& SA.lpSecurityDescriptor = 0& ret = CreatePipe(hReadPipe, hWritePipe, SA, 0) If ret = 0 Then 'Si falla la creacion del tunel CMD32 = "Fallo de Conexion con Proceso. Error: " & Err.LastDllError Exit Function End If 'Lanzamos el interprete de comandos... start.cb = Len(start) start.dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW start.hStdOutput = hWritePipe start.hStdError = hWritePipe 'Buscar la ruta del CMD.exe y añadir /c y el comando mCommand = Environ("COMSPEC") + " /c " + Comando 'Creamos el proceso usando la String mCommand de antes... 'y obtenemos RET para saber si se ha ejecutado ret& = CreateProcessA(0&, mCommand, SA, SA, 1&, _ NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc) If ret <> 1 Then 'si no se encuentra el comando... CMD32 = "Archivo o Comando no encontrado" Exit Function End If 'Cerramos el tunel ret = CloseHandle(hWritePipe) mOutputs = "" 'lo leemos Do ret = ReadFile(hReadPipe, strBuff, 256, lngBytesread, 0&) mOutputs = mOutputs & Left(strBuff, lngBytesread) Loop While ret <> 0 'cerramos los Handles (controladores) ret = CloseHandle(proc.hProcess) ret = CloseHandle(proc.hThread) ret = CloseHandle(hReadPipe) 'y hacemos que la funcion devuelva el resultado del comando a traves ' de la string mOutputs CMD32 = mOutputs Exit Function ACAGAR: CMD32 = "Error:" + Err.Description End Function pero no es compatible con Windows 98 hay alguno forma de hacerlo ¿?¿? buscando apis que funcionene en win98... xd te diria cuales pero ando algo verde...
|
|
|
828
|
Programación / Programación Visual Basic / Re: probelam con un archivo!!
|
en: 23 Junio 2006, 21:18 pm
|
hola pues, ave estoy haciendo una aplicacion: cuando se ejecuta, crea un file de texto con un nombre concreto, luegolo abre en binario y escribe en el una serie de datos y luego lo envia a un ftp. El problema es: que en cada maquina q se ejecuta esta aplicación, va a crear siempre el mismo texto con el mismo nombre, pero con distintos datos..disntinta maquina..distintos datos..ok?, que ocurre que se me presenta el problema de que cuando este aplicacion aya corrido en mas de un computador, ya habra enviado data.txt 2 veces..al ftp..y en el ftp-.- ya habia un data.txt con otros datos..y claro cuando vaya a enviar otra maquina el segundo..tercero..4..data.txt..lo va a sobreescribir y perdere los datos anteriores, entonces lo que necesito es algun method para que cuando esta app se ejecute en una compu busque algun dato que en cada makina sea distinto y x ese dato le de otro nombre siempre distinto al text, entonces asi mi app enviaria x ejemplo : makina1 --> envia al ftp---> 00932.txt makina2-----> envia al ftp---> zzl.txt makina 3----> envia....y asi siempre, entonces tendria en el ftp todos esos archivos con distinto nombre y con lso datos de la maquina correspondiente. Tambien el problema se me presenta n como al methodo k uso para enviar los files al ftp le digo...en que ruta va a estar este file...y cual va a ser su nombre ...si el nombre lo genera como yo dije antes a partir de una serie de datos etc...bueno tengo un lio con esto..xke no se me ocurre ningun modo para hacerlo que no sea asi PD: si se me ocurre uno...para conservalos todos...pero es este: estar constantemente vijilando la llegada de textos y en cuanto llegue uno sacarlo del ftp..y guardarlo en mi compu con otro nombre y asi con todos..pero la verdad es que seria...costoso..perdida de tiempo...frustrante etc etc de lo peor, bueno ese es el problema que alomejor alugno dira juaz..xke no lo hace asi ? pues porque me queda aun mucho por aprender y no se me ocurre otra mejor , salu2 . *puedes hacerlo de muchas maneras, pones el nombre del txt "dato" & ipdelavictima & ".txt" mismamente .... * o la hora o un randon sacado al azar o cualquier cosa asi que se te ocurra... *hasta puedes tener un .txt contador en tu ftp pedir el nº , aumentarlo y luego ponerleselo en el nombre... *si en vez de enviar ficheros quiere sjugar con una bd también se puede hacer ... xd
|
|
|
829
|
Programación / Programación Visual Basic / Re: aumentar el tiempo del timer
|
en: 23 Junio 2006, 18:35 pm
|
Perdon me e ekivocado en el codigo del timer seria asi: If contador = "40" Then TU CODIGO contador = 0 Else contador = Contador + 1 End If
la variable deberia de ser global y entera(integer)... xk sino en cada entrada se vuelve a dimensionar... xd y si quieres ahorrarte el contador lo metes en el tag del timer... timer() contador=contador+1 if contador=40 then 'orgia contador=0 endif end sub
|
|
|
830
|
Programación / Programación Visual Basic / Re: ayuda con visual y las bd
|
en: 23 Junio 2006, 18:32 pm
|
Pues nunca lo he puesto así pero te voy a dar mi opinión: Cuando usas DIM lo que haces es declarar una variable de un tipo, crear un puntero a esa variable y reservar memoria correpondiente para ella cuando usas NEW lo que haces es crear una nueva instancia de una clase ya declarada. Así que no veo sentido a crear una nueva instancia de una clase que aún no has declarado si haces dim X as new ... Que me corrija alguien si lo pienso mal, pero creo que con eso puedes conseguir un puntero que apunte a nothing o bien que sea equivalente a no haber puesto el new. creo k te la crea ya directamente ... al menos eso nom e da error... xdxd te queria preguntar acerca de cambiar el contenido del recordset ya que como vi en tus ejemplos para ejecutar una consulta si no entendí mal se coloca asi... sql = "select modelo from almacenes order by modelo asc" Cmd.CommandText = sql rec = Cmd.Execute pues me da error... uso no válido de la propiedad
|
|
|
|
|
|
|