|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Epa
Páginas: 1 ... 7 8 [9] 10
201
« en: Martes 6 de Febrero de 2007, 01:20 »
Buenas. Crea un proyecto con 1 form y 1 modulo en el form agrega un picturebox y un timer. dejale los nombres genericos, al timer ponle el intervalo que quieras. Luego agrega el siguiente codigo en el modulo: Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Public Type POINTAPI x As Long y As Long End Type Public Function isOver(ByRef x As Integer, ByRef y As Integer) As Boolean Dim a As Long Dim coo As POINTAPI a = GetCursorPos(coo) x = coo.x * Screen.TwipsPerPixelX y = coo.y * Screen.TwipsPerPixelY isOver = a End Function
y en el formulario el siguiente: Private Sub Timer1_Timer() Dim x As Integer, y As Integer Dim RetVal As Boolean RetVal = isOver(x, y) If RetVal = False Then MsgBox "Error", , "+ Error +" Exit Sub End If x = x - Me.Left - 60 y = y - Me.Top - 345 x = x - Picture1.Left y = y - Picture1.Top If (x < 0) Or (x > Picture1.Width) Or (y < 0) Or (y > Picture1.Height) Then Picture1.BackColor = RGB(255, 0, 0) Else Picture1.BackColor = RGB(0, 0, 255) End If End Sub
Ejecuta la aplicacion y mueve el mouse sobre el picturebox. Wala No era tan complicado, ahora solo tienes que adaptarlo a tu aplicacion, en el evento mousemove del control activas el timer, luego una vez que salio lo desactivas, para ahorrar un poco de memoria. Saludos Este es http://foros.solocodigo.com/index.php?showtopic=26834
202
« en: Martes 6 de Febrero de 2007, 00:57 »
Buenas. Como cre q me hice entender en el post anterior, no existe un evento que ocurra al salir el mouse de un objeto en VB (  ) Saludos
203
« en: Domingo 4 de Febrero de 2007, 01:04 »
Private Sub Text1_KeyPress(KeyAscii As Integer) Dim numeros As String * 12 Dim num As String Dim v As Integer numeros = "0123456789," & vbBack num = Chr(KeyAscii) v = InStr(1, numeros, num) If v = 0 Then KeyAscii = 0 End If End Sub
Asi acepta coma y retroceso, el unico problema es que se pueden agregar letras pegando texto con el menu contextual. Saludos Habian 2 errorcitos en el codigo  ahi ya funciona bien.
204
« en: Sábado 3 de Febrero de 2007, 01:36 »
Buenas. Para darte cuenta de lo q digo, crea un proyecto con un formulario normal y ponle esto Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Print X & " - " & Y End Sub
Luego estira el formulario y ejecutalo. Pasa el mouse de punta a #### rapido, ahi veras que solo aparecen algunas coordenadas del mouse. Dependiendo la velocidad q lo pases. Ahora ponle un picturebox en el medio (no muy grande) y agrega Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Picture1.BackColor = RGB(255,0,0) End Sub
Ahora bien pasa el mouse rapido sobre el picturebox, veras que la mayoria de las veces no cambia de color. Si solo piensas usar el control para tu aplicacion una solucion no demasiado apropiada, pero sencilla es agregarle una funcion publica al control, que lo desactive y esta la llamas desde el evento mousemove del formulario, aunque si tus controles estan al seca del borde puede traer problemas. Otra mas complicada aunque mas adecuada y que te mencione anteriormente es poner un timer que valla chequeando la posicion del mouse. Cuando se mueve el mouse se activa y empieza a controlar la posicion hasta que se encuentra fuera y ahi se desactiva. Para esto puedes usar la api GetCursosPos. Nota que esta funcion devuelve los valores en pixeles, si lo multiplicas por 15 tendras el valor en twips, aunque mejor es multiplicarlo por Screen.TwipsPerPixelX y Screen.TwipsPerPixelY A esos valores le restas el left y top del form y le sumas los del control. Puede que halla que sumas un poco mas por la barra de titulos y los bordes. Luego comparas los valores iniciales con esos si se encuentran entre el left y left + width (= vertical) estara adentro, sino estara afuera. Bueno, Espero que se enteinda un poco mejor Cualquier cosa escribe. Saludos
205
« en: Miércoles 31 de Enero de 2007, 01:26 »
Buenas.
El problema es que usas el evento MouseMove, el cual se produce unicamente cuando el mouse esta encima del control. Tienes que tener en cuenta que al mover el mouse, las coordenadas del mismo no siempre varian de 1 en 1, por lo que si lo mueves muy rapido puede pegar saltos y "no pasar por encima de tu control" por eso tienes que estar verificando constantemente la posicion del mouse. Puedes usar un timer, q se active al posiconarse el mouse sobre tu control y desactivarse una vez q halla corroborado q el mouse no se encuentra mas encima.
Saludos
206
« en: Miércoles 31 de Enero de 2007, 01:12 »
Buenas. Primero, para q te muestre el icono le tienes q poner un icono a tu aplicacion, compilarla y luego asociar tu extencion a tu aplicacion. Para q se abra un archivo al darle doble click tienes q usar la funcion Command() la cual devuelve el argumento al iniciar la aplicacion, q sera el archivo q has abierto. Esta la pones en el procedimiento Main Para eso te conviene hacer una funcion que abra un archivo, asi usas una sola funcion para el Main y para el menu. Yo por lo general cuando trabajo con ficheros uso dos variables, una string y una boolena, la primera me almacena el nombre del archivo que esta abierto, y la segundo si se ha modificado. Entonces si pones guardar y el string es nullo, se abre "guardar como" y te pregunta el archivo, sino lo guarda directamente en el fichero que tienes almacenado. Para el tema de guardar, lo puedes hacer por lineas o crear un buffer e ir guardando por partes. Eso no lo recuerdo bien, ya q hace tiempo q no trabajo con ficheros en modo de texto :S Si usas un richtextbox tienes una funcion q guarda automaticamente. Bueno, quisas quedo algo confuso Espeor sirva. Saludos
207
« en: Lunes 29 de Enero de 2007, 23:57 »
Buenas.
Seria util que digas como lo estas haciendo, con q control, apis o eventos...
Algo q puede servir es un timer q valla controlando la posicion de mouse.
Otra opcion es utilizar subcalsificacion e interseptar los movimientos del mouse para comprobar sus coordenadas. Aunque si no esta bien hecho puede ser un gran consumo de memoria.
Saludos
208
« en: Viernes 26 de Enero de 2007, 01:26 »
Buenas. Hace algun tiempo me surgio la misma duda, y tube la misma respuesta. Para mi la forma mas censilla de entenderlo fue: Algunas variables reservan el primer bit para el signo, al declararla como unsignes haces que no se reserve ese bit, por lo que lo puedes usar para almacenar numeros mas grandes . Esto te sirve para ahorrar memoria, ya que puedes almacenar un dato en una variable que con signo no entra y evitar usar otra variable que utilize mas memoria. Espero q mi granito de arema halla sido de utilidad Saludos
209
« en: Viernes 26 de Enero de 2007, 01:07 »
buenas
el valor de retorno de esa funcion es de tipo long, ten cuidado si lo almacenas en un integer ya que puedes tener problemas si el valor sobrepasa el tamaño del integer, ya que en VB el integer reserva 2 bytes y el long 4.
Saludos
210
« en: Jueves 25 de Enero de 2007, 01:34 »
Buenas. En VB6 puedes usar la funcion VarPtr que te devuelve el puntero a una variable de typo void. No se si en .NET sera igual, fijate si funciona, si no prueba preguntar en el foro de VB.NET Foro .NETSaludos
211
« en: Martes 23 de Enero de 2007, 02:02 »
 me comi unas palabras quise decir, hacer un post en el foro dedicado a ese lenguaje Foro VB.NETSaludos
