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 30-09-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Memory Data

Hola a todos...

Necesito algún componente Memory Data.... (Es como una tabla en memoria... ) con la característica cargar datos en tiempo de diseño y que estos datos queden guardados en el componente....

Ejemplo: Cargo un Memory Data con localidades... y que ese memory data quede siempre cargado...

Necesitaría algo como dxMemData de DevExpress, pero tienen que ser otro...

Probé con rxMemoryData pero no permite cargar los datos en tiempo de diseño!!!
KbmMemoryTable, pero este no me almacena los datos que el cargo...


Alguna idea de que componente puedo usar....


O alguien me podría guiar como hacer para que el RxMemoryData almacene internamente los datos que le cargo...

Saludos
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #2  
Antiguo 30-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
Neeruu,

Cita:
Empezado por Neeruu
...algún componente Memory Data...con la característica cargar datos en tiempo de diseño y...queden guardados en el componente...
Revisa este componente:
Cita:
VirtualTable Overview : http://www.devart.com/vtable/
Nota de DevArt: You can download binary version of VirtualTable Componet for free using.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 30-09-2013 a las 02:03:01.
Responder Con Cita
  #3  
Antiguo 30-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 Neeruu.

¿ Y no te sirve un TClientDataSet ?, revisa este enlace

Saludos

Edito: También te pueden servir estos:
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 30-09-2013 a las 04:19:04.
Responder Con Cita
  #4  
Antiguo 30-09-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Como cuesta, cuando uno se acostumbra a trabajar con un componente y por x motivos no puede utilizarlo, tener que confiar en otro...

Gracias por recomendar la Virtual table, es lo que necesito...
Gracias por ClientDataSet es también lo que necesito....


Hay alguna forma de, al ClientDataSet, cargarle los datos en tiempo de diseño?

Supongo que el ClientDataSet no me traerá ningún problema, en futuro, ya que es nativo de delphi...


Por otro lado, hace algo que lo estoy haciendo " A MANO", por llamarlo de alguna forma...
Donde mis datos son ingresados en un Memory Data y luego son volcados a un IboQuery...

Pero por lo poco que voy leyendo con el ClientDataSet podría hacer esto automáticamente, mediante el DataSetProvider... Es correcto esto?

Y viendo el ClientDataSet veo una propiedad que se llama "ObjectView"... que hace esta propiedad?

Saludos...
P/D: Sigo leyendo la información adjuntada....
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #5  
Antiguo 30-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 Neeruu.

Cita:
Empezado por Neeruu Ver Mensaje
Hay alguna forma de, al ClientDataSet, cargarle los datos en tiempo de diseño?
Click derecho sobre el componente TClientDataset y del menú emergente:
  • Assign Local Data ...
  • Load from MyBase table ...

Cita:
Empezado por Neeruu Ver Mensaje
Pero por lo poco que voy leyendo con el ClientDataSet podría hacer esto automáticamente, mediante el DataSetProvider... Es correcto esto?
Así es.

Cita:
Empezado por Neeruu Ver Mensaje
Y viendo el ClientDataSet veo una propiedad que se llama "ObjectView"... que hace esta propiedad?
Cuando la tabla incluye campos con tipos abstracto de datos (Array fields, DataSet fields, Reference fields) y la propiedad ObjectView es igual a True, dichos campos son almacenados jerárquicamente en la propiedad Fields. Cualquier campo secundario de un objeto field se referencia al objeto en vez de presentarse secuencialmente.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 30-09-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Como hago para cargarle datos a un ClientDataSet en tiempo de ejecución a a partir de un query...

O sea, cuando inicia mi aplicación, se ejecuta una consulta con la cual tengo que cargar me MemoryData (ClientDataSet) y que este quede cargado mientras dure la ejecución del programa!!!

Hay alguna forma de hacerlo asi: ClientDataset.LoadFromDataSet(Query)?
O si o si lo cargo mediante un DataProvider aunque el query se cierre luego de cargar el cds?

Saludos...
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #7  
Antiguo 30-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
Neeruu,

