FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Leer fichero ini en memoria
Hola, he estado mirando por el foro y no he encontrado ningun hilo que pudiera resolverme esta duda:
Tengo una tabla de una base de datos (firebird) en la que hay un campo blob, en ese campo guardo archivos ".ini", el problema o la duda esta en cuanto quiero leerlo, hay alguna forma de leerlo sin crear ese archivo fisicamente en disco?, es decir, si creo una variable TMemoryStream y con el campo blob uso SaveToStream(variable), como puedo utilizar con la clase TIniFile o alguna otra clase esa variable y leer las secciones, claves, etc... sin crear el archivo en disco? Gracias. |
#2
|
||||
|
||||
¿Has revisado la clase TMemIniFile?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Si, al poner
Me refiero justo a eso, el fichero tiene que estar en disco, y lo que me gustaria es que no tuviera que guardarlo en disco, salvarlo en una variable Stream, desde el campo blob y poder leer ese fichero guardado en la variable stream sin grabarlo fisciamente en disco, la verdad, no se si es posible no apoyarme en disco. Última edición por Casimiro Notevi fecha: 09-12-2015 a las 19:04:46. |
#4
|
||||
|
||||
Esto no lo aseguro, pero es posible que sino llamas al UpdateFile, nunca llegue a guardarse en disco.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
||||
|
||||
TMemIniFile tiene un nombre que a primera vista puede prestar a confusión; en realidad la única diferencia con TIniFile es que los cambios se mantienen en memoria y no son grabados en disco hasta llamar a UpdateFile; esto es útil para por ej ir obteniendo valores y luego validar, si todo va bien, grabar
Con respecto a la pregunta original no se puede hacer, por lo menos no con la RTL de Delphi, ni ninguna biblioteca que conozca Lo mejor que podes hacer es obtener y grabar a disco el blob, luego instanciar el ini |
#6
|
||||
|
||||
Quizá puedas salir del paso usando directamente un TStringList. Me explico: la propiedad "Values" de dicha clase (o mejor dicho, de su antecesora) permite acceder a pares"nombre=valor", de forma similar a los archivos INI. El problema es que no maneja claves o secciones "[secion]" valores por defecto, pero quizá pueda hacerse algo.
|
#7
|
||||
|
||||
O mejor aun, crea una tabla/sqlite
|
#8
|
|||
|
|||
Respecto al StringList lo pensé en su momento, pero no me sirve, es un fichero ini muy extenso y repite claves bastantes veces, si no hubiera sido una buena solución, y respecto a la base de datos sqlite no podría ser, de hecho yo leo el ini de un campo blob, tengo que cargar los valores en una clase, mi intención es no pasar por disco para leer ese ini, pero no voy a tener mas remedio.
Muchas gracias por los comentarios, un saludo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Leer fichero XML | itsi | Internet | 1 | 23-10-2008 22:50:15 |
como leer la memoria | cyberagl | Varios | 0 | 14-03-2007 07:22:56 |
Leer fichero | rocio84 | Varios | 1 | 21-05-2006 10:45:06 |
Leer direccion de memoria | brandolin | Varios | 8 | 25-09-2003 16:29:22 |
Leer un fichero .ini | oesteve | OOP | 6 | 16-06-2003 16:40:20 |
|