FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
TiniFile, trabajando en memoria
Hola,
Ya he visto en otros hilos la gran ventaja de usar el TiniFile, pero no tengo claro cómo trabaja en memoria. Alguien puede explicarme si se puede y cómo cargar datos de un archivo.ini en memoria para usarlos mientras dure la ejecución del programa, y guardar los nuevos datos solamente al salir de la aplicación. De esta manera sólo necesitaría acceder a disco en dos ocasiones (lectura inicial y grabación final) Gracias y un saludo. |
#2
|
||||
|
||||
Hola,
Es cuestión de usar una variable "global" en lugar de una "local". También podrías usar un miembro de un objeto, que, se mantuviera disponible mientras durase la vida de la aplicación. Es decir, si empleas una variable local, evidentemente, cuando se salga de su ámbito, dicha variable será liberada, pero, si usas una variable global no será así. Dicha variable sería del tipo "TIniFile", y te permitiría hacer justo lo que dices: acceder al disco dos veces únicamente, cuando se lee el archivo INI, y cuando se guarda (si es necesario). |
#3
|
|||
|
|||
OK. Entiendo lo del acceso global a la variable.
Y si he entendido bien, lo que dices es crear el objeto global al iniciar por ejemplo: ini := TiniFile.create(NombreArchivo); y liberarlo: ini.free al terminar la aplicación. Pero, cuando haga un ini.WriteString o ini.ReadString ¿Realizará acceso a disco? Otra soución podria ser volcar el contenido a una variable TDataSet para acceder en cualquier momento (en caso de que el acceso que antes comentaba supongo acceder a disco) |
#4
|
||||
|
||||
También puedes usar el TMemIniFile.
Trabajas en memoria y cualdo quieres volcarlo todo a disco usas UpdateFile.
__________________
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
|
||||
|
||||
Hola Bauhaus1975,
La clase que te comentaron puede trabajar sin problemas. Cuando se le pide acceder (lectura y/o escritura) a una sección, variable y/o dato lo que hace es abrir el archivo, hacer lo que deba hacer y cerrarlo. En caso de que el archivo no exista lo crea. Si lees la ayuda que proporciona Delphi sobre dicha clase tus dudas se evacuarán. Creo que te estás haciendo demasiados problemas. Si necesitas tener los datos en memoria hay otras opciones: desde simples variables hasta clases diseñadas por ti que mantengan todo en memoria. Todo dependerá de cuanto, como y que estés guardando en el archivo ini. Si tienes muchas variables y secciones tal vez mantener simples variables no es lo más apropiado. En definitiva como tu convengas que es lo mejor y más fácil para ti. Saludos, |
#7
|
|||
|
|||
Gracias por vuestra ayuda.
Creo que voy hacer caso de lo que me aconseja Neftali (por cierto, enhorabuena por tu sección de componentes) y usaré el TMemIniFile, que según he visto en la ayuda se asemeja a lo que necesito. Si me hiciera falta cubrir más funcionalidad crearé una clase que herede de TMemIniFile o TiniFile, y añada funcionalidad, como por ejemplo llevar almacenada cierta informacíón leida del ini en un array o un DataSet etc etc. Gracias a todos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
problemas con tinifile | nenufer | Varios | 1 | 25-04-2006 18:12:31 |
Tinifile.. manejo de .ini | marceloalegre | Varios | 2 | 27-04-2005 23:29:59 |
Trabajando con DLL | b3nshi | Varios | 1 | 16-03-2005 18:21:55 |
TIniFile, me encuentra una sección que no existe !!! | Ohcan | OOP | 1 | 02-03-2005 16:04:25 |
TIniFile no me funciona y no tiene sentido | rfernandez | Varios | 5 | 08-02-2005 09:53:46 |
|