Practica 4 - Delphi

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Practica 4 - Delphi as PDF for free.

More details

  • Words: 1,291
  • Pages: 7
I.S.T. “F.P.G.V.” Computación e Informática

Programación Distribuida y Concurrente

GUÍA DE LABORATORIO N° 04 OBJETIVOS:  Creación y uso de Array Bidimensionales.  Creación y uso de procedimientos con parámetros.  Uso de variables de memoria con diferentes alcances.  Creación de un Formulario de Inicio de Sesión. 1.1

CONSIDERACIONES INICIALES Debe abrir su proyecto anterior y deberá agregar los formularios para las aplicaciones siguientes:

1.2

CREACIÓN DE LA UNIDAD DE CÓDIGO DELPHI “MÓDULO” FORMULARIO (ArrayRegistro.pas) a) En el formulario inserte los controles necesarios y establezca las propiedades necesarias para obtener la siguiente apariencia:

b) Ahora procedemos a establecer la Propiedades a los objetos según la gráfica anterior, para luego establecer propiedad (NAME) tal como se indica a continuación:     

Para el formulario deberá establecer como NAME: frmArrayRegistro Para los TextBox y ComboBox establecer el NAME según se observa en la figura. Para los RadioButton establesca los nombres rbtMasculino y rbtFemenino respectivamente. Para los botones de Desplazamiento su NAME será: BtnPrimero, BtnAnterior, BtnSiguiente, BtnUltimo. Para los botones de Operaciones su NAME será: BtnNuevo, BtnGuardar, BtnEditar, BtnCancelar, BtnBuscar, BtnEliminar, BtnListar y BtnSalir.

Docente: Lic. José Luis Ponce Segura

www.vigilvirtual.com

Prac04 (1 de 7)

I.S.T. “F.P.G.V.” Computación e Informática

Programación Distribuida y Concurrente

c) Ahora proceda a escribir el código correspondiente a los objetos necesarios: Declare las variables y/o procedimientos en la sección PRIVATE tal como se observa a continuación: { Private declarations } listar:boolean; alumnos:Array[1..10,1..9] of string; i, t, pos:Byte; sexo:String; procedure mostrardatos; procedure limpiar; procedure HabilitaBotones(sw:Boolean); procedure habilitacontroles(estado:Boolean); Objeto: TfrmArrayRegistro Evento: OnCreate procedure TfrmArrayRegistro.FormCreate(Sender: TObject); begin // Agregando items al combobox cboEspecialidad cboEspecialidad.Items.Add('Computación e Informática'); cboEspecialidad.Items.Add('Secretariado Ejecutivo'); cboEspecialidad.Items.Add('Contabilidad'); cboEspecialidad.Items.Add('Electricidad'); cboEspecialidad.Items.Add('Electrónica'); cboEspecialidad.Items.Add('Construcción Civil'); updown1.min := 1; updown1.max := 6; edciclo.ReadOnly := True; HabilitaControles(False); HabilitaBotones(True); // Estableciendo el nro. de columnas y filas de la grilla stringgrid1.ColCount:=9; stringgrid1.RowCount:=10; // Fijando la primera columna y fila para uso de encabezados stringgrid1.FixedCols:=1; stringgrid1.FixedRows:=1; //Encabezados para las columnas //grilla.Celda[Columna,fila]:=ValorTipoCadena //Nótese que la Col y Fil empiezan desde cero stringgrid1.cells[1,0]:='Codigo'; stringgrid1.cells[2,0]:='Apellidos'; stringgrid1.cells[3,0]:='Nombres'; stringgrid1.cells[4,0]:='Dirección'; stringgrid1.cells[5,0]:='Sexo'; stringgrid1.cells[6,0]:='Teléfono'; stringgrid1.cells[7,0]:='Especialidad'; stringgrid1.cells[8,0]:='Ciclo'; stringgrid1.cells[9,0]:='e-mail'; i:=1; listar:=false; end; Objeto: edApellidos Evento: onKeyPress procedure TfrmArrayRegistro.edApellidosKeyPress(Sender: TObject; var Key: Char); begin If key=#13 Then begin edNombres.setfocus; end; end; Objeto: edApellidos Evento: onExit procedure TfrmArrayRegistro.edApellidosExit(Sender: TObject); begin edApellidos.Text :=uppercase(edApellidos.Text); end; Docente: Lic. José Luis Ponce Segura

www.vigilvirtual.com

Prac04 (2 de 7)

I.S.T. “F.P.G.V.” Computación e Informática

Programación Distribuida y Concurrente

