Formato para prácticas de laboratorio

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Formato para prácticas de laboratorio"

Transcripción

1 CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA LSC Tópicos Selectos de Programación PRÁCTICA No. 6 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciados en Sistemas Computacionales DURACIÓN (HORA) 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 la Carrera Gestión de la Calidad Director de la Facultad Página 1 de 14 Revisión 1.

2 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. Página 2 de 14 Revisión 1.

3 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 Edit Label ComboBox Panel Muestra un área de edición de texto en la que el usuario puede introducir y modificar múltiples líneas de texto. Área de edición de texto en la que el usuario puede introducir y modificar una única línea de texto. 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. 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. Contenedor de componentes en un formulario. Se usa para crear barras de herramientas y líneas de estado. Página 3 de 14 Revisión 1.

4 MaskEdit BitBtn PageControl DataSource Table Query DBGrid 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. Crea un botón que puede contener un gráfico (tipo "bitmap"). Se emplea para construir cuadros de diálogo con múltiples páginas dentro de la misma ventana. Componente que establece la conexión entre los datos de una tabla y el componente que mostrara los registros, por ejemplo: TDBGrid o Forma. Accede a los registros de la tabla especificada mediante la propiedad TableName. Método de búsqueda que utiliza líneas SQL. 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 1. Genera un nuevo Alias: ESCUELA Página 4 de 14 Revisión 1.

5 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 Componentes Standard: Combobox, Edit, Label, Panel Additional: MaskEdit TBitBtn Win32: PageControl 4 TabSheets Additional: MaskEdit (Edad) Nota: La propiedad del botón para agregar un gráfico es Glyph Vista de Bajas Página 5 de 14 Revisión 1.

6 Additional: TBitBtn (Borrarlo) Vista de Cambios Página 6 de 14 Revisión 1.

7 Vista de Query (Consultas) En esta vista se emplean los componentes: Standard: Combobox Memo Query DataAccess: DataSource DataControls: DBGrid BDE: TTable TQuery Additional: TBitBtn Página 7 de 14 Revisión 1.

8 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; Página 8 de 14 Revisión 1.

9 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; Página 9 de 14 Revisión 1.

10 Var Form1: TForm1; Implementation {$R *.dfm} Agregue el siguiente codigo dentro del evento On Exit del Componente Edit1 procedure TForm1.Edit1Exit(Sender: TObject); if Edit1.Text <> ' ' then hay:=false; Table1.Active:=true; Table1.Edit; if table1.findkey([edit1.text]) then 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; Agregue el siguiente codigo dentro del evento On Click del Componente Button1 procedure TForm1.Button1Click(Sender: TObject); close; Agregue el siguiente código dentro del evento On Change del Componente Edit1 procedure TForm1.Edit1Change(Sender: TObject); Edit2.Text:=''; Edit3.Text:=''; MaskEdit1.Text:=''; Agregue el siguiente código dentro del evento On Click del Componente bitbtn1 procedure TForm1.BitBtn1Click(Sender: TObject); if NOT hay then Página 10 de 14 Revisión 1.

11 Table1.Edit; Table1.App 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:=''; Agregue el siguiente código dentro del evento On Click del Componente bitbtn2 procedure TForm1.BitBtn2Click(Sender: TObject); Edit1.text:=''; Edit2.text:=''; Edit3.text:=''; MaskEdit1.text:=''; Agregue el siguiente código dentro del evento On Change del Componente Edit4 procedure TForm1.Edit4Change(Sender: TObject); Edit5.text:=''; Edit6.text:=''; MaskEdit2.text:=''; Agregue el siguiente código dentro del evento On Exit del Componente Edit4 procedure TForm1.Edit4Exit(Sender: TObject); if Edit4.Text <> '' then hay:=false; Table1.Active:=true; Table1.Edit; if table1.findkey([edit4.text]) then hay:=true; Página 11 de 14 Revisión 1.

12 Edit5.Text:=Table1.FieldValues['Nombre']; Edit6.Text:=Table1.FieldValues['Sexo']; MaskEdit2.Text:=Table1.FieldValues['Edad']; end else Showmessage('El alumno No Existe'); Edit4.SetFocus; Agregue el siguiente código dentro del evento On Click del Componente BitBtn3 procedure TForm1.BitBtn3Click(Sender: TObject); if MessageDlg('Estas seguro(a)?', mtconfirmation,[mbyes,mbno],0)=mryes then Table1.Edit; Table1.Delete; Edit5.Text:=''; Edit6.Text:=''; MaskEdit2.Text:=''; Edit4.Text:=''; Showmessage('Registro Eliminado'); end else Showmessage('Registro No Eliminado'); Agregue el siguiente código dentro del evento On Change del Componente Edit7 procedure TForm1.Edit7Change(Sender: TObject); Edit8.text:=''; Edit9.text:=''; MaskEdit3.text:=''; Agregue el siguiente código dentro del evento On Exit del Componente Edit7 procedure TForm1.Edit7Exit(Sender: TObject); if Edit7.Text <> '' then hay:=false; Table1.Active:=true; Página 12 de 14 Revisión 1.

13 Table1.Edit; if table1.findkey([edit7.text]) then hay:=true; Edit8.Text:=Table1.FieldValues['Nombre']; Edit9.Text:=Table1.FieldValues['Sexo']; MaskEdit3.Text:=Table1.FieldValues['Edad']; end else Showmessage('El alumno No Existe'); Edit7.SetFocus; Agregue el siguiente código dentro del evento On Click del Componente BitBn4 procedure TForm1.BitBtn4Click(Sender: TObject); 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:=''; Agregue el siguiente código dentro del evento On Click del Componente BitBn5 procedure TForm1.BitBtn5Click(Sender: TObject); Var texto:string; Query1.Close; Query1.SQL.Clear; Query1.SQL.Add(Memo1.Text); texto:=query1.text; Query1.Open; Agregue el siguiente código dentro del evento On Change del Componente ComboBox procedure TForm1.ComboBox2Change(Sender: TObject); Página 13 de 14 Revisión 1.

14 Query1.Close; Memo1.Text:=Memo1.Text+Combobox2.Text; Memo1.SetFocus; Agregue el siguiente código dentro del evento On Change del Componente ComboBox procedure TForm1.TabSheet4Show(Sender: TObject); Var i: smallint; j:string; Table1.Active:=true; for i:=0 to Table1.FieldCount -1 Do combobox2.items.add(table1.fielddefs[i].name); 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 7. REFERENCIAS Página 14 de 14 Revisión 1.