212
« en: Martes 23 de Enero de 2007, 01:57 »
Buenas.
Si lo que quieres es imprimir un formulario de to aplicacion, puedes usar la funcion PrintForm del formulario. Nota que algunos controles no salen en la impresion.
Saludos
213
« en: Martes 23 de Enero de 2007, 01:54 »
Buenas.
Hasta donde tengo entendido, y en lo que lo aplico, usar dos proyectos sirv e para probar dll's o ocx's y podes modificarlos sin tener que usar dos instancias del vb.
Para poder comunicar dos aplicaciones puedes usar subclasificacion y mensajes con las api's. Si lo haces fijate usar valores que no esten definidos por windows, ya que puedes tener resultados inesperados.
Saludos
214
« en: Martes 23 de Enero de 2007, 01:48 »
Buenas. Bienvenido ^^ En vb 6 es posible, por lo que creo q en .net tambien. Intenta hacer un post dedicado a ese lenguaje, quisas te puedan ayudar mas Saludos
215
« en: Lunes 22 de Enero de 2007, 04:21 »
Buenas. Muy buena la idea. Me encantaria lastima que no tengo los conocimientos suficientes. Espero que tu proyecto salga bien, saludos
216
« en: Lunes 22 de Enero de 2007, 04:11 »
Buenas.
el #include sirve para que el compilador comile el fichero que le especificas. Si en tu fichero main haces una llamada a una funcion que se encuentra en otro fichero, y no lo compilas te saldra un error, ya que estaras llamando a una funcion que no "existe" en tu aplicacion.
POr ejemplo.
En el fichero horas.h estan las constantes:
C_UNO = 1 C_DOS = 2 C_TRES = 2
Si intentas usar esas constantes sin incluir horas.h, saldra error, ya que al compilar no compilara ese fichero, por lo que esas constantes no existiran en tu aplicacion. En cambio si lo incluyes, al compilar, el compilador sustituira el include por el codigo del fichero, y estaran declaradas.
al compilar el compilador "leera" todo lo que se encuentra en el fichero, con excepcion de los espacios y los comentarios
Bueno, los terminos no son los mas practicos xD, soy bastante novato en c/c++ tambien. Pero espero que haya sido de utilidad
Saludos
217
« en: Lunes 22 de Enero de 2007, 00:50 »
Buenas. Como dijo Arkantos un moderador se ocupa de que se cumplan las normas. No tiene porque hacerse notar o responder posts. Si te fijas, hasta hace un tiempo atras todos los posts de vb.net heran movidos a su foro. no creo q se hayan movido por arte de magia Saludos
218
« en: Viernes 19 de Enero de 2007, 03:21 »
Rober:
Creo que estaria bueno que muevas los posts relacionados a las bases de datos a su respectivo sub foro, ya que hay gente q parece no darse cuenta que hay un foro dedicado a ello.
Saludos
219
« en: Viernes 19 de Enero de 2007, 00:33 »
Bunas. No entiendo a lo q te refieres especificamente (ya q no uso contraseñas en mi SO). Pero te dejo una web que te puede servir. Dx_Lib32De ahi podras bajar una dll activex que en realidad esta diseñada para juegos, pero te deja trabajar muy bien con imagenes. Otra opcion es usar alguna API o libreria grafica, para crear transparencias, el movimiento de una imagen es bastante sencillo. Saludos.
220
« en: Jueves 18 de Enero de 2007, 00:42 »
La base de la programacion sismpre es la misma (o casi siempre) una herramienta q se me ocurre es un buen libro Leer es la mejor forma de aprender
221
« en: Miércoles 17 de Enero de 2007, 01:19 »
Buenas
Hasta donde se no se puede alinear a la derecha en un listbox, y tampoco no le encuentro mucho sentido, ya que si los datos son de una longitud inferior al ancho del listbox, se hace comlicado leerlos.
Las dos opciones que se me ocurren son agrandar el listbox para que entren los numeros o redondear los numeros para que entren bien.
Otra opcion es usar un textbox, aunque si quieres que el usuario pueda seleccionar una linea se hace algo engorroso.
Saludos
222
« en: Sábado 13 de Enero de 2007, 02:41 »
Buenas. No le puse mucha atencion al codigo ya q es largo y estoy cansado Pero por lo que veo no hay ningun bucle ahi. Quisas no lo vi xD Otra cosa es que el servidor smtp puede tener un tiempo de espera entre mail y mail para evitar spam, como lo que quieres hacer =P intenta usar otro servidor Busca separar los destinatarios y mandar por separado, ya que muchos clientes o servidores toman los mails que van dirigidos a multiples usuarios como spam. Ademas si te llega un mail de alguien que no conoces que esta dirigido a muchos usuarios, ni lo lees (por lo menos yo y mucha gente q conosco) Bueno, creo q no fui de gran ayuda. Pero quisas ppara algo sirva ^^ Saludos
223
« en: Sábado 13 de Enero de 2007, 02:20 »
Buenas
Para ocultar una aplicacion puedes usar la API SetWindowPlacement. La propiedad showCmd del tipo WINDOWPLACEMENT lo pones en 0. y la ventana sera invisible.
En cuanto a comenzar la grabacion, estube intentando con parametros y mandando mensaje pero con ninguna tube exito.
Espero te sirva el aporte. saludos
224
« en: Viernes 12 de Enero de 2007, 01:51 »
Buenas
Muchas veces abrir 2 recordset es posible, el problema es que is modificas uno, el otro no tiene forma de saverlo, entonces cuando haces una operacion con el otro da error. Prueba, cada vez q modifiques alguno, actualizar los dos. ahora miro el codigo haber si encuentro algo.
Saludos
225
« en: Miércoles 10 de Enero de 2007, 01:35 »
teniendo esa info, yo te aconsejaria recuperar los datos abriendo el archivo en modo binario. Puede q sea un poco mas lento q las otras funciones, pero es muy certero, siempre q lo leas correctamente.
Saludos
Páginas: 1 ... 7 8 [9] 10
|
|
|