Averiguando el nombre de la imagen del stock asociada a un control - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html) +--- Tema: Averiguando el nombre de la imagen del stock asociada a un control (/thread-1239.html) |
Averiguando el nombre de la imagen del stock asociada a un control - Shordi - 21-02-2023 Pues eso, que si en algún momento os interesa el nombre de la imagen que se asignó a un control en tiempo de diseño, aquí tenéis un modo de saberlo. Supongo que es algo que a nadie interesa, pero ya que lo he hecho y me ha costado un buebo encontrar la manera, pues no me resisto a hacerla pública aquí. El proyecto adjunto hace lo siguiente: Si no existe la carpeta user.home/StockIcons: -La crea y la rellena con todos los iconos del Stock de Gambas. -Luego crea un archivo de texto llamado PicShaSums con el shasum de todos los iconos. Estos dos pasos tardarán un rato (son más de 1.800 iconos). Después, cuando se necesita (en el ejemplo es cuando se hace click en uno de los botones), se llama a la función que devuelve el nombre del icono asociado al control pasado. Al cerrar el programa os da opción a eliminar la carpeta creada. Si no se borra, en las siguientes ejecuciones es muy rápido. Repito que, salvo Tincho, quizá, no creo que os sirva de nada... pero ahí está. Saludos RE: Averiguando el nombre de la imagen del stock asociada a un control - tincho - 21-02-2023 Hola, Este fin de semana no pude mirar nada y recién hoy pude conectarme. Por lo que veo Shordi ha revolucionado el mundo del ícono gambero Me parace interesante lo de usar SHA de los archivos para identificar las imágenes, así que le echaré un vistazo. Respecto a los Tag de los controles, si usas el tag para otra cosa diferente que para guardar el nombre del icono, puedes definir el Tag como String[] o Collection, ya que la propiedad Tag es variant. Gracias por compartir. RE: Averiguando el nombre de la imagen del stock asociada a un control - tincho - 21-02-2023 Acomodé un poco la función así: Código: '' This takes a while. In theory it should only be executed once on the first execution of the project. Hay que echar un vistazo al archivo icon.map que parece contener la rutas de los iconos en el sistema. RE: Averiguando el nombre de la imagen del stock asociada a un control - Shordi - 21-02-2023 Cita:Acomode un poco la funcion así:Más elegante, sí señor. Te la robo. Saludos Y en la misma línea cambiamos esta: Código: Public Sub CreateShaSums() 'This takes a while. In theory it should only be executed once On the first execution Of the project. Saludos RE: Averiguando el nombre de la imagen del stock asociada a un control - Grandamakulo - 22-02-2023 Reconozco que me será útil sólo como curiosidad. Eso sí, tiene narices lo de llamarse Picha Suma. Parece un fantasma de barra de bar, jajaja.
RE: Averiguando el nombre de la imagen del stock asociada a un control - Shordi - 22-02-2023 (22-02-2023, 10:54)Grandamakulo escribió: No hablemos de juegos de palabras con los nombres... no hablemos... RE: Averiguando el nombre de la imagen del stock asociada a un control - Shordi - 23-02-2023 Revisando el tema, he decidido sustituir el archivo que a Grandamakulo tanta gracia le hacía por un archivo de la clase Settings. Es lo mismo que hice antes con los Shasums, pero dejando a la clase Settings el tema de recuperación y grabación del mismo. Me parece más pulcro y coherente. También le he acortado algo el tiempo de ejecución usando Código: Left(sum, InStr(sum, " ") - 1) en lugar de [code] que usaba en la versión anterior. Saludos |