laboratori ode delphi

25
Universidad del Caribe Laboratorio de Delphi Ambiente de Trabajo Preguntas de Repaso ¿Cuales son las tres versiones de Delphi 5? ¿Dónde se pueden ver y modificar las listas de propiedades y eventos? Ejercicio Mueva la paleta de componente para hacer espacio para agregar otro botón en cualquiera de las barra de acceso directo (toolbar). Haga clic con el botón de la derecha del Mouse y seleccione Customize. Para agregar un botón seleccione la pestaña Commands de la ventana Customize, seleccione View de la lista Categories; - para agregar un botón a uno de los toolbar simplemente arrástrelo desde la lista Commands y déjelo caer en el toolbar deseado - seleccione Project Manager arrástrelo y déjelo caer en el toolbar deseado. Proyectos, Unidades y Formularios Preguntas de Repaso ¿Cuales archivos contienen el código del formulario? ¿Dónde son almacenados los proyectos? Ejercicio 1 Cree una carpeta (directorio) para los proyectos del laboratorio 2 Cree un nuevo proyecto en Delphi seleccionando File | New Application del menu principal 3 Coloque un botón en el formulario 4 Grabe el proyecto seleccionando File | Save Project As. Delphi preguntará primero por el nombre de la unidad. Grabe el proyecto en la carpeta que usted creó. Página: 1

Upload: jorge104

Post on 28-Oct-2015

66 views

Category:

Documents


4 download

TRANSCRIPT

Universidad del Caribe

Laboratorio de Delphi

Ambiente de Trabajo

Preguntas de Repaso

¿Cuales son las tres versiones de Delphi 5?

¿Dónde se pueden ver y modificar las listas de propiedades y eventos?

Ejercicio

Mueva la paleta de componente para hacer espacio para agregar otro botón en cualquiera de las barra de acceso directo (toolbar). Haga clic con el botón de la derecha del Mouse y seleccione Customize. Para agregar un botón seleccione la pestaña Commands de la ventana Customize, seleccione View de la lista Categories; - para agregar un botón a uno de los toolbar simplemente arrástrelo desde la lista Commands y déjelo caer en el toolbar deseado - seleccione Project Manager arrástrelo y déjelo caer en el toolbar deseado.

Proyectos, Unidades y Formularios

Preguntas de Repaso

¿Cuales archivos contienen el código del formulario?

¿Dónde son almacenados los proyectos?

Ejercicio

1 Cree una carpeta (directorio) para los proyectos del laboratorio

2 Cree un nuevo proyecto en Delphi seleccionando File | New Application del menu principal

3 Coloque un botón en el formulario

4 Grabe el proyecto seleccionando File | Save Project As. Delphi preguntará primero por el nombre de la unidad. Grabe el proyecto en la carpeta que usted creó.

Página: 1

Universidad del Caribe

5 Grabe la unidad con el nombre PrimeraUnidad, luego, Delphi le preguntara por el nombre del proyecto. Grabe el proyecto con el nombre primero.

6 Ejecute el proyecto haciendo clic en el botón run

7 Utilizando el explorador de windows, mire los archivos que fueron creados en el directorio. Haga doble clic en el archivo ejecutable (EXE) y ejecute el proyecto desde el explorador.

8 Agregue un formulario nuevo al proyecto, para esto utilice la opcion File | New Form

del menú principal o haga clic sobre el botón .

9 Coloque un componente Button en el formulario nuevo y coloque el siguiente letrero “Segundo Formulario” en la propiedad Caption

10 Ejecute el proyecto haciendo clic en el botón Run o presione la tecla F9.

11 Aparece el primer formulario en la corrida. ¿Cómo poner a correr el segundo formulario?

12 Vuelva a tiempo de Diseño.

13 Seleccione la opción Project | Options del menu principal.

14 Cambie el formulario principal haciendo clic en la casilla Main Form, seleccione el segundo formulario, presione el botón OK. Ejecute el proyecto y verifique los resultados.

Diseñador de Formularios

