Tiempo de espera teclas en ComboBox - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Tiempo de espera teclas en ComboBox (/thread-1118.html) |
Tiempo de espera teclas en ComboBox - ferchobahia - 01-12-2022 hola gente, soy Fernando de Argentina soy programador de palabra, ya que no estudie oficialmente la carrera; suelo programar cosas que uso en lo cotidiano para mi trabajo en VB bajo windows, mi sueño de toda la vida fue usar linux para el sistema y a mis 50 años fue empezar a entender Linux y como sueño talvez mudar todo lo que uso a Linux y ahí es que comencé en el mundo de Gambas por la cercanía a mi comodidad mental y es asi que pase mis BD access a mysql y ahora estoy reprogramando mis sistemas a gambas, cosa que me sorprendió gratamente la experiencia, me va a llevar como un año, pero voy tranquilo disfrutando el viaje. sin mas preámbulos ahora mi problema, es que estoy tratando de usar un ComboBox para seleccionar artículos y para eso lleno el combo desde una BD mysql y lo pongo en readonly=true ; el problema es que la demora de pulsación sucesiva de teclas es extremadamente corta (a diferencia en VB que es demasiado larga) y cuando te demoras mas de 500ms se "borra" de la memoria de buffer (no se realmente como se llama esta característica) y cuando pulsas la segunda tecla lo toma como nueva palabra, no se si me explico, probe usar una rutina de código que usa un texbox que llena un listbox que busca en la BD mientras se escribe que esta publicado en el foro, pero no me da el resultado esperado. hay alguna manera de contralar este tiempo de pulsación de teclas? a alguien se le ocurre algo que me pueda ayudar, porque hasta donde pude googlear no encontré nada. Muchas Gracias y muy buena la información que manejan RE: Tiempo de espera teclas en ComboBox - Shordi - 01-12-2022 Bienvenido a la comunidad y es un placer ver que la familia crece... aunque sea de a poquito A lo mejor te interesa lo que se habló en este hilo: https://gambas-es.org/showthread.php?tid=922 Es un control heredado de combobox que hice hace unos meses y que busca en la lista de una manera más "racional" que la que ahora lleva (a mi pobre entender, que como soy el autor qué te voy a contar ) Las diferencias fundamentales son que al poder ir viendo qué estás tecleando puedes corregir errores y demás. El incoveniente lo tienes en el modo readOnly, que prácticamente desaparece porque, qué diablos, hay que teclear. Queda a tu programa el controlar que el resultado tecleado/encontrado sea un elemento válido de la lista. De todas formas mi memoria de pez me impide recordar todos los detalles en este momento. Si te sirve, perfecto. Si tienes dudas con él, pregunta. Si no hace algo que crees que debería hacer (o lo hace mal) pide, que tengo tiempo y disposición dentro de mi corto entender. Saludos y, repito, bienvenido. RE: Tiempo de espera teclas en ComboBox - tincho - 01-12-2022 Hola Fernando, bienvenido al foro, (01-12-2022, 18:27)ferchobahia escribió: ... soy Fernando ... a mis 50 años fue empezar ... mudar todo lo que uso a Linux...Bien, me hago una idea de por donde vas ya que que posteaste primero sobre gb.report2 y ahora estas con los campos de claves foráneas. Así que como estas haciendo en gambas (o pasando a gambas) una aplicación con bases de datos relacionales e vas a topar con unos cuantos "inconvenientes" para lograrlo. Yo estoy ahora, casualmente, tratando de hacer funcionar un control que se llama TextList que esta entre los ejemplos del post que te indico Shordi. no es un ComboBox, que es lo que estas buscando, peeeeero yo también intente primero usar un combobox y finalmente lo descarte porque no logre hacer funcionar bien el filtro de la lista mientras escribís, shordi con comboseek es el que mejor logro este efecto, pero si usas GTK no termina de funcionar bien. Así que (creo) la solución, para lograr que al escribir en un TextBox se muestre una lista dinámica, pasa por usar una ventana o formulario flotante que se muestre al momento de hacer click en el control. Acá podes ver como funciona TextList, mas o menos de forma aceptable, pero le falta pulir todavía y ademas no funciona bien cuando el TextBox esta entre medio de otros. RE: Tiempo de espera teclas en ComboBox - Shordi - 02-12-2022 Cita:Así que (creo) la solución, para lograr que al escribir en un TextBox se muestre una lista dinámica, pasa por usar una ventana o formulario flotante que se muestre al momento de hacer click en el control.Si le echas un vistazo al código de ComboSeek, que es el mismo que combobox con las variaciones que yo añadí, verás que eso es exactamente lo que hace el control y lo que hace combobox, a saber: abre el formulario FComboSeekPopup donde se muestra la lista. No hay otra solución para ese problema mientras se utilicen los controles estándar de las librerías gtk y qt y los manejadores de ventanas. Supongo que si programas tu propia interfaz sí, pero eso es entrar en otro universo con el que coqueteé en el programa gbAmp... y del que salí no demasiado bien parado. Saludos Cita:yo también intente primero usar un combobox y finalmente lo descarte porque no logre hacer funcionar bien el filtro de la lista mientras escribís, shordi con comboseek es el que mejor logro este efecto, pero si usas GTK no termina de funcionar bien.Efectivamente GTK es un problema... que no hay por qué usar. Cierto que nuestro sistema puede utilizar un entorno de escritorio basado en GTK, pero nuestros programas no tienen por qué hacerlo también si son compilados para QT o utilizamos en la versión QT del IDE... a no ser que las librerías de QT no existan en el sistema, cosa que hasta ahora nunca he visto. Saludos. RE: Tiempo de espera teclas en ComboBox - ferchobahia - 03-12-2022 (01-12-2022, 20:06)Shordi escribió: Bienvenido a la comunidad y es un placer ver que la familia crece... aunque sea de a poquito Gracias Shordi por tomarte el tiempo de responder y por el codico compartido; le voy a pegar una mirada por ahi es mi solucion, pero no queria complicarme con hacer o modificar cosas hechas para que se ajusten a mi uso y por ahi como Gambas no dispone de muchos usuarios ni de buena ayuda por ahi era alguna propiedad que no encontraba del combobox, pero veo que tengo que meter mano (01-12-2022, 22:31)tincho escribió: Hola Fernando, bienvenido al foro, gracias tincho por tu aporte, es verdad ya me di cuenta que Gambas con GTK no se lleva bien y tambien me di cuenta que QT no se lleva bien con los temas oscuros (hace cosas raras y para muchos controles el evento click se transforma en doble click y ni te digo del doble... o si usas una imagen invierte los colores, te vuelve loco) asi que como regla general programo para QT5 con entorno claro y listo es un poco salomonico pero es lo que hay RE: Tiempo de espera teclas en ComboBox - Shordi - 03-12-2022 Cita:o si usas una imagen invierte los colores,Para evitar eso el truco es cargar la imagen vía código, entonces va fetén. Saludos RE: Tiempo de espera teclas en ComboBox - ferchobahia - 06-12-2022 (03-12-2022, 18:38)Shordi escribió:Cita:o si usas una imagen invierte los colores,Para evitar eso el truco es cargar la imagen vía código, entonces va fetén. ok yo los cargo asi por codigo pero sigue sin funcionar Código: Image1.Picture = Picture[Camino & Nombre2] no se si hay otra manera y estuve probando tu control ComboSeek y la verdad que esta muy bueno y lo voy a implementar en mi proyecto con tu permiso, claro. si sos tan amable Shordi cual es la mejor manera de importar el control, yo normalmente copio la carpeta con todas las clases y lo uso así pero no se si hay una mejor manera gracias por todo RE: Tiempo de espera teclas en ComboBox - Shordi - 06-12-2022 (06-12-2022, 01:14)ferchobahia escribió:Eso no es totalmente correcto. Debes usar el método load de la clase Picture así:(03-12-2022, 18:38)Shordi escribió: Para evitar eso el truco es cargar la imagen vía código, entonces va fetén. Código: Si lo que pretendes, en cambio es utilizar una de las imágenes del stock entonces debes usar la sintaxis propuesta por ti, pero con los nombres establecidos. Algo así: Abres el IDE y podrás ver el control incluido en tu programa con sus archivos marcados como ReadOnly. Así no hay peligro de modificarlos indebidamente (ten en cuenta que pueden ser compartidos de esta manera desde varios proyectos y modificar el código en uno puede afectar a todos los demás). Este sistema es, quizá, más sencillo para un desarrollador individual pero muy engorroso si hay varios programadores tocando el código al mismo tiempo. Saludos |