Cita:
Empezado por Neeruu
...¿Como hago para cargarle datos a un ClientDataSet en tiempo de ejecución?...
Revisa este link:
Cita:
To use TClientDataset as Memory Dataset : http://www.scalabium.com/faq/dct0150.htm
Pregunto: ¿Probastes el componente sugerido en el Msg #2?, creo que se adapta a tu requerimiento y ha tenido una constante evolución desde Delphi 6 hasta Delphi XE5.

Espero sea útil

Nelson.
Responder Con Cita
  #8  
Antiguo 30-09-2013
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Ejemplo: Cargo un Memory Data con localidades... y que ese memory data quede siempre cargado...

Necesitaría algo como dxMemData de DevExpress, pero tienen que ser otro...

Probé con rxMemoryData pero no permite cargar los datos en tiempo de diseño!!!
KbmMemoryTable, pero este no me almacena los datos que el cargo...
Hola: y probaste con el JvMemoryData de JEDI?. Yo uso ese.-

Funciona igual que un TTable, es decir, se crea la estructura de la tabla y se carga recorriendo un query u otra tabla agregando los registros (Insert, post, etc).-

Saludos.-
Responder Con Cita
  #9  
Antiguo 30-09-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
nlsgarcia...

Si probé pero no te mantiene los datos guardados... si cierras y abres la el componente los datos se pierden y yo necesito cargarle los datos que estos queden guardados en el componente...


Saludos....
__________________
Saluda Atte Neeruu!!! :)

Última edición por Neeruu fecha: 30-09-2013 a las 19:56:07.
Responder Con Cita
  #10  
Antiguo 30-09-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Haber... siguiendo con el ClientDataSet....

Tengo esta situación:

1 - Ejecuto una Consulta.
2 - La Cargo en el ClientDataSet.
3 - Cierro la Consulta.

Ahora viene mi pregunta... Para cargar el ClientDataSet tengo que hacerlo si o si con un While, recorriendo la consulta o puedo hacerlo con un datasetprovider por mas que después cierre la consulta.?
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #11  
Antiguo 30-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
Cita:
Empezado por Neeruu Ver Mensaje
Como hago para cargarle datos a un ClientDataSet en tiempo de ejecución a a partir de un query...

O sea, cuando inicia mi aplicación, se ejecuta una consulta con la cual tengo que cargar me MemoryData (ClientDataSet) y que este quede cargado mientras dure la ejecución del programa!!!

Hay alguna forma de hacerlo asi: ClientDataset.LoadFromDataSet(Query)?
O si o si lo cargo mediante un DataProvider aunque el query se cierre luego de cargar el cds?

Saludos...
Hola.

En el mensaje #4 consultabas como cargarlo en tiempo de diseño...

De forma directa en ejecución:
Código Delphi [-]
  with TuClientDataSet do
  begin
    Close;
    SetProvider(TuQuery);
    Open;
  end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 30-09-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Es que necesito cargar aveces en tiempo de ejecución y otra en tiempo de diseño...

Y con mi pregunta en tiempo de diseño me refería a cargarle los datos yo mismo.... a lo que me refería era si había alguna forma de que me muestre alguna grilla o algo donde ingresaba los datos que quería que contenga ese ClientDataSet... sin tener que cárgalos de un dataset...


Gracias por la respuesta, es lo que andaba buscando... creo.... lo pruebo y aviso....
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #13  
Antiguo 30-09-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Código Delphi [-]
  with TuClientDataSet do
  begin
    Close;
    SetProvider(TuQuery);
    Open;
  end;

Al hacer esto el ClientDataSet se vacía y se vuelve a cargar? o hace falta un EmptyDataSet?
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #14  
Antiguo 30-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
Neeruu,

Cita:
Empezado por Neeruu
...Si probé pero no te mantiene los datos guardados...si cierras y abres el componente los datos se pierden...
Pregunto: ¿Revisastes el Demo del Componente?, en el se muestra un ejemplo donde los datos están guardados en el componente y son mostrados en un TDBGrid.

Te comento como guardar los datos en el Componente TVirtualTable:

1- Abre el menú del componente y selecciona Fields Editor.

2- Crea los campos que requieras manejar en el componente.

3- Abre el menú del componente y selecciona VirtualTable Editor.

4- Graba la información asociada a los campos creados en el punto 2 que requieras.