Preguntas de Repaso

¿Porque se debe de utilizar una convención consistente de nombre para los componentes?

¿Cómo puede usted controlar la configuración de los grid en el formulario? (para mostrar los grid o alinear a los grid)

¿Cuáles son los cuatros tipos de propiedades?

¿Qué significa la ellipsis (...) próximo a una propiedad?

Página: 2

Universidad del Caribe

¿Cuál tipo de propiedad puede tener mas de un valor?

¿Cómo se le llama al procedimiento que puede ser ejecutado cuando usted hace clic en un botón (o cualquier otra acción)?

Ejercicio

Usted va a construir un formulario

1. Agregue estos componentes al formulario y cambie sus nombres

Un componente Edit (desde la pagina Standard); póngale de nombre edit_TextForLabel

Un componente GroupBoxt (desde la pagina Standard); póngale de nombre GroupBox_Time

Dos componentes buttons (desde la pagina Standard); póngale de nombre button_ResetGauge, button_Update

Dos componentes Label (desde la pagina Standard); póngale de nombre label_Time, label_TextFromEdit

Un componente gauge (desde la pagina Samples); póngale de nombre gauge_AmountDone

Un componente timer (desde la pagina System); póngale de nombre timer_AdjustGaugeProgress

2. Grabe el proyecto: grabe la unidad del formulario como UnidadDisenadorFormulario y grabe el proyecto como disenadorFormulario.

Página: 3

Universidad del Caribe

3. Cree los siguientes eventos:

Para programar los eventos siga los siguientes paso:

Seleccione el componente al cual le va a programar el evento (ya sea haciendo clic sobre el componente o buscándolo en el combobox del inspector de objetos)

Seleccione la página Events en el inspector de objeto Seleccione el evento deseado Haga doble clic en el combobox que se encuentra en la parte derecha del

componente(no presione el botón del combobox, haga doble clic sobre la sección en blanco del combobox)

Para el evento OnClick del button_ResetGauge:

Gauge_AmountDone.Progress := 0;

Para el evento OnClick del button_Update:

Label_TextFromEdit.Caption := edit_TextForLabel.Text;

Y para el evento OnTimer del timer_AdjustGaugeProgress:// Pone la hora actualLabel_Time.Caption := TimeToStr(Time);// si el gauge no ha alcanzado su valor maximo,le suma uno a la propiedad Progressif Gauge_AmountDone.Progress <= Gauge_AmountDone.MaxValue thenGauge_AmountDone.Progress := Gauge_AmountDone.Progress + 1;

4. Ejecute el proyecto y verifique que funciona

Ejemplo de los Componentes

Preguntas de Repaso

¿Cómo se ponen a trabajar juntos los componentes de la pagina manejador de archivos?

¿Cómo se relacionan los componentes Page y TabSheets?

¿Qué le ocurre al TabSheet si usted borra el control Page?

Ejercicio

1 Cree un nuevo proyecto en Delphi seleccionando File | New Application del menu principal

Página: 4

Universidad del Caribe

2 Grabe el proyecto: el nombre de la unidad UnitFormEjemploComp.pas, y el nombre del proyecto EjemplodeComponente.Dpr

Página: 5

Universidad del Caribe

3 Cree el formulario anterior agregando los siguientes componentes y cambiando los valores de las propiedades:

Panel (Página Estándar)Name = Panel_BarraAlign = alTopCaption = ‘’ (Borrar el contenido)

4 Coloque tres SpeedButtons en el panel

SpeedButton (página Additional)Name = Speedbutton_NoPresionadoGlyph = a cualquier figura

SpeedButton (página Additional)Name = Speedbutton_IzquierdaGlyph = Arrow1U.BMPGroupIndex = 1Down = True

SpeedButton (página Additional)Name = Speedbutton_DerechaGlyph = Arrow1D.BMPGroupIndex = 1

Página: 6

Universidad del Caribe

