Buenas,
Vimos en un mensaje anterior la clase TIniFiles, la cual nos permite el acceso fácil a los ficheros de configuración. Cuando en una aplicación se hace mucho uso de este tipo de ficheros, en hecho de tener que estar todo el rato escribiendo las mismas líneas de código para crear y destruir un objeto de la clase TIniFile puede llegar a ser cansino. Lo que haremos ahora es crearnos nuestra propia clase que manipule un objeto de tipo TIniFile.
Los métodos de la nueva clase pueden llegar a ser los mismos que los que tiene TIniFile, no obstante podemos poner los que queramos o necesitemos.
Vamos a llamar a esta nueva clase TFicherosIni y la idea es crear una variable global de la unit de este tipo y controlar su creación y destrucción en la inicialización (initialization) y finalización (finalization) de la misma respectivamente.
unit FicherosIni; interface type TFicherosIni = class .... end; var Ini: TFicherosIni; implementation ..... initialization Ini := TFicherosIni.Create; finalization FreeAndNil(Ini); end.
Con esto, sólo necesitaremos poner en la cláusula uses del formulario que queramos usarlo la llamada a esta unit y usar directamente el objeto Ini.
Tengo la costumbre de que los archivos ini se llamen igual que la aplicación que los usa, así pues, la clase TFicherosIni tiene una propiedad llamada NameExe la cual, al asignarse, automáticamente se asocia el fichero ini. No obstante, dado que no siempre es así, también dispone del método SetFileIni para especificar uno en concreto.
Aquí podéis descargaros la unit así como una demo de su uso.
Espero que os sea de utilidad.
Nos leemos
Que tal Xavier, muy interesante tu clase y muy buena, solo comentarte un detalle en el llamado de la función SetStrValue, la propiedad Cells es 0-based.
Ini.SetStrValue(StringReplace(pcPages.Pages[i].Caption, ‘_’, ‘ ‘, [rfReplaceAll, rfIgnoreCase]),
(pcPages.Pages[i].Controls[0] as TValueListEditor).Cells[0,j], //Primer columna = 0
(pcPages.Pages[i].Controls[0] as TValueListEditor).Cells[1,j] //Segunda columna = 1
);
Salud OS
Buenas Eliseo
Gracias por la corrección, es lo que tiene hacer pruebas a la 1am jejejeje
Ahora mismo hago el cambio y lo subo de nuevo.
Nos leemos
PD: por cierto, debes de ser de los pocos que se pasan por aquí, jejejeje
Bueno, si consideramos que tu bitácora es de reciente lanzamiento, no dudo que pronto será un sitio de consulta obligado. Tienes muy buen contenido.
Saludos