5- Para finalizar presiona Save y los datos quedan preservados en el componente, también puedes salvar los datos a un archivo con la opción Save to File y cargarlos nuevamente con la opción Load From File. Con VirtualTable puedes grabar datos en tiempo de ejecución y en tiempo de diseño, lo cual se ajusta a tu requerimiento del Msg #12.

Te sugiero revisar el ejemplo y la documentación del componente para más detalles.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 30-09-2013 a las 21:06:39.
Responder Con Cita
  #15  
Antiguo 30-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
Cita:
Empezado por Neeruu Ver Mensaje
Código Delphi [-]
  with TuClientDataSet do
  begin
    Close;
    SetProvider(TuQuery);
    Open;
  end;

Al hacer esto el ClientDataSet se vacía y se vuelve a cargar? o hace falta un EmptyDataSet?
Hola Neeruu.

Cuando se llama al método Close (o se pone la propiedad Active en False), no es necesario llamar a EmptyDataSet.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #16  
Antiguo 02-10-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cuando compile mi proyecto se perdieron todos los datos que tenia en los clientdataSet en memoria....
Es como que los dataset creados se borraron....

Ahora estoy probando con el virtualtable....

Empezando de nuevo....
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #17  
Antiguo 02-10-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Pero cómo los usas?, ningún componente de datos en memoria puede cargarlos en diseño. Y si compilas o ejecutas el programa, obviamente, se perderán hasta que cargues los datos mediante la opción que tengas en tu programa.
Responder Con Cita
  #18  
Antiguo 02-10-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
No es tan así.... Por ejemplo el componente dxMemData, puedes cargarlo en tiempo de diseño y los datos que le cargas quedan cargados en el componente...

El VirtualTable hace exactamente lo mismo.... cargo los datos en tiempo de diseño... ya sea extrayendo de los datos de un query o cargándolos a mano.... y quedan cargados...

Un Ejemplo corto... tengo un campo sexo, donde se debe guardar M (masculino), F (Femenino)...

Agrego cualquiera de los dos componentes mencionados anteriormente:
1 - Creo los campos (COD_SEXO, DES_SEXO).
2 - Abro el edito de datos del componente.
3 - Cargo los datos que quiero (F, Femenino; M, Masculino), todo esto es una grilla.

y listo, el componente queda cargado con estos datos...
Después puedo utilizar esto para enlazarlo a lo que quiera... y puedo hacer operación como agregar, borrar, modificar, filtrar, relacionar...

Es lo que entendí que iba a hacer el ClientDataSet... pero a mi no me anduvo así.... (Porque hice algo mal o no, nose....)
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #19  
Antiguo 02-10-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero si mantiene los datos es porque los guarda en algún sitio, ya que al ejecutar el programa esos datos no estarían.
De todas formas, ¿para qué quieres unos datos en tiempo de diseño y que luego estén en ejecución?
Responder Con Cita
  #20  
Antiguo 02-10-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Para que?

Por ejemplo... si tengo que conectarme a una base de datos, supongamos por internet y la conexión no es buena, para que voy a gastar ancho de banda y tiempo trayendo datos que se que no van a cambiar... si puedo tenerlos en un memorydata y trabajarlos de la misma forma que trabajaría en una situación normal....

O puedo cargar los memorydata al comienzo de mi aplicación y trabajarlos y la conexión con la base de datos se limita solo cuando tengo que mandar los datos a la DB....

Tiene sus cosas interesantes....

Por ejemplo, estoy trabajando con una aplicación en la que tiene que cargar unos datos y la conexión con la db es por internet... (que anda lento, poca señal (3G), etc...) en vez de conectarme a la base de datos y trabajar online, cargo todos los datos en un memorydata y cuando grabo recién me conecto a la base de datos y guardo....
__________________
Saluda Atte Neeruu!!! :)
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
Out of memory Firewind Lazarus, FreePascal, Kylix, etc. 3 20-07-2010 12:33:32
Out of memory blaiselaborde Varios 10 26-01-2010 18:52:27
Out of Memory luxus OOP 5 30-09-2008 23:11:54
Missing data provider or data packet mcalmanovici Providers 1 11-09-2007 05:55:15
Juego Memory Xema OOP 1 16-09-2004 13:59:24


La franja horaria es GMT +2. Ahora son las 12:31:36.


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