FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
tenia pensado algo as como tu procedimiento, pero con la opcion de ocultar todos
que pudiece quedar algo asi para definir que todos esten ocultos y asi para solo mostar los indicados y todos los demas ocultos
pero en un solo procedimiento se podra ? |
#2
|
||||
|
||||
Eso es un solo procedimiento
|
#3
|
|||
|
|||
hola se que es raro pero me puse a pensar un poco y no se pero creo existe una forma mm deja ver si me doy a entender
no se, quiero pensar que puede contener el procedure un if anidado o algo asi si es false no se ve nada si es true se ven todos pero si es true saber cuales no se ocultaran si no se define nada entonces todos se veran mmmmmm se prodra en un solo procedure, creo por algo desde el principo puse doble boolean sera para mi un crack quien pueda ayudarme, y pueden explicarme como subir mi proyecto completo en el foro? muchisimas gracias |
#4
|
||||
|
||||
A ver, estás confundido como cualquier novato, a todos nos ha pasado.
Lee y prueba con atención el ejemplo que te ha dado el compañero ecfisa. |
#5
|
||||
|
||||
Tu problema lo puedes dividir en tantas subrutinas como sea necesario para que sea más sencillo de programar y luego puedes agrupar todas esas en un único procedimiento que se comporte como tu quieres e internamente llame a cada una de las opciones que te han propuesto según lo necesites.
Así en tu código verás una única línea con la sintaxis que quieres e internamente usará cualquiera de las opciones que te han propuesto. |
#6
|
|||
|
|||
Muy buenas tardes, hice una mescolanza de codigos que me funcionaron, pero me gustaria saber si existe forma de reducir el codigo, este es el codigo que gracias a todos ustedes agrupe de esta forma, espero tengan tiempo para echarme la mano.
y de esta forma llamo el proceso,con estas opciones
|
#7
|
|||
|
|||
que tal pues ste es el final del codigo, creen que se puede comprimir mas o ya no se puede, algun aporte para optimizarlo un poco mas, gracias a todos y felices fiestas
y de esta forma lo ejecuto, sus distintas variantes
|
#8
|
|||
|
|||
hola!
En tu código veo que hay una estructura begin/end que queda fuera de todos los bucles, y se puede eliminar (lo he marcado con //* *//), salvo que sea un error y pertenezca a alguno de los bucles.
Por otra parte el primer for ii establece todos los paneles con el valor Visible a TSN, e inmediatamente el segundo for i establece de nuevo los valores Visible a not SiNo, con lo que al final el primer for sería innecesario. En cuanto a la parte lógica del proceso veo lo siguiente: -Si no pasas una lista de paneles, (array de paneles esta vacío), estas actuando sobre todos los paneles y entonces el valor del campo SiNo es irrelevante, puesto que solo se aplica al array de paneles, y en este caso al estar vacío no se va aplicar a ningún panel. -Si por el contrario si se pasa una lista de Paneles, entonces la opción donde el valor de TSN y el valor de SiNo son iguales, es lo mismo que aplicar el valor a todos los paneles, independientemente de la lista que se ha pasado. Por tanto lo ideal es que TSN sea distinto de SiNO y al ser de tipo boolean la única opción es que TSN:=not SiNO y de esta forma solo necesitas pasar una variable con el valor deseado al procedimiento. Y el código puede quedar de esta forma:
y yo añadiría un overload al procedimiento para poder utilizarlo de forma mas fácil cuando no quieras pasar el array:
Y la forma de uso es muy similar a la que ya tenias anteriormente:
Última edición por bucanero fecha: 30-12-2020 a las 17:33:22. Razón: modificar un error en el texto |
#9
|
||||
|
||||
Cita:
La duda es si debe hacerse así o no (yo creo que no). No siempre "juntar" todo en un procedimniento acaba siendo mejor. Lo que quiero decir es que juntar en un procedimiento "cosas distintas" utilizando más parámetros, aunque a primeras puede parecer mejor, a la larga puede resultar peor. Mezclas cóodigo de cosas distintas y aunque es más corto en líneas, acaba siendo más complejo de programar, de depurar, de leer,... En este caso, en lugar de una cabecera como la anterior, yo optaría por hacer 2 procedimientos (2 cabeceras):
Es posible que luego uno utilice internamente el otro, pero de esta forma es más sencillo de entender y de utilizar. 2 trozos de código pueden dar el mismo resultado, pero no necesariamente quiere dec¡r que sean igual de correctos. No se si me explico...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
doble pantalla con doble from | emeritos | Varios | 0 | 17-12-2013 14:17:57 |
llamar a procedure desde otra procedure | anubis | Varios | 23 | 04-03-2010 18:44:37 |
puntero a un procedure en un procedure como parametro | fcios | Varios | 2 | 14-03-2009 03:41:22 |
Escanear Doble Cara, Doble Lector | karenthyuliana | Gráficos | 2 | 11-04-2008 17:29:42 |
boolean nulo | Sick boy | Conexión con bases de datos | 7 | 05-12-2003 16:40:37 |
|