Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-09-2013
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por avechuche Ver Mensaje
Bueno no hay caso no se como aplicar. Explico de nuevo lo que necesito por las dudas que no se alla entendido.

Cuando uno crea un record en Delphi lo hace asi (palabras más palabras menos)

Código:
    TipoRegistro = Record
        sApellido, sNombre: String[25];
        iCodigoDeCliente: 0..9999;
        iEstado: 0..1;
        iColision: Integer;
    End;
Con eso decimos que cada registro tiene esos datos, ni más ni menos.
Si por esas casualidades yo necesito que en ese record este, por ejemplo, la direccion y telefono de un cliente, tengo que modificar el código fuente y compilar el ".exe" de nuevo

Código:
    TipoRegistro = Record
        sApellido, sNombre, sDireccion: String[25];
        iCodigoDeCliente: 0..9999;
        iEstado: 0..1;
        iColision, iTelefono: Integer;
    End;
Por lo que para este ejercicio, no me sirve.
Lo que yo necesito es que cada usuario pueda elegir la cantidad de campos que tiene un record, el tipo de datos que va a contener y la longitud de estos.
No tengo ni idea de como empezar porque no se como implementarlo. Si alguno ya hizo algo de esto, me vendria re bien dos manos

Con un tipo record no podes hacerlo. Punto.

La próxima vez que en la facultad utilicen un término que no conoces, pregunta hast que te contesten, Si es pública puedes escupir al profesor mientras le exiges reiteradas veces o incluso si tienes buena contextura física (o mayor a la del susodicho) le pones un brazo por detrás de la espalda hasta que confiese de que carajos habla.

Si es privada, bajas a secretariua y pones queja del catedratico y que si no te explica que no pagas.

Suerte con eso!
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #2  
Antiguo 19-09-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
avechuche,

Cita:
Empezado por avechuche
...Lo que yo necesito es que cada usuario pueda elegir la cantidad de campos que tiene un record...
Pregunto : ¿Puedes usar otro tipo de estructura diferente a un Record?.

Revisa este link:
Cita:
To use TClientDataset as memory dataset : http://www.scalabium.com/faq/dct0150.htm
Con lo indicado en el link, podrías crear tablas dinámicas en memoria (Creadas según la selección del usuario) con mayor funcionalidad que un Record.

Otra opción es que crees un primer programa en Delphi, que genere un segundo programa con un tipo Record en función de la selección del usuario (Recopilada en el Primer Programa) y toda la funcionalidad que se requiera (Add, Update, Delete, Query), lo compile y lo ejecute.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 19-09-2013 a las 03:14:43.
Responder Con Cita
  #3  
Antiguo 19-09-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Poder: 0
avechuche Va por buen camino
1) Preguntamos, nos dijo que era un metadato y para que servia y bien gracias. Desp magia de parte de nosotros, ni ejemplo ni nada, estoy como medio mal, para colmo unico inscripto en la materia, ni copiarme puedo ja.

2) Si se puede usar cualquier estructura menos una base de datos, porque la materia es Base de Datos, pero la practica es de repaso de las programaciones anteriores. Veo que el link que me dejaste "trabaja" con base de datos (Me habia olvidado de decir eso)
Responder Con Cita
  #4  
Antiguo 19-09-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
avechuche,

Cita:
Empezado por avechuche
...se puede usar cualquier estructura menos una base de datos...el link que me dejaste "trabaja" con base de datos...
Revisa esta información:
Cita:
Empezado por Delphi Object and Component Reference

TClientDataSet implements a database-independent dataset. TClientDataSet represents an in-memory dataset. A client dataset can be used as a fully-functional, stand-alone, file-based dataset for single-tiered database applications. When used in this manner, the client dataset represents the data stored in a dedicated file on the user’s hard disk.
Te comento:

1- Un TClienDataSet no es una base de datos, se usa con bases de datos y/o para el manejo de archivos individuales de tipo cds.

2- La segunda opción del Msg #8 requiere mayor desarrollo, pero es viable como solución al requerimiento planteado utilizando datos tipo Record.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 19-09-2013 a las 05:37:24.
Responder Con Cita
  #5  
Antiguo 19-09-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
avechuche,

Cita:
Empezado por avechuche
...se puede usar cualquier estructura menos una base de datos...
Otra opción es simular un dato tipo Record con Arreglos Dinámicos o TStringList.

Te comento el algoritmo a nivel general:

1- Crear tres Arrays o TStringList para el Nombre, Tipo y Longitud de cada campo de la estructura de datos.

2- Definir el Nombre, Tipo y Longitud de cada campo de la estructura de datos en función del punto 1.

3- Crear un Array o TStringList para cargar los datos de la estructura definida en el punto 2.

4- Cargar los datos en la estructura del punto 3 en base a la definiciones del punto 2, con sus respectivas validaciones de tipo y longitud.

5- Crear procedimientos que permitan visualizar, modificar, consultar y salvar los datos cargados en el punto 4.

Lo sugerido anteriormente es más práctico de realizar por medio de TStringList.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 19-09-2013 a las 10:28:33.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Extrayendo metadatos cesarsoftware Firebird e Interbase 11 26-11-2012 22:32:19
¿Cómo versionar el esquema o los metadatos de base de datos? erasmo_ga Firebird e Interbase 4 08-12-2011 03:08:05
Extraer metadatos de archivos DBF DobleSiete SQL 9 25-01-2005 15:59:07
Extraer metadatos RONPABLO Firebird e Interbase 2 22-10-2004 20:04:56


La franja horaria es GMT +2. Ahora son las 15:06:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi