Ir al contenido


Foto

Lista de registros (Tlist)


  • Por favor identifícate para responder
5 respuestas en este tema

#1 el-mono

el-mono

    Advanced Member

  • Miembros
  • PipPipPip
  • 148 mensajes

Escrito 24 mayo 2023 - 07:28

Hola gente, vengo a preguntar y me den su opinión.

 

Tengo una clase Paciente la cual tiene métodos para (Insertar, borrar, modificar, obtener un paciente por su ID).

 

* Insertar un nuevo paciente 

* Borrar un determinado paciente

* Modificar un paciente

* Recuperar los datos de un paciente: este método devuelve el resultado en un récord.

 

Ahora quiero agregar un método para listar todos los pacientes y que el resultado regrese en:

 

1 )Tlist<record paciente>. ?

 

2) Es la manera correcta para que mi clase Tpaciente  devuelva los registros de todos los pacientes y así listarlos en un StringGrid por ejemplo ?

 

 


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 25 mayo 2023 - 08:54

Hola el-mono

 

Si es una muy buena alternativa, TList<T> o TArray<T> aunque por ahí leí que hay debate entre usar uno u otro por cuestiones de consumo de memoria.

 

Saludos


  • 0

#3 el-mono

el-mono

    Advanced Member

  • Miembros
  • PipPipPip
  • 148 mensajes

Escrito 25 mayo 2023 - 05:36

Egostar gracias por responder.

 

No queda otra que probar, supongo que con 1000 pacientes la cosa funcionaria, pero a medida que aumente quisiera saber cómo se comportaría. Tenía la esperanza que alguien de por aquí haya realizado algo parecido.


  • 0

#4 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 26 mayo 2023 - 02:02

Yo definiría una clase TPaciente con lo referente a un solo paciente, esto es porque generalmente hace falta algún método para esa clase, en otro caso se puede usar una estructura como apuntas. Diseñaría otra clase TListaPacientes que agrupe a todos los pacientes.

 

Contestando a tu pregunta, un TList es perfectamente válido para guardar los pacientes.

 

Saludos.


  • 0

#5 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 28 mayo 2023 - 05:14

Hola el-mono

 

Si es una muy buena alternativa, TList<T> o TArray<T> aunque por ahí leí que hay debate entre usar uno u otro por cuestiones de consumo de memoria.

 

Saludos

El asunto de las clases genéricas, que incluyó delphi, creo que en delphi 2009,. Es parecido a C++, aunque en este caso viene de los templates (una especie de tipo genérico) desde los inicios de C++. El asunto es que una clase génerica es expandida por el compilador a la hora de definir el tipo, con lo que duplica el código ejecutable por cada tipo usado. Es como si el compilador escribiera la clase especifica para el tipo de dato que se va a usar. Ahorra código fuente pero duplica el código ejecutable. Esto no ocurre en el caso del TList clásico, donde cada Item es un puntero, pero el programador debe tratar ese puntero haciendo el cast adecuado.

 

En definitiva, todo depende de la necesidad del momento, de la necesidad de economía y del número de clases genéricas que se necesiten, a mayor necesidad, mayor ejecutable.

 

Saludos.


  • 1

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 29 mayo 2023 - 08:34

El asunto de las clases genéricas, que incluyó delphi, creo que en delphi 2009,. Es parecido a C++, aunque en este caso viene de los templates (una especie de tipo genérico) desde los inicios de C++. El asunto es que una clase génerica es expandida por el compilador a la hora de definir el tipo, con lo que duplica el código ejecutable por cada tipo usado. Es como si el compilador escribiera la clase especifica para el tipo de dato que se va a usar. Ahorra código fuente pero duplica el código ejecutable. Esto no ocurre en el caso del TList clásico, donde cada Item es un puntero, pero el programador debe tratar ese puntero haciendo el cast adecuado.

 

En definitiva, todo depende de la necesidad del momento, de la necesidad de economía y del número de clases genéricas que se necesiten, a mayor necesidad, mayor ejecutable.

 

Saludos.

 

Muy clara la explicación amigo escafandra. Ciertamente todo debate depende del contexto y el requerimiento.  (y)

 

Saludos


  • 0




IP.Board spam blocked by CleanTalk.