[SOLUCIONADO] Consulta sobre propiedades de los controles - 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: [SOLUCIONADO] Consulta sobre propiedades de los controles (/thread-578.html) |
Consulta sobre propiedades de los controles - gambafeliz - 06-09-2021 Hola Tengo una subrutina que se encarga de borrar las cajas de texto y demás controles con la propiedad "Text", como sabeis esta propiedad es heredada. Mi primera pregunta de dos, ¿es correcto gestionar esta propiedad en una única subrutina para borrar la propiedad "Text" para todos los casos o es mejor crear subrutinas para controles afines y crear otra u otras para controles no afines. Os pongo un ejemplo, TextBox y TextArea son afines y con una subrutina en común podemos poner la propiedad Text = "" pero esto no es posible con DateBox, que aunque tiene la propiedad Text es de solo Lectura. Mi segunda pregunta es, ¿como conozco que un control tiene la propieded Text en solo Lectura y así ir a la Propiedad Value, de por ejemplo DateBox? Gracias. RE: Consulta sobre propiedades de los controles - Shordi - 06-09-2021 Hay maneras de saber si una clase tiene un método o no, etc., pero no te líes, a veces lo más simple es lo más efectivo. Pon esto en un módulo, por ejemplo y luego lo llamas cuando quieras "desvalorizar" los controles de un form. Código: Public sub Limpiacampos( Frm as form) Saludos RE: Consulta sobre propiedades de los controles - gambafeliz - 06-09-2021 Guapo tu sabes que te agradezco siempre tu super-criterio, pero este código al estilo 1 2 3, peta. Yo lo he resuelto a lo tio cirulo, me fuera encantado saber si es reconocible el saber si es Text de solo Lectura, pero acabo de darme cuenta que tu código me va a dar una pista para resolver el mio con estas lineas. Código: try ctrl.Value=0 ' para mi esta línea seria Try obj.Text = "" No se si te he podido explicar como voy a resolver mi código gracias al tuyo, yo no conocia que tras un Try podía evaluar Error que para mi es que Text es de solo Lectura y por lo tanto trato el Error con .Value y así resuelvo los DateBox. Gracias tu si que eres un amigo RE: Consulta sobre propiedades de los controles - Shordi - 07-09-2021 Código: try ctrl.Value=0 ' para mi esta línea seria Try obj.Text = "" Los objetos compuestos, como datebox, valuebox, etc., que disponen de propiedad Value, contienen en su interior Textboxes que muestran los valores, pero esos... llamémosles sub-controles, dependen siempre de la propiedad que defina el valor del "control padre". Es decir si testeas primero el textbox estás "puenteando" la propiedad Value del control. Por eso primero has de probar a vaciar el Value y sólo si falla, lo que quiere decir que no ofrece propiedad Value, vaciar entonces el .text. A la inversa puedes tener problemas según qué control sea. Saludos. RE: Consulta sobre propiedades de los controles - Shell - 07-09-2021 Buenas!. ¿ Y no sería más fácil si sabes que el control es de un tipo borrar el contenido de su propiedad text ?. Estoy muy oxidado. Es un código algo más grande. Código: Public Sub Form_Open() Se nos olvidó la propiedad "controls" del formulario. Saludos RE: Consulta sobre propiedades de los controles - gambafeliz - 07-09-2021 Hola Shell chavalote Cuanto tiempo.... oju Pues yo hago algo por el estilo, vosotros pasáis el Form y yo paso el Form y un array de Clases para después con un bucle ir directamente a las propiedades Text y en este caso Value y como sinceramente yo se lo que paso pues todo controlado. Ahora bien lo que dice Shordi estoy seguro que tiene razón y aunque no lo he probado confío plenamente en aquello de mas sabe el Diablo por viejo que por Diablo. Ojo que a Shordi le tengo aprecio y para nada es algo para meterme con el, aunque intuyo que me entiende mis buenas intensiones. Oye Shell, Gracias y me alegra saludarte aunque sea un ratito algún día. Saludos. |