![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Buenas, a mi me funciona, copie y pege tu implementacion tal cual e hice estas pruebas:
Cuando llamo a ShowMessage me muestra el string invertido Si no te entendi mal. Uso Delphi 2010 |
|
#2
|
||||
|
||||
|
Alberto,
Cita:
![]() Cita:
![]() Saludos, Nelson. |
|
#3
|
||||
|
||||
|
Totalmente de acuerdo, se merece un MVP
|
|
#4
|
|||
|
|||
|
Al González:
Cita:
Saludos... |
|
#5
|
||||
|
||||
|
Hola.
Creo que son unos exagerados , aquí hay muchos que son mas merecedores de esas palabras.Pero de todos modos les agradezco mucho, leer esas opiniones, es la mejor gratificación que cualquiera desearía tener Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#6
|
||||
|
||||
|
Cita:
1- Estas usando un record como si fuera una clase http://www.delphibasics.co.uk/Article.asp?Name=Records 2- Estas usando metodos y funciones & propiedades que no *aportan nada* que no te da un record gratis. 3- Generando mucho codigo para algo que se resuelve con 1 array, 2 record y un par de funciones. Delphi no es Java! Puedes usar funciones, metodos y dejar de la lado la OO. Es un lenguaje "multi-paradigma", aunque obviamente esta mas enfocado al lado de la OO. Te pongo un ejemplo:
Nota lo siguiente: - No necesitas hacer create de un record. Los record son tipos "Value" like un string. Por eso son mas livianos y eficientes en memoria - Mucho codigo eliminado - Centralizado en createXXXX todo el proceso, incluyendo las validaciones. - Si tu Delphi soporta Generics, puedes usar TArray<> y te ganas un constuctor + todo lo que te dan las clases genericas, lo que te ahorra otra clase ![]() En resumen: Usa clases cuando necesites la funcionalidad de clases.
__________________
El malabarista. Última edición por mamcx fecha: 08-04-2015 a las 23:02:23. |
|
#7
|
|||
|
|||
|
En un principio TClaveValor era un siempre record sin propiedades, pero al asignarlo como campo a la clase me enviaba el siguiente error:
y por tal motivo tuve que transformarlo a su forma actual. Respecto a la conveniencia de utilizar registros en vez de clases, sin duda lo hago cuando el caso lo amerita, pero en este caso en particular necesito encapsular los datos contenidos y realizar algunas tareas con ellos, cosa que puedo hacer con funciones como me sugieren, pero prefiero que todo quede dentro de una clase, ya que dichas funciones solo sirven al tratamiento de dicha clase... Saludos... |
|
#8
|
|||
|
|||
|
Bueno finalmente mi diseño quedo de la siguiente forma:
Para ser llamado asi:
Un comentario acerca de lo dicho por mamcx Cita:
Creo que mamcx tiene razón en varios de los comentarios que hace, referente a simplificar el diseño utilizando solo record y funciones, ahora la pregunta es cuando programar O.O y cuando programar procedimientalmente... En mi caso mi aprendizaje fue enfocado a este ultimo, pero he ido cambiando de paradigma, por las enormes ventajas que representa programar O.O. herencia, encapsulacion, etc... Quizas utilizar lo mejor de ambos modelos...???? Saludos... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| esta function no me funciona en XE2 y si funciona en D6 | darkbits | Varios | 1 | 06-11-2012 17:00:45 |
| UDF no funciona en xp | GustavoCruz | Firebird e Interbase | 15 | 04-10-2011 12:07:00 |
| funciona bien en windows 7 64b pero en XP no funciona | ASAPLTDA | Varios | 5 | 06-05-2011 16:24:50 |
| $L .Obj no funciona | rastafarey | Varios | 2 | 09-01-2009 19:47:09 |
| like no funciona ! | dmasson | Conexión con bases de datos | 9 | 23-03-2004 14:10:50 |
|