Objeto: rbtMasculino Evento: Onclick procedure TfrmArrayRegistro.rbtMasculinoClick(Sender: TObject); begin if TRadioButton(sender).name='rbtMasculino' then begin sexo:='masculino'; end; if TRadioButton(sender).name='rbtFemenino' then begin sexo:='femenino'; end; end; Procedimiento creado por el Usuario: Limpiar procedure TfrmArrayRegistro.limpiar; var nro:byte; begin for nro:=0 to frmArrayRegistro.ControlCount-1 do begin // Para limpiar las Cajas if (frmArrayRegistro.controls[nro] is TEdit) then begin TEdit(frmArrayRegistro.controls[nro]).clear; end; // Para limpiar los radiobutton if (frmArrayRegistro.controls[nro] is TRadioButton) then begin TRadioButton(frmArrayRegistro.controls[nro]).checked:=false; end; // Para limpiar el comobobox if (frmArrayRegistro.controls[nro] is TComboBox) then begin TComboBox(frmArrayRegistro.controls[nro]).itemindex:=-1; end; end; // fin del for end; Procedimiento creado por el Usuario: Habilitacontroles procedure TfrmArrayRegistro.Habilitacontroles(estado:Boolean); var nro:byte; begin for nro:=0 to frmArrayRegistro.ControlCount-1 do begin if (frmArrayRegistro.controls[nro] is TEdit) or (frmArrayRegistro.controls[nro] is TRadioButton) or (frmArrayRegistro.controls[nro] is TComboBox) then begin TEdit(frmArrayRegistro.controls[nro]).enabled:=estado; end; end; end; Procedimiento creado por el Usuario: HabilitaBotones procedure TfrmArrayRegistro.HabilitaBotones(sw:Boolean); begin BtnNuevo.Enabled := sw; BtnGuardar.Enabled := Not sw; BtnEditar.Enabled := sw; btnCancelar.Enabled := Not sw; btnEliminar.Enabled := sw; btnListar.Enabled:=sw; btnBuscar.Enabled := sw; BtnSalir.Enabled := sw; end; Docente: Lic. José Luis Ponce Segura

www.vigilvirtual.com

Prac04 (3 de 7)

I.S.T. “F.P.G.V.” Computación e Informática

Programación Distribuida y Concurrente

Procedimiento creado por el Usuario: mostrardatos procedure TfrmArrayRegistro.mostrardatos; begin edCodigo.Text := alumnos[pos, 1]; edApellidos.Text := alumnos[pos, 2]; edNombres.Text := alumnos[pos, 3]; edDireccion.Text := alumnos[pos, 4]; If alumnos[pos, 5] = 'masculino' Then begin RbtMasculino.Checked := True; end else begin RbtFemenino.Checked := True; end; edTelefono.Text := alumnos[pos, 6]; cboespecialidad.itemindex:= strtoint(alumnos[pos, 7]); edciclo.text:= alumnos[pos, 8]; edEmail.Text := alumnos[pos, 9]; end; Objeto: btnNuevo Evento: OnClick procedure TfrmArrayRegistro.btnNuevoClick(Sender: TObject); begin If i = 10 Then begin showmessage('ya no se puede agregar mas alumnos...'); btnPrimeroClick(sender); end else begin limpiar; edCodigo.Text :=Formatcurr('00000',i); // dar formato HabilitaControles(True); HabilitaBotones(False); end; end; Objeto: btnGuardar Evento: OnClick procedure TfrmArrayRegistro.btnGuardarClick(Sender: TObject); begin If (edApellidos.Text ='') Or (edNombres.Text = '') Then begin showmessage('debe ingresar nombres y apellidos'); Exit; end; alumnos[i, 1] := edCodigo.Text; alumnos[i, 2] := edApellidos.Text; alumnos[i, 3] := edNombres.Text; alumnos[i, 4] := edDireccion.Text; alumnos[i, 5] := sexo; alumnos[i, 6] := edTelefono.Text; alumnos[i, 7] := inttostr(cboespecialidad.itemindex); alumnos[i, 8] := edciclo.text; alumnos[i, 9] := edEmail.Text; t := i; i:=i+ 1; btnPrimeroClick(sender); HabilitaControles(False); HabilitaBotones(True); end;

Docente: Lic. José Luis Ponce Segura

www.vigilvirtual.com

Prac04 (4 de 7)

I.S.T. “F.P.G.V.” Computación e Informática

Programación Distribuida y Concurrente

