|
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 - albertovicat
1
« en: Sábado 7 de Julio de 2007, 14:41 »
¿Has probado de hacer esto?:
MSHFlexGrid.Row = Adodc.Recordset.ActiveRecord
Eso te cambirá el row actual de la grilla. Lo que no estoy seguro es si habrá alguna manifestación visible de que se cambió. Las MSHFlexGrid tenían algunos problemas con la visualización. Si no te funciona prueba reemplazándola por una MSFlexGrid (sin H).
Saludos
2
« en: Sábado 7 de Julio de 2007, 14:30 »
Mira, yo hice un programa así. Abría el exe como archivo de acceso directo mediante un field de longitud 1: --------------------------------- Type Fi By as String * 1 End Type
Public Campo as Fi --------------------------------- Eso en el módulo. Luego iba leyendo con Get y acomodando los sucesivos contenidos de Campo.By en una Grid donde podía editarlos. Finalmente los grababa de nuevo con Put.
Pero hay algunos detalles con los exe: - No debes modificar nada que cambie la longitud del exe (por eso lo de hacerlo byte por byte) - Hay exes que antes de ejecutarse hacen control del checksum del archivo, y si hay diferencia con el original no se ejecutan.
¡Suerte!
3
« en: Sábado 17 de Marzo de 2007, 11:36 »
Para que el valor enviado mediante SendKeys haga efecto, es necesario que en el programa destino el control que tiene el foco sea el adecuado. En tu caso necesitas que al enviar la pulsación de "flecha arriba" el control enfocado en el programa destino sea LArriba, e igual para los demás casos. Creo que el destinatario debe estar recibiendo las pulsaciones, pero seguramente el control que tiene el foco es otro y por eso no hace lo que esperas de él.
4
« en: Sábado 17 de Marzo de 2007, 11:26 »
No se si harás algo más con la ventana que requiera usar API, para minimizarla no es necesario, prueba esto:
Private Sub Form_Click() Form1.WindowState = 1 End Sub
... lo que si es necesario es que la propiedad ShowInTaskBar sea True, de otra forma se minimiza pero no aparece en la barra de tareas.
5
« en: Sábado 10 de Marzo de 2007, 11:27 »
Creo que podrías solucionarlo con SendKeys "A" por ejemplo para enviarle una A. SendKeys envía "teclazos" a la ventana o control activo en el momento, por lo que es necesario que te asegures de que la ventana DOS sea la activa en ese momento. Saludos.
6
« en: Sábado 10 de Marzo de 2007, 11:20 »
Hola. Creo que ayudaría más si pones el contenido exacto (no solamente de qué se trata) de las variables adOpenDynamic y adLockOptimistic, así como la línea exacta en que se produce el error. Por otro lado, y mirando bien creo que puede ser esto: después del AddNew estás usando signos de admiración en vez de puntos: "rst!nombre = txtNombre.Text" en vez de "rst.nombre = txtNombre.Text".
7
« en: Domingo 4 de Marzo de 2007, 18:31 »
Hola. No recuerdo de donde lo bajé, pero si buscas con Google aparecerá enseguida. Se trata de "Bart PE", este crea un CD "live" de Windows XP, es decir un XP que puede ejecutarse desde el CD. Resulta ideal cuando hay alguna PC con problemas que no logra arrancar. Incluye un instalador de XP, y se pueden agregar muchos otros programas útiles para estos casos, como antivirus, particionador, etc. Creo que te serviría. Saludos.
8
« en: Domingo 4 de Marzo de 2007, 07:04 »
El archivo de ayudas para tu programa tienes que escribirlo tú. Puedes usar el editor de archivos de ayuda provisto con VB: "Inicio - Todos los programas - Microsoft Visual Studio 6.0 - Herramientas de Microsoft Visual Studio 6.0 - Help Workshop", o cualquier otro programa editor de archivos de ayudas. Hay muchos de terceros, casi siempre más amigables que el mencionado (usar Google). La otra opción es no poner un menú "Ayuda" y hacer uso intensivo del ToolTipText de cada control.
9
« en: Viernes 23 de Febrero de 2007, 12:37 »
Gracias culd. Me bajé la página para estudiarla con detenimiento. ¡Saludos!
10
« en: Miércoles 21 de Febrero de 2007, 15:06 »
Fui a mirar. Ese está muy lindo. ¿No te satisface? Pues... de la misma forma que conseguiste ese (¿podrías poner dónde?) tendrías que buscar algún otro. Ya sea en los buscadores internos de los foros (como este) o en Google: "VB6 +aspecto +controles +mejorar" o algo así. Te agradecería que pongas donde conseguiste ese de tu imagen. Saludos.
11
« en: Domingo 11 de Febrero de 2007, 14:11 »
Se me ocurren dos posibles formas. Una sería hacer varios Salect Case/End Select consecutivos, poniendo el primero desde Case 55 hasta Case 125, en el segundo Case 126 hasta (aparentemente te acepta 71) Case 197, y así, no se cuantos son los posibles valores de Case. Otra: pero ojo porque te está diciendo " Procedimiento demasiado largo", y con ello se estaría refiriendo a la sub Click y no al Select Case. Así que si fraccionando como te digo antes tampoco quiere funcionar, entonces habría que separar a cada Select Case/End Select en una sub diferente, y que la Click al final llame a la siguiente, esta a la tercera y así. A ver si te funciona. PD: tengo problemas con mi proveedor de Internet, cuando hice clic en Responder tradaba una eternidad, recargué la página y lo mandó dos veces.
12
« en: Domingo 11 de Febrero de 2007, 14:08 »
Se me ocurren dos posibles formas. Una sería hacer varios Salect Case/End Select consecutivos, poniendo el primero desde Case 55 hasta Case 125, en el segundo Case 126 hasta (aparentemente te acepta 71) Case 197, y así, no se cuantos son los posibles valores de Case.
Otra: pero ojo porque te está diciendo "Procedimiento demasiado largo", y con ello se estaría refiriendo a la sub Click y no al Select Case. Así que si fraccionando como te digo antes tampoco quiere funcionar, entonces habría que separar a cada Select Case/End Select en una sub diferente, y que la Click al final llame a la siguiente, esta a la tercera y así. A ver si te funciona.
13
« en: Viernes 9 de Febrero de 2007, 11:54 »
Si te fijas en la lista de foros, arriba de todo hay uno específico de Bases de Datos. Y creo que si pones en Google: manual +español +"Visual Basic" te debe encontrar una buena cantidad. O probar con otras palabras en vez de "manual", como "introducción" o "curso", o algo así. ¡Suerte!
15
« en: Martes 16 de Enero de 2007, 20:19 »
Si querés hacer un proceso propio tuyo, creo que es un ejercicio interesante. Pero VB6 tiene una función para eso: Vari = Split("10,11,120,13", ",") Esto crea un array Vari(0 To 3) que contendrá: Vari(0) = "10" Vari(1) = "11" Vari(2) = "120" Vari(3) = "13" El segundo argumento después de la coma que sigue a la comilla doble después del 13, y que está a su vez entre comillas dobles, es la coma que sirve como separador en tu caso. Confunde un poco lo de comas y comillas, suponte que tus números estuvieran separados por una x minúscula, entonces sería: Vari = Split("10x11x120x13", "x") ... creo que ahora se entiende mejor. Saludos
16
« en: Lunes 15 de Enero de 2007, 11:11 »
Tendrían que ir en el evento Click del botón que usas para ordenar la impresión, el botón Print que mencionas en el primer mensaje.
17
« en: Domingo 31 de Diciembre de 2006, 12:10 »
Hola hzamorac. No creo que te convenga tratar de leerlos desde el archivo, porque suelen ser medio complicados en la forma de guardar la información de cada punto de la imagen. Y si se trata de algún formato comprimido (como jpg) mucho más (no decís que formato de imagen es la que querés leer). Tendrías que ponerte a estudiar cada uno en particular y escribir algún procedimiento o rutina para que lo decodifique. Mi sugerencia es que hagas visible la imagen entera (por ejemplo con un control Image con la propiedad Strecht = True, en vez de un PictureBox) y obtengas la información desde pantalla. ¡Suerte, y que tengas un buen 2007!
18
« en: Sábado 23 de Diciembre de 2006, 19:05 »
Tengo hecho un programa (maneja bases *.mdb) que en una parte selecciona las ventas de mostrador que no se facturaron, para reunirlas todas en una única factura, las seleeciona así:
"SELECT * FROM Tabla1 WHERE [Proced/Destino] = 'Venta' AND Comprobante = '0' AND Fecha >= #" & FDesde & "# AND Fecha <= #" & FHasta & "#"
FDesde y FHasta son variables string que contienen las fechas que el usuario designó, ya que pueden abarcar varios días. Funciona correctamente. En los posts anteriores me parece ver que hay un espacio en blanco entre los numerales y la variable. ¿Puede ser el motivo de la falla?
19
« en: Jueves 21 de Diciembre de 2006, 15:46 »
rutina On Error GoTo ErrorHandler iLen = WritePrivateProfileString("CONFIGURACION", "ContadorBsAs", "hola", App.Path & "\" & "Config.ini")
ErrorHandler: (despues de escribir el archivo entra aca siempre)
En tu código no se vé que la rutina normal termine con un GoTo hacia después de la ErrorHandler, para evitar que entre en esta última cuando el proceso no produjo ningún error. Lo normal es poner una etiqueta (por ej.: "Final:") después de la rutina de error y antes de ella un "GoTo Final" para saltearla cuando no hubo error, de otra forma entrará en la de error por la secuencia normal de instrucciones, aunque no haya error, y precisamente Err será 0, que es lo que te está ocurriendo.
20
« en: Domingo 17 de Diciembre de 2006, 12:12 »
En VB6 hay un objeto del lenguaje llamado "printer", obviamente se trata de lo que irá a una impresora. La forma básica de usarlo es: Printer.Print TextBox1.Text Printer.Print Printer.Print Label1.Caption EndDoc La 1ra línea escribirá el contenido de TextBox1, la 2da dejará un renglón en blanco, la 3ra escribirá el Caption de Label1. La 4ta es muy importante, porque es la que manda ejecutarse a todas las anteriores, si no se ordena "EndDoc" no escribe nada. Hay muchísimas variantes de formato, fuente, tamaño de las letras, efectos de negrita, subrayado, tabulaciones, etc. Recorrete la MSDN para el objeto Printer.
21
« en: Domingo 17 de Diciembre de 2006, 12:03 »
Si estás hablando de VB6, creo que ya has probado las dos únicas posibles mediante las propiedades. Te quedaría hacerle una Sub KeyPress a tu TextBox, donde para cualquier tecla pongas el KeyAscii = 0 y salgas. O probar con alguna otra variante en este código, por ejemplo que si es 27 (Esc) ó 13 (Enter) el foco vaya al siguiente control. Suerte
22
« en: Viernes 15 de Diciembre de 2006, 16:11 »
Los DataGrid tienen una propiedad que hace aparecer un combo en una determinada columna cuando el usuario hace clic en ella. Tenés que usar:
Nombre_de_la_DataGrid.Columns(Nº_de_columna).Button = True
Acordarse que las columnas se numeran desde 0 en la extrema izquierda.
23
« en: Martes 5 de Diciembre de 2006, 23:12 »
Yo lo hago con esto. No necesita ningún complemento ni API: -------------------------------------- Public Sub ESPERAR(S As Single) Dim T1 As Single T1 = Timer Do While T1 + S > Timer DoEvents Loop End Sub -------------------------------------- Tenés que ubicarla en un módulo para que sea accesible desde cualquier parte del proyecto. El argumento que le pasás es la cantidad de segundos a esperar: para que espere 3 segundos: "ESPERAR 3", o "Call ESPERAR(3)". Te hago notar la presencia de "DoEvents" que permite que se ejecuten otros eventos del mismo programa o de otro cualquiera mientras se cumple el tiempo. De otra forma la PC se congela y parece "colgada" hasta que se cumpe la espera. Saludos.
24
« en: Lunes 4 de Diciembre de 2006, 11:18 »
Hola Juan. Está interesante tu intención. Bueno, lo mío es solamente una sugerencia para probar. Lo que yo haría es lo siguiente: abrir el bmp como un archivo de acceso aleatorio (no secuencial) con un Field de longitud 1, e ir modificando los valores contenidos en cada byte en un cierto valor (por ejemplo +20). Después de la modificación hay que verificar si se pasó de 255, y si este es el caso, restarle 255 al resultado. Ahora bien: la rutina que se encargue de la operación inversa (restar 20) al momento de poder ver el archivo, tendrá que tener en cuenta que a los resultados menores que cero habrá que sumarles 255. Es para probarlo. Lo voy a hacer más tarde. Como te dije es olamente una sugerencia. Saludos.
25
« en: Domingo 26 de Noviembre de 2006, 13:31 »
Gallar, puse en Google esto:
free download vs60wiz
salieron 47 resultados. ¿porqué no hacés lo mismo, y revisás vos uno por uno hasta que encuentres el que te conviene? Primero había puesto "descargar vs60wiz" y lo que aparece es tu mismo mensaje repetido en varios foros. Suerte.
|
|
|