Академический Документы
Профессиональный Документы
Культура Документы
12
ARCHIVOS BASES DE DATOS
Hasta ahora, en todas las aplicaciones que se han considerado, los datos se han
introducido de manera interactiva a travs del teclado durante la ejecucin del programa.
Con este mtodo si se quieren los mismos datos en otra aplicacin se deben volver a
ingresar. Este mtodo no es deseable cuando se necesitan grandes cantidades de datos.
Por ejemplo, requerira mucho tiempo para una empresa grande, volver a escribir los
datos de sus empleados cada vez que un programa deba usar este informacin para una
aplicacin concreta. Los archivos proporcionan un medio eficiente para almacenar datos
de manera que puedan ser utilizados por varios programas.
BASES DE DATOS
Los componentes en la pagina Data Acces, la pagina ADO o la pagina InterBase de la
Paleta de componentes permiten que nuestras aplicaciones lean desde y escriban a
bases de datos. Los componentes en la pagina Data Acces usa El Motor de Base de
Datos de Borland (BDE) para acceder a la informacin de la base de datos que esta
disponible a los controles en su interfaz de usuario. Los componentes en la pagina ADO
usan Objetos Data ActiveX (ADO). Los componentes en la pagina InterBAse acceden a
una base de datos interBase directamente.
ARCHIVO
Es una estructura de datos formada por una serie de componentes, que son todos del
mismo tipo. Es una coleccin de datos relacionados, normalmente almacenados en disco
y referenciados por un nombre simple.
Un archivo es una coleccin de datos del mismo tipo que con un ttulo o nombre se
almacenan o graban en dispositivos externos al computador tales como: Discos,
diskettes, cintas magnticas, etc.
Se suele usar el termino Archivo externo para referirnos a un archivo almacenado
permanentemente, separado de la ejecucin del programa.
CLASIFICACION
1) Archivo de texto: Es un archivo de caracteres que esta tambin divido en lneas.
2) Archivo Binario: Es un archivo que se crea dentro de un programa para ser ledo por
otro programa o por el mismo programa mas adelante; estos archivos se escriben en la
representacin interna de la maquina.
Los datos de un archivo pueden ser ledos y utilizados por otros medio.
Para operar con un archivo hay que referirse a l mediante un nombre. Las operaciones
bsicas para usar un archivo son:
1) Declaracin del manipulador interno del archivo, dndole un nombre y otras
especificaciones.
2) Asignacin del manipulador interno a un archivo externo.
3) Apertura del archivo para el modo de proceso que se iniciar.
4) Lectura o escritura de los datos desde o en el archivo (segn la apertura)
5) Cierre del archivo.
I. ARCHIVOS DE TEXTO
Un archivo de texto es una secuencia de caracteres imprimibles (cdigo ASCII) que
fluyen entre el programa y un dispositivo o el disco.
A dems de los caracteres ordinarios, en un archivo de texto se pueden escribir
caracteres de fin o cambio de lnea [Eoln end of line] constituidos por un Retorno de
Carro (CR) y un Avance de Lnea (LF). Para conseguir un delimitador pulse Enter. Un
archivo de texto se puede crear con cualquier editor de texto ( Bloc de Notas, WordPad,
Win Word o el editor de DELPHI).
1) Declaracin de un archivo
Definir una variable de tipo archivo Text.
Formato:
Var
VarArchivo: TEXT;
Asociar a esta variable el nombre de un archivo en disco.
2) Asignacin de archivos
Establece una correspondencia entre variables tipo archivo con un archivo de texto
situado en un disco.
Formato:
Assign(VarArchivo, NombArchExterno);
Ejemplo: Si el archivo se almacena en el diskette como arch1.txt, podemos referirnos
a l dentro del programa como archA:
Assign(archA, a:arch1.txt)
El prefijo de la unidad se podr omitir cuando el archivo que se va a leer esta en la
unidad por omisin.
2
Assign(archA, arch1.txt);
Reset (archA);
ReWrite(F),
Reset(F);
Append(F);
4. Lectura de Datos
Procedimiento:
Procedimiento:
Read
RedLn
5. Escritura de Datos
Procedimiento:
Procedimiento:
Write
WritLn
6. Delimitador de Dato
Retorno de Carro + Avance de lnea
Eof(F)
Eoln(F)
7. Otras operaciones
FileExists: FileExists (NombArch);
4
Funcin de tipo lgica que devuelve True si el archivo existe o False en caso
contrario.
Las siguientes dos operaciones requieren que el archivo no este abierto, cerrndolo si es
necesario antes de llamar al procedimiento:
FileRename o Rename (F, cNuevoNombre);
FileDelete o Erase(F);
Renombra un Archivo.
Elimina un archivo.
Object TStringList
Mtodos:
LoadFromFile:
SaveToFile:
Ubique el archivo abc.txt en la carpeta ing. Zabalaga y haga doble clic sobre l para
revisar su contenido:
arch:text;
i:integer;
cad:string;
begin
showmessage('Uso de Rewrite');
assign(arch,'d:\ing. zabalaga\arhivos\random.txt');
rewrite(arch); //aade datos al archivo
randomize;
for i:=1 to 10 do
writeln(arch,trunc(10*random));
close(arch);
showmessage('Lectura del archivo mediante Reset');
cad:='';
assign(arch,'c:\ficheros\random.txt');
reset(arch);
while not eof(arch) do
begin
readln(arch,i);
cad:=cad+inttostr(i)+chr(13);
end;
cad := 'Informacin Encontrada'+chr(13)+cad;
showmessage(cad);
close(arch)
end.
1. Sitese en el men File y haga clic en el comando Save As
2. En el cuadro Nombre de Archivo digite: pRand.DPR donde la extensin debe ser
introducida explcitamente.
3. Luego debemos cerrar el archivo para que sea reconocido como un archivo de
proyecto seleccionando la opcin Close All del men File.
4. Vuelva a abrir el Proyecto haciendo clic en el men File a travs del comando
Open Project
Al ejecutar el programa pulsando la tecla F9 se mostrara la siguiente ventana:
Los datos del archivo son leidos y almacenados en la cadena cad, la cual finalmente se
muestra:
Luego de digitar el nombre del archivo, ingresar el total de filas del triangulo:
10
4) Programa Matriz
Elaborar un programa que grabe en el archivo matriz.txt los elementos de una matriz
rectangular as como su dimension.
program matriz;
uses
dialogs, sysutils;
var
val,NomArch:string;
m,n:byte;
arch:text;
procedure Matrix(m,n:byte);
var
i,j:byte;
r:real;
begin
writeln(arch,'Dimensin: ',m,'*',n);
showmessage('Ingrese la matriz'+inttostr(m)+'*'+inttostr(n));
for i:=1 to m do
begin
for j:=1 to n do
begin
val:=inputbox('fila'+inttostr(i),'a[' +inttostr(i)+','+inttostr(j)+']=','1.0');
r:=strtofloat(val);
write(arch,r:7:2,' ');
end;
writeln(arch);
end;
close(arch);
end;
begin
NomArch:=inputbox('archivo','nombre=','d:\ing. zabalaga\archivos\matriz.txt');
assign(arch,NomArch);
rewrite(arch);
val:=inputbox('matriz m*n','m=','1');
m:=strtoint(val);
val:=inputbox('matriz m*n','n=','1');
n:=strtoint(val);
Matrix(m,n);
showmessage('Matrz generada....')
end.
11
digite el nombre del archivo y haga clic en el botn OK. A continuacin se le solicitara la
dimensin de la matriz rectangular a leer, introduciendo primero el total de filas y luego el
de columnas. Finalmente, debe ingresar cada elemento de la matriz.
, etc.
12
Propiedad
Caption
Position
Caption
Caption
Text
Text
Caption
Valor
Generador de n Nmeros
poScreenCenter
Nombre de archivo:
Total de nmeros:
&Generar
Button2
Caption
&Salir
13
2. Asociacin
AssignFile(F, NomArch);
3. Cerrar un archivo
CloseFile(F);
Propiedad
Caption
Position
Caption
Caption
Caption
Caption
Caption
Text
Text
Text
Text
Caption
Caption
Caption
Caption
Valor
Agenda
poScreenCenter
Nombre de Archivo:
Cdigo:
Nombres Completos:
Direccin:
Telfono:
&Registrar
&Nuevo
&Generar
&Salir
16
BitBtn1.Enabled:=False
end;
Asociemos un procedimiento al control Button1 accionado por el evento OnClick. Este
procedimiento copiara los datos actuales en pantalla al archivo, almacenndolos todos
en una sola lnea adems llama a la rutina SoloLectura para impedir hacer cambios en
los cuadros de edicin. La instruccin Append aade datos a un archivo existente;
luego de usarla volvemos a cerrar el archivo.
procedure TForm1.Button1Click(Sender: TObject);
begin
AssignFile(F,Ruta);
Append(F);
Write(F,Edit1.Text,#9);
Write(F,Edit2.Text,#9);
Write(F,Edit3.Text,#9);
Writeln(F,Edit4.Text);
CloseFile(F);
ShowMessage('Registro Almacenado..');
Button1.Enabled:=False;
SoloLectura(True);
Button3.SetFocus
end;
Para salvar un nuevo registro haga doble clic en el control Button3 accionado por el
evento OnClick y luego digite lo siguiente:
procedure TForm1.Button3Click(Sender: TObject);
begin
SoloLectura(False);
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit1.SetFocus;
Button1.Enabled:=True;
BitBtn1.Enabled:=True
end;
Finalmente, digite el cdigo para abandonar la aplicacin en el evento OnClick del
control BitBtn2:
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Close
end;
18
Ejemplo:
Type
TFicha = Record
Nombre: String [25];
Edad: Byte;
Telefono: String [7];
End;
Var
ArchAgenda: File of TFicha;
2. Asociacin
AssignFile (varArch, RutaNomArch);
Asigna el camino y nombre del archivo al identificador que representa el archivo.
3. Apertura del Archivo
a) Rewrite (varArch)
Crea un archivo y a continuacin lo abre para escritura. Puede perder la informacin
actual.
19
b) Reset(varArch)
Se utiliza solo cuando un archivo ya existe, se puede establecer el modo de apertura
para solo leer, solo escribir o realizar ambas operaciones (predeterminado)
FileMode
Variable a la que se asignara uno de los siguientes valores mostrados en la tabla
antes de abrir el archivo con Reset
0
1
2
Read(VarArch, ListaDatos)
Lee uno o ms datos del archivo
5. Comandos de uso frecuente
FilePos(VarArch)
Devuelve un numero p indicando la posicin o valor actual del apuntador. 0pn-1
Seek(VarArch, Pos)
Ubica el puntero en una posicin permitida para poder leer y escribir en cualquier
orden y no necesariamente de forma secuencial.
FileSize(VarArch)
Total de componentes o elementos del archivo (tamao del archivo)
6. Cierre del archivo
CloseFile(VarArch);
Asegura la correcta escritura de toda la informacin en el archivo.
7. Otras operaciones
a) FileExists(cNomArch)
Devuelve true si el archivo especificado existe.
b) FileSearch(cNomArch, cListaDirectorios)
20
Unidad actual
Unidad A
Unidad B
g) GetDriveType(cCaminoRaiz)
Devuelve el tipo de una determinada unidad. El valor de retorno ser:
Constante
DRIVE_FIXED
DRIVE_REMOVABLE
DRIVE_CDROM
DRIVE_REMOTE
DRIVE_RAMDISK
Tipo de Unidad
Fija, como un disco duro
Mvil, como un diskette
CD-ROM
Remota, como una unidad de red.
Disco virtual o disco RAM
h) GetVolumeInformation
21
Seleccin de la Unidad
Disponemos de los siguientes controladores:
a) Control TDriveComboBox
Se encuentra en la Pagina Win 3.1
Propiedades
Items
ItemIndex
TexCase
Drive
DirList
Comentario
Elementos existentes en la lista
Elemento seleccionado actual
Estado en que aparecer la letra y nombre de
la Unidad
TCLowerCase: Predeterminado Minsculas
TCUpperCase: Maysculas
Contiene la letra de la unidad seleccionada
Asocia una lista de unidades con una lista de
directorios
Eventos:
OnChange
Componente SaveDialog
Muestra una ventana de dialogo modal para seleccionar los nombres de los archivos y
grabarlos. El dilogo no aparece en tiempo de ejecucin hasta que ste es activado
mediante una llamada al mtodo Execute. Cuando el usuario presiona el botn Guardar,
el dialogo se cierra y el archivo seleccionado es almacenado en la propiedad FileName.
Componente OpenDialog
Muestra una ventana de dialogo para seleccionar y abrir archivos. El dialogo no aparece
en tiempo de ejecucin hasta que ste es activado mediante una llamada al mtodo
Execute. Cuando el usuario hace clic en el botn Abrir, el dialogo se cierra y el archivo o
archivos seleccionados son almacenados en la propiedad Files.
Propiedad
Caption
Position
Caption
Caption
Caption
Caption
Caption
Caption
Text
Text
Text
Text
Text
Text
Caption
Caption
Enabled
Caption
Enabled
Caption
Valor
Ingreso de Libros
poScreenCenter
Cdigo:
Titulo:
Autor:
Editora:
#Ejemplares:
Precio:
&Crear
&Grabar
False
&Nuevo
False
&Salir
23
Type
Tlibro = record
Cod:string[6];
Tit:string[20];
Aut:string[30];
Edi:string[20];
Nej:byte;
Pre:real;
end;
Declaremos dos variables: Fich(archivo binario) cuyos componentes sern del tipo
TLibro y Lib para almacenar los datos de un libro en particular en la seccin:
Var
Lib:TLibro;
Fich:File of TLibro;
Asociemos un procedimiento al control Button1 accionado por el evento OnClick. Este
procedimiento pide la ruta y el nombre para el fichero luego abre el archivo para una
operacin d escritura y finalmente habilita el botn Grabar.
1. Haga doble clic en el control Button1
2. En el cdigo haremos referencia a las propiedades del componente SaveDialog
para filtrar los archivos a visualizar, establecer el directorio inicial, la extensin
predeterminada y capturar el nombre del archivo.
procedure TForm1.Button1Click(Sender: TObject);
Var
NomArch:string;
begin
SaveDialog1.Filter:='Archivos de Datos(*.dat)|*.dat|Todos'+
'los archivos(*.*)|*.*';
SaveDialog1.FilterIndex:=1;
Savedialog1.InitialDir:='D:\ing. zabalaga\archivos\Ingreso libros';
SaveDialog1.DefaultExt:='*.dat';
If SaveDialog1.Execute then
begin
NomArch:=SaveDialog1.FileName;
AssignFile(Fich,NomArch);
Rewrite(Fich);
Button3.Enabled:=False;
Button2.Enabled:=True;
24
Edit1.SetFocus;
end;
end;
Asociemos un procedimiento al control Button2 accionado por el evento OnClick.
Este procedimiento copiara los datos actuales en pantalla el registro Lib, como un medio
de almacenamiento temporal, enseguida con el procedimiento Write se escribe en el
archivo el componente Lib.
procedure TForm1.Button2Click(Sender: TObject);
begin
with Lib do
begin
Cod:=Edit1.Text;
Tit:=Edit2.Text;
Aut:=Edit3.Text;
Edi:=Edit4.Text;
Nej:=StrToInt(Edit5.Text);
Pre:=StrToFloat(Edit6.Text);
end;
Write(Fich,Lib);
Button2.Enabled:=False;
Button3.Enabled:=True;
Button3.SetFocus;
ShowMessage('Informacion procesada');
end;
Haga doble clic sobre el control Button3 y digite lo siguiente:
procedure TForm1.Button3Click(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='';
Edit1.SetFocus;
Button2.Enabled:=True;
Button3.Enabled:=False;
end;
Por ltimo, el cdigo para el control Button4 sera:
procedure TForm1.Button4Click(Sender: TObject);
begin
If FileExists(NomArch) then
25
CloseFile(Fich);
Close;
end;
La funcin FileExits averigua si el archivo se encuentra almacenado en algn lugar del
disco; de ser as cierra el archivo previamente, sino slo cierra la aplicacin:
Programa ejecutndose:
2) Lectura de Libros
Desarrollar una aplicacin que lea del archivo Invent.dat la informacin concerniente a
los libros de una biblioteca. Para cada obra se debe mostrar la siguiente informacin:
Cdigo; Ttulo; Autor; Editorial; Nmero de Ejemplares; Precio
Par revisar la informacin de un archivo binario tendremos que disear otra aplicacin,
pues al usar un editor para abrir el archivo en cuestin, el contenido se muestra ilegible
casi en su totalidad.
Siga estos pasos:
1. Crear una aplicacin con formulario
2. En el formulario coloque los siguientes componentes: 6 etiquetas, 6 Cuadros de
Edicin, 1 control Panel, 2 Controles SpeedButton y 1 Botn de Figura.
3. Modificar las propiedades de los componentes:
Control
Form1
Label1
Propiedad
Caption
Position
Caption
Valor
Lectura de Libros
poScreenCenter
Cdigo:
26
Label2
Label3
Label4
Label5
Label6
Edit1
Edit2
Edit3
Edit4
Edit5
Edit6
Panel1
SpeedButton1
SpeedButton2
Button1
Caption
Caption
Caption
Caption
Caption
Text
Text
Text
Text
Text
Text
Caption
Caption
Caption
Caption
Kind
Titulo:
Autor:
Editora:
#Ejemplares:
Precio:
<
>
&Salir
bkClose
Inserte tambin desde la Paleta Dialogs un control OpenDialog para modificar las
propiedades de la ventana de dilogo Abrir. En la seccin type declare el tipo TLibro
con los campos indicados, los cuales deben coincidir al menos en tipo y ancho con los
del ejemplo anterior.
type
TLibro=Record
cod:string[4];
tit:string[20];
aut:string[30];
27
edi:string[20];
nej:byte;
pre:real
end;
Declaremos dos variables: Fich(Archivo binario) cuyos componentes sern del tipo
TLibro y Lib para recuperar los datos de un libro en particular en la seccin
var
frmLectura: TfrmLectura;
lib:TLibro;
fich:file of TLibro;
En la seccin Implementation digite el cdigo del procedimiento Actualiza, para mostrar
los datos a los que seala el puntero del archivo.
implementation
{$R *.DFM}
procedure TfrmLectura.Actualiza;
begin
If not eof(Fich) Then
Begin
read(fich,lib);
seek(fich,filepos(fich)-1);
with lib do
begin
edit1.text:=cod;
edit2.text:=aut;
edit3.text:=tit;
edit4.text:=edi;
edit5.text:=IntToStr(nej);
edit6.text:=FloatToStr(pre)
end;
panel1.Caption:='Registro '+IntToStr(filepos(fich)+1)+' de '+IntToStr(filesize(fich))
end
end;
Al crearse la ficha haremos que se muestre la ventana Abrir para seleccionar el nombre
del archivo de datos a visualizar. Haga doble clic sobre un lugar libre del formulario, se
desplegara la ventana de cdigo para el evento OnCreate, digite lo siguiente:
procedure TForm1.FormCreate(Sender: TObject);
begin
Opendialog1.Filter:='Archivos de Datos(*.dat)|*.dat|Todos'+
28
'los archivos(*.*)|*.*';
OpenDialog1.FilterIndex:=2;
OpenDialog1.InitialDir:='D:\ing. zabalaga\archivos\Ingreso libros';
OpenDialog1.DefaultExt:='*.dat';
if OpenDialog1.Execute then
begin
NomArch:=Opendialog1.FileName;
AssignFile(Fich,NomArch);
Reset(fich);
Actualiza;
end;
end;
Para desplazarse una posicin a la derecha (avanzar un registro) haremos clic en el
control SpeedButton2. Debemos averiguar la posicin actual del puntero del archivo,
luego si no hemos alcanzado el fin de archivo avanzaremos a una posicin, en caso
contrario el control quedar no accesible. Asociemos un procedimiento al control
SpeedButton2 accionado por el evento OnClick.
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if FilePos(Fich)<(FileSize(fich)-1) then
begin
Seek(Fich,filePos(fich)+1);
Actualiza;
SpeedButton1.enabled:=true;
end
else
begin
speedButton2.Enabled:=false;
SpeedButton1.Enabled:=true;
end
end;
Anlogamente, asociemos un procedimiento al control SpeedButton1 accionado por el
evento Onclick.
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if FilePos(fich)>0 then
begin
seek(fich,FilePos(Fich)-1);
Actualiza;
SpeedButton2.Enabled:=true;
end
else
begin
29
SpeedButton1.Enabled:=False;
SpeedButton2.enabled:=true;
end
end;
Asociemos un procedimiento al control Salir. Cuando el usuario haga clic en este botn,
la ejecucin del programa debe finalizar.
procedure TForm1.SalirClick(Sender: TObject);
begin
closeFile(Fich);
Close;
end;
Programa ejecutndose:
3) Impresin
Desarrollar una aplicacin para imprimir mapas de bits. Utilizar el componente
TabControl para permitir al usuario examinar una serie de mapas de bits.
30
Propiedad
Caption
Tabs
Valor
Imprimir Bitmap
Ruta
end;
El siguiente evento carga al archivo bitmap al componente TabControl.
procedure TForm1.TabControl1Change(Sender: TObject);
begin
Image1.Picture.LoadFromFile (
TabControl1.Tabs [TabControl1.TabIndex]);
end;
El comando Acerca mostrara una ventana de informacin MessageDlg
procedure TForm1.Acerca1Click(Sender: TObject);
begin
MessageDlg ('Visor de Bitmaps con Tabs',
mtInformation, [mbOk], 0);
end;
Para acceder al Cuadro de Dialogo de vista previa haremos clic en el comando
Archivo/Imprimir de la aplicacin.
Se mostrara un formulario en vista previa con una barra de herramientas con 4 botones y
1 componente ScrollBox que contiene un componente Image.
Primero se verifica si se ha seleccionado una imagen, de ser as se define una escala
predeterminada para el formulario, inicia la vista previa y aparece como un formulario
modal:
32
35
Propiedad
Caption
DataSet
DataBaseName
TableName
Active
Align
DataSource
Caption
Kind
Valor
Visor de Tablas
Table1
DBDEMOS
Clients.dbf
True
AlNone
DataSource1
&Cerrar
bkClose
37
Para facilitar la navegacin por los datos que hemos seleccionado, lo nico que tenemos
que hacer es insertar un control TDBNavigator que se encuentra en la pagina
DataControls. La propiedad mas relevante de este control es DataSource que nos
servir para conectarnos a los datos de la tabla a travs del objeto DataSource1.
Realice los siguientes cambios:
Objeto
DBNavigator
Propiedad
DataSource
Align
Valor
DataSource1
alTop
El control DBNavigator solo permite la navegacin por los datos durante la ejecucin. Al
interactuar con este control podremos movernos de un registro a otro, borrar una fila,
aadir una nueva fila; es decir, la mayora de las operaciones que estn permitidas en
una tabla con tan solo una pulsacin.
38
39
Filtro
*.db, *.dbf
*.*
El resto de las propiedades se dejaran como estn con el fin de que mejore el cuadro de
dialogo a su libre decisin.
En el evento OnClick de la opcin Abrir se utilizaran dos funciones muy tiles que son
ExtractFilePath y ExtractFileName. La primera devuelve la ruta sin el nombre del
archivo, y la segunda retorna el nombre del archivo. Debemos tener en cuenta que la
propiedad FileName del cuadro de dialogo (OpenDialog1) contiene la ruta completa del
archivo seleccionado, por ejemplo: c:\Enero\prueba.db.
Aqu debajo esta el cdigo fuente del ejemplo para darle un vistazo:
Procedure TForm1.Abrir1Click(Sender: TObject);
begin
//Si el usuario selecciono un archive
If OpenDialog1.Execute then
begin //e hizo clic en el botn Open
//Cerramos cualquier tabla activa
40
Table1.Close:
// Almacena la ruta donde esta almacenada una base de datos
Table1.TableName := ExtractFilePath (OpenDialog1.Filename);
// Retorna el nombre de la base de datos seleccionada
Table1.TableName := ExtractFileName(OpenDialog1.FileName);
// Activa la table
Table1.Active := True
end;
//En caso que cancele no efecta nada
end;
Control
Form1
DataSource
Table1
DBGrid1
Propiedad
Caption
DataSet
DataBaseName
TableName
Active
Align
DataSource
Valor
Rejilla Demo
Table1
DBDEMOS
Country.dbf
True
AlClient
DataSource1
Continent
Propiedad
Title>Caption
Color
Font>Color
Font>Style>fsBold
PickList
Valor
Pas
clButtonShadow
clWhite
True
Africa
Asia
Australia
Europa
North America
South America
Font>Style>fsItalic True
Ahora digitaremos cdigo para indicar el estado del componente Table en ejecucin.
Seleccionemos el componente DataSource y ubiquemos su evento OnStateChange en
la pagina Envents. Ingrese las siguientes instrucciones:
Procedure TForm1.DataSource1StateChange(Sender:TObject);
var
Titulo:String;
begin
42
Case Table1.State of
dsBrowse: Titulo:= Examinar;
dsEdit: Titulo := Editar;
dsInsert: Titulo := Insertar; // para insertar presione Ins
else
// para borrar presione Control + Supr
Titulo := Otro Estado;
end;
Caption := Rejilla Demo + Titulo;
end;
Programa ejecutndose: (NO HAY PROGRAMA)
Control
Form1
DataSource
Table1
DBGrid1
Label2
DBEdit2
DBImage1
Propiedad
Caption
DataSet
DataBaseName
TableName
Active
Align
DataSource
DataSource
DataField
DataSource
DataField
DataSource
DataField
Valor
DbFechas
Table1
DBDEMOS
Events.dbf
True
AlNone
DataSource1
DataSource1
Event_Photop
DataSource1
Events
DataSource1
Event_Photop
43
Stretch
DBNavigator
DataSource
MonthCalendar1 ShowToday
True
DataSource1
False
44