5 Coloque un status bar en el formulario:Statusbar (Página Win32)Agreguele dos paneles utilizando la propiedad PanelsIncremente el ancho del primer panel a 150Póngale el siguiente texto en el segundo panel ‘Botón Izquierdo Abajo’

Cree los siguientes eventos:

Para el evento OnMouseDown del Speedbutton_NoPresionado:

StatusBar1.Panels.Items[0].Text := ‘Yo no Estoy Presionado’;

Para el evento OnMouseUp del Speedbutton_ NoPresionado:

StatusBar1.Panels.Items[0].Text := ‘’;

Para el evento OnClick del Speedbutton_Izquierda:

StatusBar1.Panels.Items[1].Text := ‘Botón Izquierdo Abajo’;

Para el evento OnClick del Speedbutton_Derecha:

StatusBar1.Panels.Items[1].Text := ‘Botón Derecho Abajo’;

6 Ejecute la aplicación y verifique que todo lo anterior funcione.

Página: 7

Universidad del Caribe

1 Coloque un componente PageControl en el formularioPageControl (Página Win32)

Name = PageControl_PagesAlign = alClient

7 Haga clic con el botón de la derecha del mouse sobre el componente PageControl que usted colocó en el formulario y seleccione New Page del menu que aparece. Esto creará un nuevo TabSheet contenido en el componente pagecontrol:

TabSheetName = TabSheet _RegionesCaptions = Regiones

8 Coloque un componente radiogroup sobre el TabSheet_Regiones:

RadioGroup (Página Standard)Name = RadioGroup_ RegionesCaptions = RegionesAgregue los siguientes valores vía la propiedad del componente RadioGroup Items:

AFRICAAUSTRALIAEUROPAMEDIO ORIENTE

Columns = 2

9 Coloque un componente Edit sobre el TabSheet_Regiones:

Edit (Página Standard)Name = edit_NuevaRegionText = ‘’ (Borrar el contenido)

Coloque un componente Button sobre el TabSheet_Regiones:Button (Página Standard)

Name = button_AgregaRegionCaption = &Añadir Región

10 Para el evento OnClick del Button_AddRegion:

RadioGroup_Regiones.Items.Add(Edit_NuevaRegion.Text);

11 Ejecute la aplicación y verifique que todo lo anterior funcione.

Página: 8

Universidad del Caribe

12 Agregue una nueva pagina en el componente PageControl (haciendo clic con el botón de la derecha del mouse y seleccionando New Page del menú)

TabSheetName = TabSheet _DialogoCaptions = Caja de dialogo

13 Coloque los siguientes componentes en la pagina TabSheet_Dialogo: un componente FontDialog y ColorDialog (página Dialogs)

14 Coloque dos componentes Button sobre el TabSheet_Dialogo:

Button1Name = button_FuenteCaption = Cambiar Fuente

Button2Name = button_ColorCaption = Cambiar Color

15 Coloque un componente Label sobre el TabSheet_Dialogo:

LabelName = Label_MeVeoCaption = ¿Cómo me veo?

Página: 9

Universidad del Caribe

Para el evento OnClick del Button_Fuente:

FontDialog1.Execute;Label_MeVeo.Font := FontDialog1.Font;

Para el evento OnClick del Button_Color:

ColorDialog1.Execute;Label_MeVeo.Color := ColorDialog1.Color;

16 Ejecute la aplicación y verifique que todo lo anterior funcione.

17 Agregue una nueva pagina en el componente PageControl.TabSheet

Name = TabSheet _ArchivoCaptions = Manejador de archivos

18 Coloque los siguientes componentes como se muestra en la figura anterior:Edit (Página Standard)FileListBox (Página Win 3.1)FilterComboBox (Página Win 3.1)DirectoryListBox (Página Win 3.1)DriveComboBox (Página Win 3.1)

19 Cambie las siguientes propiedades

Página: 10

Universidad del Caribe

EditName = Edit_ArchivoText = ‘’ (Borrar contenido)

FileListBoxName = FileListBox _ArchivoFileEdit = Edit_ Archivo

FilterComboBox (Página System)Name = FileComboBox _ ArchivoFileList = FileListBox_ Archivo