Objeto: btnCancelar Evento: Onclick procedure TfrmArrayRegistro.btnCancelarClick(Sender: TObject); begin btnPrimeroClick(sender); HabilitaControles(False); HabilitaBotones(True); btnPrimeroClick(sender); end; Objeto: btnBuscar Evento: OnClick procedure TfrmArrayRegistro.btnBuscarClick(Sender: TObject); var codi:string; x:integer; begin codi := InputBox('Ingrese código del alumno a buscar','Buscar','valor'); For x := 1 To i - 1 do begin If codi= alumnos[x, 1] Then begin pos := x; mostrardatos; exit; end; end; ShowMessage('Código no existe'); end; Objeto: btnListar Evento: Onclick procedure TfrmArrayRegistro.btnListarClick(Sender: TObject); begin if listar=false then begin btnlistar.caption:='Ocultar'; frmArrayRegistro.Height:=frmArrayRegistro.Height+ stringgrid1.Height +10; listar:=true; end else begin btnlistar.caption:='Listar'; frmArrayRegistro.Height:=frmArrayRegistro.Height- stringgrid1.Height -10; listar:=false; end; end; Objeto: btnPrimero Evento: OnClick procedure TfrmArrayRegistro.btnPrimeroClick(Sender: TObject); begin pos := 1; mostrardatos; end; Objeto: btnAnterior Evento: OnClick procedure TfrmArrayRegistro.btnAnteriorClick(Sender: TObject); begin If pos > 1 Then begin pos := pos - 1; mostrardatos; end; end;

Docente: Lic. José Luis Ponce Segura

www.vigilvirtual.com

Prac04 (5 de 7)

I.S.T. “F.P.G.V.” Computación e Informática

Programación Distribuida y Concurrente

Objeto: btnSiguiente Evento: OnClick procedure TfrmArrayRegistro.btnSiguienteClick(Sender: TObject); begin If pos < t Then begin pos := pos + 1; mostrardatos; end; end; Objeto: btnUltimo Evento: OnClick procedure TfrmArrayRegistro.btnUltimoClick(Sender: TObject); begin pos := t; mostrardatos; end;

1.3

CREACIÓN DE LA UNIDAD DE CÓDIGO DELPHI “MÓDULO” (InicioSesion.pas) a) En el formulario inserte los controles necesarios y establezca las propiedades necesarias para obtener la siguiente apariencia:

b) Ahora procedemos a establecer la Propiedad (Name) a los siguientes objetos: Objeto Propiedad Valor Asignado Form1 Name frmInicioSesion Edit1 Name edUsuario Edit2 Name edPassword Button1 Name BtnAceptar Button2 Name BtnCancelar NOTA: establezca las demás propiedades que usted crea conveniente.

Docente: Lic. José Luis Ponce Segura

www.vigilvirtual.com

Prac04 (6 de 7)

I.S.T. “F.P.G.V.” Computación e Informática

Programación Distribuida y Concurrente

c) Ahora proceda a escribir el código correspondiente: Declare la variable nveces en la sección PRIVATE { Private declarations } nveces:Integer; Ahora deberá hacer referencia al módulo “Unidad de Código” (NO formulario) que se mostrará , esto va después de IMPLEMENTATION // implementation uses ArrayRegistro;

// Sólo debe agregar ésta línea

// {$R *.dfm} Objeto: btnAceptar Evento: OnClick procedure TfrmInicioSesion.btnAceptarClick(Sender: TObject); begin // Nótese que la contraseña es JOSELO con mayúsculas if upperCase(edpassword.text)='JOSELO' then Begin frmArrayregistro.show; // Luego deberá mostrar el Form PrmPrincipal "Menú" frmInicioSesion.hide; end else Begin ShowMessage('Intento Nro. ' + inttostr(nveces+1) + ', Acceso Denegado, Usuario: ' + edUsuario.Text); nveces:=nveces + 1; If nveces >= 3 Then Begin ShowMessage('Lo siento, tuvo sus 3 oportunidades... para otra vez será'); Close; end; End; end;

TAREA ENCARGADA: ….. / …../ ………..   

 

Implemente Usted los procedimientos para Editar, Eliminar, etc. del formulario FrmArrayRegistro. Implemente el ó los procedimientos para que se muestren los datos en la grilla “StringGrid” del Formulario FrmArrayRegistro. Investigue acerca de cómo validar los datos de entrada para ser implementados en el formulario FrmArrayRegistro:  No debe permitir dejar vació ningún atributo del alumno antes de guardar.  Sólo se deberá ingresar número o letras donde corresponda. Ejemplo: en Apellidos no debe permitir el ingreso de números. Deberá hacer los cambios necesarios para que el Formulario de inicio de sesión valide usuario y password antes de ingresar al sistema. Diseñe Usted un formulario de presentación para su Aplicación, éste deberá tener animación y/o algunos otros cambios que usted considere convenientes, deberá guardarlo como: Presentacion.pas, éste deberá mostrarse unos segundos después del Formulario FrmInicioSesion, para luego mostrar el Menú Principal.

Docente: Lic. José Luis Ponce Segura

www.vigilvirtual.com

Prac04 (7 de 7)

Related Documents

Practica 4 - Delphi
June 2020 0
Practica 5 - Delphi
June 2020 2
Practica 6 - Delphi
June 2020 3
Practica 7 - Delphi
June 2020 3
Delphi
December 2019 57
Delphi Ders (4)
October 2019 36