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 11-09-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Poder: 0
avechuche Va por buen camino
Metadatos en Delphi

Bueno gente, vengo con una duda resulta que tengo que hacer en práctico para la facu y tengo que hacer un programa que use metadatos el problema es que no tengo la más minima idea de como es y tmb explicaron, lo que se entiende es que cada persona pueda armar su propia estructura de los datos, nombre a las columnas, tipo de variables, la longitud, etc. Alguna idea?
Responder Con Cita
  #2  
Antiguo 11-09-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola avechuche.

Los metadatos son datos adicionales almacenados en un archivo que contienen información adicional sobre él.

Entonces mi pregunta es ¿ Metadatos de que, de un archivo de imágen, de una base de datos, de un archivo PDF, ... ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 11-09-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por avechuche Ver Mensaje
Bueno gente, vengo con una duda resulta que tengo que hacer en práctico para la facu y tengo que hacer un programa que use metadatos el problema es que no tengo la más minima idea de como es y tmb explicaron, lo que se entiende es que cada persona pueda armar su propia estructura de los datos, nombre a las columnas, tipo de variables, la longitud, etc. Alguna idea?
Debiste prestar más atención en clase
Responder Con Cita
  #4  
Antiguo 11-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
...tengo que hacer un programa que use metadatos..armar su propia estructura de los datos, nombre a las columnas, tipo de variables, la longitud, etc...
Revisa estos links:
Cita:
Metadato : http://es.wikipedia.org/wiki/Metadato

Los Metadatos (Universidad de Antioquia) : http://aprendeenlinea.udea.edu.co/lm..._metadatos.pdf

Metadatos (Concepto y Motivación) : http://www.sedic.es/autoformacion/metadatos/tema1.htm

Leyendo los metadatos de una tabla de Interbase/Firebird : http://delphiallimite.blogspot.com/2...-tabla-de.html

AJPD Soft Metadatos : http://www.ajpdsoft.com/modules.php?...rticle&sid=501
Espero sea útil

Nelson.
Responder Con Cita
  #5  
Antiguo 12-09-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Poder: 0
avechuche Va por buen camino
Vamos de a uno.

1) Lo que yo necesito es que en vez de un record que este dentro del código fuente del programa, que los usuarios puedan elegir el nombre del campo la cantidad de estos y el contenido. Digamos un ABM dinámico (En realidad es un ABM lo que tengo que hacer). Por ejemplo cuando uno crea una base de datos, cada uno elige el nombre de la columna y el tipo de contenido que va a almacenar y el la longitud, eso es lo que yo estoy buscando, que la estructura del programa la pueda elegir el usuario/cliente.

2) No me explicaron nunca metadatos, es más nunca dijeron esa palabra rara, el de Base de datos piensa que en programación II lo vimos y nada que ver pero el programa lo tenemos que hacer igual. Dije el de base de datos, pero no es un programa que use base de datos, es como un "repaso" de la que """" YA VIMOS """" (?)

3) Gracias voy a ver si me sirveee.
Responder Con Cita
  #6  
Antiguo 19-09-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Poder: 0
avechuche Va por buen camino
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
Responder Con Cita
  #7  
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
  #8  
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
  #9  
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
  #10  
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
  #11  
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 16:49:50.


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