DirectoryListBox (Página System)Name = DirectoryListBox _ ArchivoFileList = FileListBox_ Archivo

DriveComboBox (Página System)Name = DriveComboBox _ ArchivoDirList = DirectoryListBox_ Archivo

20 Ejecute la aplicación y verifique que todo lo anterior funcione.

21 Agregue una nueva pagina; póngale de nombre TabSheet_Calendario y en el caption ‘Calendario’.

22 Coloque los siguientes componentes en el TabSheet_Calendario:

Página: 11

Universidad del Caribe

Label (Página Standard)Calendar (Página Samples)4 button (Página Standard)

23 Cámbiele los valores a las siguientes propiedades

LabelName = Label_ Fecha

Button1Name = button_AnoAnteriorCaption = << Año

Button2Name = button_MesAnteriorCaption = << Mes

Button3Name = button_ProximoMesCaption = Mes >>

Button4Name = button_ProximoAnoCaption = Año >>

Para el evento OnClick del Button_AnoAnterior:

Calendar1.PrevYear;

Para el evento OnClick del Button_MesAnterior:

Calendar1.PrevMonth;

Para el evento OnClick del Button_ProximoMes:

Calendar1.NextMonth;

Para el evento OnClick del Button_ProximoAno:

Calendar1.NextYear;

Para el evento OnCreate del Formulario:

Label_Fecha.Caption := FormatDateTime(‘mmmm d, yyyy’, Calendar1.CalendarDate);

Página: 12

Universidad del Caribe

Para el evento OnChange del Calendar:

Label_Fecha.Caption := FormatDateTime(‘mmmm d, yyyy’, Calendar1.CalendarDate);

24 Ejecute la aplicación y verifique que todo lo anterior funcione.

Página: 13

Universidad del Caribe

Menús

Preguntas de Repaso

¿Cuál es el carácter utilizado para crear un Hotkey en una opción del menú?

¿Cuál es el carácter utilizado para crear una línea para separar las opciones del un menú?

¿Cuántos componentes Menús pueden estar asociados a un formulario?

¿Cómo se asocia un menú principal con un formulario?

¿Cómo se asocia un menú PopupMenu con otro componente?

Ejercicio

1 Altere el proyecto Primero

2 Agregue un componente PopupMenu al formulario

3 Agregue dos opciones al PopupMenu vía la propiedad Items:

&Iniciar GaugeS&top Gauge

4 Cámbiale los nombres

IniciarGauge1 = PopupMenu_IniciarGaugeDetenterGauge1 = PopupMenu_DetenerGauge

5 Conecte la propiedad PopupMenu del formulario con el PopupMenu1.

En el Evento OnClick para la Opción PopupMenu_IniciarGauge:

Timer_AdjustGaugeprogress.Enabled := True;

Página: 14

Universidad del Caribe

En el Evento OnClick para la Opción PopupMenu_DetenerGauge:

Timer_AdjustGaugeprogress.Enabled := False;

6 Ejecute la aplicación y verifique que el PopupMenu permitira iniciar y detener el Gauge.

Object Pascal

Preguntas de Repaso

¿Cuales son las tres formas para poner comentarios en el código?

¿Para que se utiliza el signo “$” dentro de un comentario?

¿Cuál es la estructura de control que se debería utilizar si se conoce de antemano la cantidad de veces que se debe repetir un ciclo?

¿Cuál es la diferencia entre un ciclo WHILE ... DO y REPEAT ... UNTIL?

¿Cuál es la diferencia entre las estructuras IF y CASE? ¿Qué tipos de variables pueden ser utilizadas con la instrucción CASE?

¿Cuál es la diferencia entre “:=” y “=”?

Ejercicio

1 Cree un nuevo proyecto con un formulario. En el formulario coloque tres componentes Edit y cuatros SpeedButtons, el formulario debe parecerse a la figura siguiente:

Página: 15

Universidad del Caribe

