FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Ayuda con refactorización
Hola a todos!
Gracias a los sabios consejos que me dieron en este post: https://www.clubdelphi.com/foros/showthread.php?t=94720 comencé con mucho éxito la migración y refactorización de mi humilde sistema. He avanzado mucho y el código está quedando mucho más legible y ordenado que antes. Sin embargo, en algunas ocasiones me está costando bastante separar las consultas SQL de los forms. Por ejemplo, un código como este:
Fue sencillo de separar con un simple procedimiento:
Ahora bien, cuando necesito volcar los datos recibidos de la consulta en el form no se muy bien como hacerlo. Por ejemplo, un código como este ¿cómo lo refactorizarían?
Saludos!
__________________
https://www.youtube.com/DexterBass Última edición por ecfisa fecha: 28-07-2021 a las 05:50:09. Razón: Quitar emoticones del código |
#2
|
||||
|
||||
Una manera simple es crear un Record basico para pasar los datos:
Eso queda muy bonito si en un solo archivo tienes todos tus "datos" declarados. De alli, puedes hacer una clase/interface para pasar/leer los datos: http://www.delphibasics.co.uk/Articl...Name=Interface
__________________
El malabarista. |
#3
|
||||
|
||||
Otra opción es "separar" la parte visual de la parte de "los datos".
Igual que de entrada, has eliminado el Edit_Codigo.Text de donde tenías la consulta y lo has convertido en un parámetro, puedes hacer lo mismo con el Dataset.
De forma que esta llamada quedaría así:
Y luego podrías tener u procedimiento (en la parte voisual) que cogiera los valores del Dataset y los asignara a los campos visuales:
Y el procedimiento quedaría así (en la parte visual):
__________________
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. |
#4
|
||||
|
||||
¡Muchas gracias a ambos!
Había pensado en un record, pero pasándolo como parámetro. Mis conocimientos son un poco más rudimentarios, jaja. Me gustan ambas opciones. La de Germán es la más fácil de implementar con mis conocimientos actuales, pero lo de la interface me despertó curiosidad. Voy a leer un poco y veo por cual me decido. ¡Muchas gracias de nuevo a ambos por la ayuda!
__________________
https://www.youtube.com/DexterBass |
#5
|
||||
|
||||
No se si es correcto, pero lo implementé de la siguiente manera:
Leí sobre las interfaces y está muy bueno, pero necesito leer más para entender bien como usarlas. Saludos!
__________________
https://www.youtube.com/DexterBass |
#6
|
||||
|
||||
Mejor si el Dataset lo pasas como parámetro.
De esa forma el procedimiento de asignar valores no tiene que hacer referencia al módulo (queda independiente) y se podría llamar con otro dataset que estiviera en "Modulo2" (por decir algo). Aunque ahora no lo vayas a utilizar ayuda a crear piezas (procedimientos) independientes (cajas negras) y te acostumbras a trabajar así. Te evitas esta línea:
Los Interfaces son potentes y también ayudan a crear piezas "estancas". Para que te hagas una idea una Interfaz es como un contrato. Creas un contrato y todos aquellos elementos que lo usen deben cumplir ese contrato (esas normas). Pero si es cierto que no es algo "inicial".
__________________
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. |
#7
|
||||
|
||||
¡Gracias Germán, como siempre!
Cita:
La idea es mejorar mi manera de programar, así que gracias por la explicación. Saludos!!!!
__________________
https://www.youtube.com/DexterBass |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda BD Access? Ayuda al modificar!! | DarkArias | Conexión con bases de datos | 4 | 24-08-2013 23:47:41 |
Instalar Ayuda (.HLP) en la Ayuda de Delphi? | MasterXP | Varios | 6 | 12-04-2006 06:57:49 |
Ayuda para crear ayuda... | Gabriel2 | Varios | 2 | 10-06-2005 00:15:18 |
ayuda con strtofloat, ayuda punto flotante | TURING | Varios | 5 | 30-04-2004 08:03:59 |
Ayuda Con Instalacion De Archivos De Ayuda | Legolas | Varios | 1 | 01-12-2003 14:48:03 |
|