CARRERA PLAN DE ESTUDIO
CLAVE
ASIGNATURA NOMBRE DE LA ASIGNATURA LSC 2003-1 5235 Tópicos Selectos de Programación
PRÁCTICA No.
LABORATORIO
DE Licenciados en Sistemas Computacionales
DURACIÓN (HORA) 6 NOMBRE DE LAPRÁCTICA Mantenimiento a una Tabla 2
1. INTRODUCCIÓN
El alumno realizará operaciones básicas de mantenimiento a una Tabla: Creación, Edición, Reestructuración y consulta. Posteriormente realizará una Aplicación Visual Delphi para la presentación de registros
2. OBJETIVO (COMPETENCIA)
Reconocimiento de las principales herramientas para el manejo de Tablas en el Entorno IDE Delphi.
Formuló LSC. Mónica Cristina Lam Mora
Revisó LSC. Mónica Cristina Lam Mora Aprobó Autorizó M.C. Miguel Ángel Martínez Romero Maestra Coordinador de laCarrera Gestión de la Calidad Director de la Facultad
3. FUNDAMENTO
BDE Administrator
El BDE es una herramienta que permite el fácil acceso a datos locales y remotos sin importar el formato o plataforma, consta de un conjunto de DLL´s (librerías dinámicas) y archivos de configuración que se accesa desde el Administrador BDE.
El Administrador BDE Permite el acceso al Borland Database Engine para modificar configuraciones agregando nuevos alias para identificar el acceso a Bases de Datos existentes. Los cambios se almacenan en el archivo IDAPI32.CFG.
Después de haber realizado cualquier cambio en la configuración desde BDE Administrator, se debe hacer una actualización de cambios mediante el menú de Object/Apply o mediante el icono Apply.
En la pestaña de Databases del BDE Administrator encontramos todos los Alias para las Bases de Datos disponibles.
En la versión Delphi 2005, la forma de acceso a BDE Administrator es por medio del Panel de Control. Creación de un Alias
Para crear un nuevo Alias es preciso ingresar al BDE Administrator y utilizar la opción de menú: Object/New. De aquí aparecerá una ventana solicitando el nombre del manejador de Base de Datos (Database Driver Name), para efectos de la practica utilizaremos el driver “STANDARD”. Este driver permite accesar tablas DB, DBF y ASCII.
Seguidamente no olvides asignar un nombre a tu nuevo Alias en el panel izquierdo del BDE Administrator de lo contrario quedara por defecto el nombre Standard. También es importante modificar los parámetros que se piden de acuerdo al driver seleccionado en el panel derecho del BDE, tales como el Path (ubicación de las tablas de la Base de Datos).
Para aceptar el nuevo Alias con los parámetros modificados utilizamos el menú Object/Apply. Database Desktop
Esta herramienta permite la creación y modificación de tablas de Paradox y DBase. Contiene además utilerías especiales para manejo y edición de Tablas. Permite además de manera limitada crear tablas para el servidor de Bases de Datos al cual estemos conectados.
Esta herramienta Delphi es accesible desde el entorno IDE mediante la Barra de Menús, con la opción: Tools/Database Desktop.
Para la creación de una nueva tabla se ingresa a Database Desktop, de la forma antes mencionada, con ayuda de la barra de menús File/New/Table. El programa solicitará el tipo de tabla: Paradox. Después se abrirá una nueva ventana de edición de tabla en la cual ingresaremos datos tales como: Nombre del campo, Tipo de Datos, Tamaño y definiremos con * si se trata del campo Llave. Finalmente es necesario guardar cambios mediante el botón Save As, para poder asignar un nombre. En la ventana de grabado se elige el Alias (Directorio de trabajo) al cual direccionaremos la nueva tabla.
También es posible definir el Directorio de trabajo antes de crear una nueva tabla, mediante la barra de menús del Database Desktop en la opción: File/Working Directory.
Agregar registros a una tabla, se hace mediante Database Desktop. Una vez que hayas ingresado a esta herramienta utilizando el menú elige la opción: File/Open/Table, en la ventana que se muestra hay que elegir el Alias sobre el cual se trabajará, después aparecerán los nombres de las tablas que contiene ese Alias para seleccionar la deseada y abrirla para edición.
Permite modificar la estructura de una Tabla. Agregar campos, cambiar Tipo de datos, Modificar llave primaria, establecer relaciones entre tablas, es decir, accede a ventana de diseño de tabla.
Abre una la Tabla en modo de Edición. Algunos componentes
Memo Muestra un área de edición de texto en la que el usuario puede introducir ymodificar múltiples líneas de texto. Edit Área de edición de texto en la que el usuario puede introducir y modificaruna única línea de texto.
Label
Texto que el usuario no puede seleccionar ni manipular. Se usa para mostrar títulos, encabezados, o incluso resultados, ya que puede establecerse su valor en tiempo de ejecución.
ComboBox
Muestra una lista de elecciones. Es un control que combina aspectos de un componente ListBox y de un componente Edit: el usuario puede introducir datos en el área de edición o seleccionar en el área de lista.
MaskEdit
Permite la introducción y edición de datos, como lo hace el componente Edit, salvo que proporciona la posibilidad de especificar formatos particulares, como códigos postales o números de teléfono. BitBtn Crea un botón que puede contener un gráfico (tipo "bitmap").
PageControl Se emplea para construir cuadros de diálogo con múltiples páginas dentro dela misma ventana. DataSource
Componente que establece la conexión entre los datos de una tabla y el componente que mostrara los registros, por ejemplo: TDBGrid o Forma. Table Accede a los registros de la tabla especificada mediante la propiedadTableName. Query Método de búsqueda que utiliza líneas SQL.
DBGrid Componente que permite presentar los registros de una tabla de manera ordenada para su consulta.
4. PROCEDIMIENTO (DESCRIPCIÓN)
A) EQUIPO NECESARIO MATERIAL DE APOYO Computadora con Borland Delphi 2005 Instalado Práctica Impresa
Ayuda de Delphi B) DESARROLLO DE LA PRÁCTICA
2. Por medio de Database Desktop establece tu directorio de trabajo y crea una tabla con los campos siguientes:
3. Guarda la Tabla “alumnos” en el directorio de trabajo, y ábrela en modo de edición para ingresarle 10 registros.
4. Crea una nueva aplicación VCL Delphi como la que se muestra: Vista de Altas
Nota: La propiedad del botón para agregar un gráfico es Glyph Vista de Bajas Componentes Standard: Combobox, Edit, Label, Panel Additional: MaskEdit TBitBtn Win32: PageControl 4 TabSheets Additional: MaskEdit (Edad)
Vista de Cambios
Additional:
Vista de Query (Consultas)
En esta vista se emplean los componentes:
Standard: Combobox Memo Query DataAccess: DataSource DataControls: DBGrid BDE: TTable TQuery Additional: TBitBtn
Componente Propiedad Valor
Query1 Database Name Escuela
DataSource Dataset Query1
DBGrid Datasource Datasource1
Memo Lines … Select * From alumnos Where
Unidad de Código
Unit tablas;Interface Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Mask, ComCtrls, DB, DBTables, Grids, DBGrids; Type TForm1 = class(TForm) ComboBox1: TComboBox; Panel1: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; Query1: TQuery; Table1: TTable; DataSource1: TDataSource; PageControl1: TPageControl; TabSheet1: TTabSheet; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; MaskEdit1: TMaskEdit; TabSheet2: TTabSheet; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; BitBtn3: TBitBtn;
Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; MaskEdit2: TMaskEdit; TabSheet3: TTabSheet; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; BitBtn4: TBitBtn; Edit7: TEdit; Edit8: TEdit; Edit9: TEdit; MaskEdit3: TMaskEdit; TabSheet4: TTabSheet; DBGrid1: TDBGrid; BitBtn5: TBitBtn; Memo1: TMemo; Button1: TButton; Table2: TTable; ComboBox2: TComboBox;
procedure TabSheet4Show(Sender: TObject); procedure ComboBox2Change(Sender: TObject); procedure BitBtn5Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject); procedure Edit7Exit(Sender: TObject); procedure Edit7Change(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure Edit4Exit(Sender: TObject); procedure Edit4Change(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure Edit1Change(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Edit1Exit(Sender: TObject); Private { Private declarations } Public { Public declarations } hay:boolean; end;
Var
Form1: TForm1; Implementation {$R *.dfm}
Agregue el siguiente codigo dentro del evento On Exit del Componente Edit1
procedure TForm1.Edit1Exit(Sender: TObject); begin if Edit1.Text <> ' ' then begin hay:=false; Table1.Active:=true; Table1.Edit; if table1.FindKey([Edit1.text]) then begin hay:=true; Edit2.Text:=Table1.FieldValues['Nombre']; Edit3.Text:=Table1.FieldValues['Sexo']; MaskEdit1.Text:=Table1.FieldValues['Edad']; Showmessage('El alumno ya esta dado de alta'); Edit1.SetFocus;
end; end; end;
Agregue el siguiente codigo dentro del evento On Click del Componente Button1
procedure TForm1.Button1Click(Sender: TObject); begin
close; end;
Agregue el siguiente código dentro del evento On Change del Componente Edit1
procedure TForm1.Edit1Change(Sender: TObject); begin
Edit2.Text:=''; Edit3.Text:=''; MaskEdit1.Text:=''; end;
Agregue el siguiente código dentro del evento On Click del Componente bitbtn1
procedure TForm1.BitBtn1Click(Sender: TObject); begin
begin Table1.Edit; Table1.Append; Table1.FieldValues['Matricula']:=Edit1.text; Table1.FieldValues['Nombre']:=Edit2.text; Table1.FieldValues['Sexo']:=Edit3.text; Table1.FieldValues['Edad']:=MaskEdit1.text; Table1.Post; Edit1.text:=''; Edit2.text:=''; Edit3.text:=''; MaskEdit1.text:=''; end; end;
Agregue el siguiente código dentro del evento On Click del Componente bitbtn2
procedure TForm1.BitBtn2Click(Sender: TObject); begin Edit1.text:=''; Edit2.text:=''; Edit3.text:=''; MaskEdit1.text:=''; end;
Agregue el siguiente código dentro del evento On Change del Componente Edit4
procedure TForm1.Edit4Change(Sender: TObject); begin
Edit5.text:=''; Edit6.text:=''; MaskEdit2.text:=''; end;
Agregue el siguiente código dentro del evento On Exit del Componente Edit4
procedure TForm1.Edit4Exit(Sender: TObject); begin if Edit4.Text <> '' then begin hay:=false; Table1.Active:=true; Table1.Edit; if table1.FindKey([Edit4.text]) then begin hay:=true;
Edit5.Text:=Table1.FieldValues['Nombre']; Edit6.Text:=Table1.FieldValues['Sexo']; MaskEdit2.Text:=Table1.FieldValues['Edad']; end else begin
Showmessage('El alumno No Existe'); Edit4.SetFocus;
end; end; end;
Agregue el siguiente código dentro del evento On Click del Componente BitBtn3
procedure TForm1.BitBtn3Click(Sender: TObject); begin
if MessageDlg('Estas seguro(a)?' , mtConfirmation,[mbYes,mbNo],0)=mrYes then begin Table1.Edit; Table1.Delete; Edit5.Text:=''; Edit6.Text:=''; MaskEdit2.Text:=''; Edit4.Text:=''; Showmessage('Registro Eliminado'); end else Showmessage('Registro No Eliminado'); end;
Agregue el siguiente código dentro del evento On Change del Componente Edit7
procedure TForm1.Edit7Change(Sender: TObject); begin
Edit8.text:=''; Edit9.text:=''; MaskEdit3.text:=''; end;
Agregue el siguiente código dentro del evento On Exit del Componente Edit7
procedure TForm1.Edit7Exit(Sender: TObject); begin
if Edit7.Text <> '' then begin
hay:=false;
Table1.Edit; if table1.FindKey([Edit7.text]) then begin hay:=true; Edit8.Text:=Table1.FieldValues['Nombre']; Edit9.Text:=Table1.FieldValues['Sexo']; MaskEdit3.Text:=Table1.FieldValues['Edad']; end else begin
Showmessage('El alumno No Existe'); Edit7.SetFocus;
end; end; end;
Agregue el siguiente código dentro del evento On Click del Componente BitBn4
procedure TForm1.BitBtn4Click(Sender: TObject); begin Table1.Edit; Table1.FieldValues['Nombre']:=Edit8.text; Table1.FieldValues['Sexo']:=Edit9.text; Table1.FieldValues['Edad']:=MaskEdit3.text; Table1.Post; Edit7.Text:=''; Edit8.Text:=''; Edit9.Text:=''; MaskEdit3.Text:=''; end;
Agregue el siguiente código dentro del evento On Click del Componente BitBn5
procedure TForm1.BitBtn5Click(Sender: TObject); Var texto:String; begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Add(Memo1.Text); texto:=Query1.Text; Query1.Open; end;
Agregue el siguiente código dentro del evento On Change del Componente ComboBox
begin
Query1.Close;
Memo1.Text:=Memo1.Text+Combobox2.Text; Memo1.SetFocus;
end;
Agregue el siguiente código dentro del evento On Change del Componente ComboBox
procedure TForm1.TabSheet4Show(Sender: TObject); Var i: smallint;
j:String; begin
Table1.Active:=true;
for i:=0 to Table1.FieldCount -1 Do begin combobox2.Items.add(Table1.FieldDefs[i].Name); end; end; end. C) CÁLCULOS Y REPORTE
El alumno realizará la práctica en el laboratorio y la presentará para revisión.
5. RESULTADOS Y CONCLUSIONES 6. ANEXOS