2 El usuario podrá introducir numero en los dos primeros Edit y seleccionar una operación, el resultado de la operación debe aparecer en el tercer edit.

3 Cree un nuevo directorio dentro de su directorio de trabajo y póngale de nombre Calculadora. Grabe la unidad del formulario como UnitFormCalculador y el proyecto como Calculadora.

4 A continuación el código para el manejador de evento del botón de sumar:

procedure TForm1.SpeedButton1Click(Sender: TObject);begin edit_resultado.Text := FloatToStr(calcular(StrToFloat(edit_numero1.Text), StrToFloat(edit_numero2.Text),'+');end;

5 Escriba el código de los otros botones (tomando como guía el código anterior)

Nota: La única diferencia estará en el operador que se le pasa a la función calcular

6 Cree una nueva unidad (seleccionando del menú principal File | New... y seleccionando Unit). Agregue la siguiente declaración en la sección Interfase de la unidad:

Function calcular(op1,op2: Double; Operador: Char): Double;

7 Grabe esta unidad como UnitFuncMatematica

8 Defina el cuerpo de la función en la sección Implementation de la unidad.

Nota: Debería consistir de una Instrucción CASE simple, por ejemplo:

Case operador of‘+’ : Result := op1 + op2;

Página: 16

Universidad del Caribe

9 agregue la unidad unitFuncMatematica a la cláusula uses de la unidad UnitFormCalculador, para que esta pueda encontrar la función.

10 Compile y corra la aplicación.

Estructura de programa y Alcance

Preguntas de Repaso

¿Cuál nombre de variable es reservado para todas las funciones?

¿Cuál es la diferencia entre una función y un procedimiento?

¿Cuál es la diferencia entre pasar variables por referencia y por valor?

Página: 17

Universidad del Caribe

Programación orientada a objeto en Delphi

Preguntas de Repaso

¿Qué implica un método Abstracto?

¿Cuál es la diferencia entre “C-style” y “as” typecasting? ¿Cuál es mas seguro?

¿Por qué puede ser almacenado un objeto Dog en un arreglo tipo Mamad?

Ejercicio

Este ejercicio esta diseñado para mostrarle como utilizar typecasting para simplificar las operaciones.

1 Abra el proyecto calculadora. Actualmente existen cuatro OnClick rutinas, una para cada botón.

2 Cambie el manejador de evento para los botones menos, multiplicación y división, asígnele a todos ellos el evento que esta definido para el botón sumar. Para hacer esto diríjase al inspector de objetos y seleccione el manejador de evento deseado de la lista que se encuentra al lado del evento.

3 Diríjase al editor de código y modifique el código del evento para utilizar el parámetro Sender para determinar cual botón fue presionado. Los cambios se verán como:

procedure TForm1.SpeedButton1Click(Sender: TObject);var op: char; s : string;begin s := (Sender as TSpeedButton).Caption; op:= s[1]; edit_resultado.Text := FloatToStr(calcular(StrToFloat(edit_numero1.Text), StrToFloat(edit_numero2.Text),op));end;

4 Note que Object Pascal es un lenguaje totalmente tipificado, lo cual presenta unos cuantos inconvenientes como se puede notar en el código anterior. La propiedad Caption es de tipo Tcaption, el cual es compatible en asignación con el tipo string pero no con el tipo char. Para resolver este problema, primero lo asignamos a una variable temporal tipo string, y entonces le asignamos a la variable tipo char el primer carácter del tipo string;

Página: 18

Universidad del Caribe

5 Ejecute el programa y verifique que funciona, luego puede borrar el código de los otros botones.

Uso del Debugger

Preguntas de Repaso

Utilizando el menú principal, encuentre donde esta ubicada la opción Debugger Options y escriba bajo que opción la encontró

Manejo de Excepciones

Preguntas de Repaso

¿Cuál es la diferencia entre try ... finally y try ... except?

¿Cómo afecta el parámetro Stop on Delphi Exceptions la forma del usuario ver las excepciones en el ambiente de delphi?

¿Cómo la cláusula On Exception difiere en la forma de atrapar una excepción específica?

Ejercicio

Observe que en el proyecto de la calculadora puede ocurrir un error si el usuario digita un valor alfanumérico. Vamos a utilizar las excepciones para manejar este error.

Página: 19

Universidad del Caribe

1 Primero asegúrese que el parámetro Stop on Delphi Exceptions este activado en la opción Tool | Debugger Optios... | Caja de dialogo Debugger Options | Pestaña Language Exceptions.

2 Ejecute la aplicación y digite un carácter invalido dentro de uno de los campos y presione cualquiera de los botones. Delphi interceptará la excepción y mostrará que tipo de error ocurrió. Para el caso, debería ser una excepción EconvertError. Presione el botón Run de nuevo; y usted vera como la aplicación reacciona si no estuviera corriendo en el ambiente de delphi.

3 Modifique el código del evento OnClick del botón para atrapar una excepción de tipo EconvertError. El código debe lucir como el siguiente:

procedure TForm1.SpeedButton1Click(Sender: TObject);var op: char; s : string;begin s := (Sender as TSpeedButton).Caption; op:= s[1]; try edit_resultado.Text := FloatToStr(calcular(StrToFloat(edit_numero1.Text), StrToFloat(edit_numero2.Text),op)); except on EConvertError do MessageDlg(' Valor Invalido!', mtError, [mbOK], 0); end;end;

4 Desactive el parámetro Stop on Delphi Exceptions en la opción Tool | Debugger Optios... | Caja de dialogo Debugger Options | Pestaña Language Exceptions. Luego corra la aplicación y verifique que la excepción esta siendo manejada.

Plantillas

Preguntas de Repaso

¿Cuál de las tres opciones es la mejor para mantener la consistencia entre los formularios?

¿Cuál es la diferencia entre la opción copy e inherit?

¿Dónde es almacenado el objeto cuando usted crea una nueva plantilla?

Página: 20

Universidad del Caribe

¿Cómo se rompe la conexión de herencia?

Ejercicio

1 Cree una nueva aplicación utilizando File | New Application...

2 Coloque un componente MainMenu en el formulario, y cree un menú con las siguientes opciones:

Mantenimiento | ClientesMantenimiento | FacturasMantenimiento | ArtículosMantenimiento | VendedoresMantenimiento | SalirAyuda | Acerca de...

3 Grabe el proyecto

4 Grabe la unidad como UnitFormMenu y el proyecto como PuntoVenta.

5 Añada un nuevo formulario al proyecto utilizando la opción File | New... | Forms seleccione About Box y seleccione la opción inherit.

6 Cambie el nombre en la propiedad Name a Form_Acerca. Grabe el nuevo formulario como UnitFormAcerca.

7 Vamos a añadir código para ejecutar el formulario Acerca de. En el evento OnClick de la opción Ayuda | Acerca de..., agregue el siguiente código:

Form_Acerca.ShowModal;

8 Asegurese de agregar la unidad UnitFormAcerca en la cláusula uses del la unidad UnitFormMenu, de lo contrario un error ocurrirá y delphi le preguntara si desea agregarla y lo hará automáticamente por usted.

9 Corra la aplicación y verifique que el formulario Acerca de funciona.

Programación por evento

Preguntas de Repaso

¿Qué tipo de componente no desearía para usar Arrastre automático?

Página: 21

Universidad del Caribe

Ejercicio

Añada un nuevo formulario al proyecto utilizando la opción File | New... | Forms seleccione Dual list box y seleccione la opción inherit.

En la propiedad Items del Source list, agregue los siguientes nombres de reportes:

Listado de ClientesListado de Facturas por ClientesListado de ArtículosListado de Suplidores

Escriba el siguiente manejador de evento para permitirle al usuario arrastrar Items de una lista a otra.

Asígnele el siguiente código al evento OnMouseDown de las dos listas:

procedure TDualListDlg1.SrcListMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin inherited; if (Sender is TControl) and (Button = mbLeft) then TControl(Sender).BeginDrag(False);end;

Asígnele el siguiente código al evento OnDragOver de las dos listas:

procedure TDualListDlg1.SrcListDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);begin inherited; Accept := True;end;

