En este artículo el autor describe como se crean
y utilizan en Delphi los
archivos de
recursos y de configuración.
Toda aplicación desarrollada con Delphi parte de
un proyecto que
puede estar compuesto de uno o más formularios
(ventanas a partir de las cuales se construyen los programas),
módulos de código
(cuya finalidad es almacenar código que posteriormente
será usado desde otros puntos de la aplicación),
archivos de recursos (ficheros que contienen otros elementos
usados por la aplicación que formarán parte del
ejecutable), y archivos de configuración (ficheros que
contienen valores que se
usan en la configuración del programa), entre
otros.
En este trabajo se
describe como se crean y utilizan en Delphi los archivos de
recursos y de configuración.
Ficheros de configuración (Ficheros
Ini).
Por ficheros Ini se entiende todo fichero que tiene
extensión Ini, está en formato ASCII y tiene una
estructura
interior dividida en secciones.
Dentro de cada sección hay valores que se usan en
la configuración del programa que gestiona ese fichero.
Los nombres de las secciones se indican entre corchetes, e
inmediatamente van las variables con
sus valores.
Ejemplo:
[Form]
Top = 185
Left = 280
Caption = ‘Ejemplo de uso de los ficheros
Ini’
Los ficheros Ini se pueden abrir con el Bloc de Notas,
aunque Windows,
incluye un programa visor para ver los ficheros del sistema, que se
llama SysEdit; si se ejecuta este programa se puede ver el
contenido de los ficheros del sistema, entre ellos los de
extensión Ini.
Para trabajar con los ficheros Ini, Delphi consta de la
Unit IniFiles donde están definidas todas las funciones y los
procedimientos
necesarios para poder leer y
escribir en estos ficheros.
Create (FileName) Para acceder a un
fichero
ReadSecTionValues (Sección, Tstring) Lee todas
las variables.
ReadSections (Tstring) Lee todas las
secciones.
ReadSection (Tstring) Lee una
sección
ReadString (Sección, Variable, Defecto) Lee una
variable de tipo cadena.
ReadInteger (Sección, Variable, Defecto) Lee una
variable de tipo entero
ReadBool (Sección, Variable, Defecto) Lee una
variable de tipo boleano
WriteString (Sección, Variable, Valor) Escribe
un valor de tipo cadena en una variable.
WriteInteger (Sección, Variable, Valor) Escribe un
valor de tipo entero en una variable.
WriteBool (Sección, Variable, Valor) Escribe un valor
de tipo boleano en una variable.
Ejemplo:
Incluya IniFiles en la cláusula Uses del
formulario.
Var
MiFicheroIni : TIniFile;
begin
Archivo := ExtracFileDir (Paramstr (0) +
‘Fichero.Ini’;
MiFicheroIni := TIniFile, Create (Archivo);
Form1.Left := MiFicheroIni.ReadInteger
(‘Form’, ‘Left’, 0);
Form1.Top := MiFicheroIni.ReadInteger
(‘Form’, ‘Top’, 0);
Form1.Caption := MiFicheroIni.ReadStribg
(‘Form’, ‘Caption’, ‘Sin
Título’);
MiFicheroIni.Free;
end;
En el procedimiento
genérico anterior (se puede poner dentro de cualquier
procedimiento), se crea una variable de tipo IniFile
(MiFicheroIni) que se inicializa en la segunda línea
indicando que el fichero con el que se va a trabajar se llama
Fichero.Ini y que se encuentra en el mismo directorio en que se
encuentra la aplicación.
En la primera línea se indica el nombre del
fichero con la ruta completa ya que de no hacerlo se asume que
este está en el directorio de Windows, y no donde se
está ejecutando el programa.
En la tercera y cuarta línea se le asigna a las
propiedades Left y Top del primer formulario los valores de
las variables del mismo nombre que se encuentran en la
sección Form del fichero Ini.
En la línea final se libera la variable creada,
para que no ocupe memoria.
Nota: Cuando el fichero no se encuentra, este es
creado.
Ficheros de recursos (Ficheros
Res).
Los archivos de recursos tienen extensión Res y
contienen elementos de la aplicación que no son ni
controles, ni código (imágenes
de mapas de bits,
sonidos, cursores, iconos, etc).
En un archivo de recursos cada uno de los recursos
existentes tiene asignado un identificador único que
servirá posteriormente para referirnos a él en
tiempo de
ejecución.
Para crear un archivo de recursos se necesita un editor
de recursos que permita editar los recursos en formato ASCII,
siendo necesario posteriormente realizar una compilación
para obtener los mismos en formato Res.
Para crear un archivo de recursos, se deben dar los
siguientes pasos:
.
Sonido Wave Musica.wav
Puntero Cursor Lápiz.cur
Icono Icon Bandera.ico
.Nota: Separe una columna de la otra utilizando la
tecla TAB.- Se crea un fichero en un editor de textos (Bloc de
Notas), por ejemplo: - Se grava con extensión RC, por ejemplo
Recursos.rcBRC32.exe Recursos.rc
con lo que se generará el archivo de
recurso Recursos.resPara usar los recursos se que utilizan una serie de
funciones especiales de Delphi.Ejemplo:
Incluya MMSystem en la cláusula Uses del
formulario y agregue la directiva {$R
Recursos.res}Coloque el siguiente código en el evento
OnActivate del formularioConts
MiCursor = 5;
begin
PlaySound (PChar ('Sonido'),
Hinstance, SND_Resource Or SND_ASYNC);Image1.Picture.Bitmap.Handle := LoadBitmap
(Hinstance, 'Imagen');Screen.Cursors [MiCursor] := LoadCursor (Hinstance,
'Puntero');Screen.Cursor := MiCursor;
Application.Icon.Handle := LoadIcon (Hinstance,
'Icono');end;En el procedimiento anterior, con la
instrucción de la primera línea se
escuchará el sonido y sin esperar a que este termine
se le asignará, en la segunda línea, la imagen
al control
Image1.En la tercera y cuarta línea se le asigna al
puntero del mouse el
cursor y en la quinta línea se le asigna el icono a la
aplicación.Si se desea que se espere a que termine el sonido
para cargar la imagen entonces se deberá cambiar la
primera línea por:PlaySound (PChar ('Sonido'), Hinstance, SND_Resource
Or SND_SYNC);- La utilización de archivos de recursos, en
el desarrollo de aplicaciones, permite generar
ficheros ejecutables que contienen todos los recursos
necesarios para su correcto funcionamiento sin necesidad de
utilizar ficheros adicionales para suministrar los mismos
en tiempo de ejecución evitando, al mismo tiempo,
que usuarios indeseados puedan manipularlos. - La utilización de archivos de
configuración, en el desarrollo de aplicaciones,
permite que cada usuario pueda configurar el programa de
acuerdo a sus intereses y necesidades.
Díaz Iglesias, Jack y Pérez
González, Franklin. Delphi 5 Básico.– Ciudad
de la Habana : Editorial Pueblo y Educación, 2001Charte Ojeda, Francisco. Visual
Basic 6– Madrid:
Ediciones Anaya Multimedia, 2002Curso por correo
electrónico sobre Borland Delphi.Autor:
Asistente Juan Antonio Fonseca
Hernández. - La utilización de archivos de recursos, en
- Se compila el fichero creado, siguiendo los siguientes
pasos:.
- Se ponen en el mismo directorio tanto las
imágenes (Dibujo.bmp), sonidos (Musica.wav),
cursores (Lápiz.cur) e iconos (Bandera.ico), como el
fichero creado (recursos.rc). - Se activa el compilador BRC32 que se encuentra
dentro del subdirectorio BIN del directorio de Delphi
pasándole como parámetro el fichero creado
(Recursos.rc).