Asígnele el siguiente código al evento OnEndDrag de las dos listas:

procedure TDualListDlg1.SrcListEndDrag(Sender, Target: TObject; X, Y: Integer);begin inherited; if (Target is TListBox) and (Sender is TListBox) then begin Index := GetFirstSelection(TListBox(Sender)); MoveSelected(TListBox(Sender),TTListBox(Target).Items); SetItem(TListBox(Sender), Index); end;

Página: 22

Universidad del Caribe

end;

Ejecute este nuevo formulario desde la opción Reportes del menú. Con el siguiente codigo:

DualListDlg_Reportes.ShowModal;

Ejecute la aplicación y verifique que usted puede mover Items de una lista a otra ya sea arrastrándolos o utilizando los botones.

Vistazo al Borland Database Engine (Motor de base de datos de Borland)

Preguntas de Repaso

¿Cuál es el nombre del utilitario que sirve para configurar el BDE?

Ejercicio

Cree un Alias para los ejemplos de base de datos

1 Cargue el BDE Administrator (se encuentra en el grupo de programas de Delphi 5)

2 Seleccione New desde el Menú

3 Seleccione el tipo de base de datos para el cual se va a crear el Alias. (Standard)

4 Nombre el nuevo alias “EjemploDB”.

5 Escriba en el campo Path del nuevo alias el directorio donde los archivos de datos se encontraran (Directorio que usted creo).

Database Desktop

Preguntas de Repaso

¿Por qué hay que utilizar un Alias?

Ejercicio

Página: 23

Universidad del Caribe

Creación de aplicaciones con Base de Datos

Preguntas de Repaso

¿Cuáles son los tres tipos de componentes que se utilizan para conectar una base de datos con un formulario?

Ejercicio

1 Agregue un nuevo formulario a la aplicación (PuntoVenta). Cámbiele el nombre del formulario a Form_Cliente. Coloque un componente Table y un componente DataSource en el formulario. Cámbiele los valores de las siguientes propiedades:

TableDataBaseName = EjemploDBTableName = Clientes.DBFName = table_cliente

DataSourceDataset = table_cliente

2 Agregue un componente DBGrid al formulario y la propiedad Datasource conéctela con el componente Datasource1. cambie a True el valor de la propiedad Active del componente table (table_cliente) y usted deberia ver los datos en el grid.

3 Mande a ejecutar este formulario desde la opción cliente del menú utilizando el siguiente código:

Form_cliente.Show;

4 Ejecute la aplicación para verificar que trabaja correctamente.

5 Coloque un componente Panel en la parte superior del componente y en la propiedad Align del panel póngale el valor alTop. También agregue un componente PageControl en el formulario, creele un nuevo tabsheet al PageControl y coloque el grid en el tabsheet – utilice para esto Cut y Paste – en la propiedad Caption del TabSheet póngale “Browse”. Agregue otro TabSheet y en la propiedad Caption del TabSheet póngale “Registros”, agregue los controles DBEdit y Label para los siguientes campos:

Página: 24

Universidad del Caribe

6 Agregue un DBNavigator al panel, y en la propiedad DataSource conéctelo con el datasource de la tabla cliente. También agregue un componente label y un componente DBText en el panel, colóquelo al lado del DBNavigator, estos componentes serán utilizados para mostrar el código del cliente. El formulario debería lucir como sigue:

7 Ejecute la aplicación y verifique que todos los componentes funcionan correctamente.

Avanzado

Agregue otro TabSheet en el PageControl y coloque un grid alineado a toda el área del Tabsheet. Agregue un componente Table y un componente DataSource que hagan referencia a la tabla Factura. Utilice las propiedades MasterSource y MasterField del componente Table que esta conectado con la tabla de Factura, para mostrar las facturas del cliente seleccionado. Active esta tabla y verifique que trabaja correctamente.

Página: 25