Curso de C++ Builder


Construcción de una aplicación con componentes de edición



  1. Crear y configurar el proyecto.
  2. Para más información, pinchar el siguiente enlace:

    En primer lugar, crear el directorio Edicion y, si procede, una nueva aplicación ( File | New Applicaction).

    1. Cambiar el nombre y título del formulario principal:
      Con el inspector de objetos, cambiar la propiedad Caption por Controles de edición y la propiedad Name por MainForm.

    2. Guardar (File | Save As) la unidad asociada al formulario (Unit1.cpp, por defecto) como FuncsEdicion.cpp. Observar que Unit1.h ha cambiado automáticamente a FuncsEdicion.h

    3. Guardar (File | Save Project As) el proyecto (Project1.bpr, por defecto) como Edicion.bpr.

    4. Dar un nombre a la aplicación y fijar un icono (Project | Options | Application).
      Dar como título: Controles de Edición y seleccionar un icono.

    Ahora podemos construir el ejecutable y probarlo: seleccionar Project | Build Edicion y a continuación, Run | Run.

     

  3. Configurar el formulario principal.
  4.  

    El formulario principal debe tener el siguiente aspecto:

     

    Contiene 8 componentes: tres Label (solapa Standard), tres Edit (solapa Standard), y dos botones BitBtn (solapa Additional).

    Utilizando el inspector de objetos, cambiar las propiedades de estas componentes prestando especial cuidado al nombre (Name) de forma que los nombres queden como se indica en la figura:

     

  5. Configurar el formulario secundario.
  6. Añadir un nuevo formulario al proyecto: seleccionar File | New Form y fijar Name =SaludoBox y Caption= Cuadro de salutación. Este formulario tiene un único componente Label llamada Label. El aspecto del formulario será el siguiente:

    Guardar el formulario (con los ficheros asociados). Seleccionar File | Save all y guardar Unit1.cpp como Saludo.cpp (observar que Unit1.h cambia a Saludo.h).

     

  7. Escribir el código.
  8. En este caso, sólo se escribirá código para el evento OnClick del componente BotonOK del formulario principal. Seleccionar en el inspector de objetos dicho componente, la pestaña Events y hacer doble click el gestor del evento OnClick. El gestor de este evento quedará como sigue:

    //-----------------------------------------------------------

    void __fastcall TMainForm::BotonOKClick(TObject *Sender) { if (EditNombre->Text == "" || EditApellido1->Text == "" || EditApellido2->Text == "" ) { Application->MessageBox ( "Debe especificar todos los campos", "Error en la entrada de datos", MB_OK); } else { SaludoBox->Label->Caption = "Bienvenido, " + EditNombre->Text + " " + EditApellido1->Text + " " + EditApellido2->Text; SaludoBox->Show(); EditNombre->Text = ""; EditApellido1->Text = ""; EditApellido2->Text = ""; EditNombre->SetFocus(); } } //-----------------------------------------------------------

     

  9. Generar el ejecutable.
  10. Ahora podemos construir el ejecutable y probarlo: seleccionar Project | Build Edicion y a continuación, Run | Run.

    Observar que se produce un error de compilación - muy habitual, todo hay que decirlo - ya que no se puede encontrar la definición de SaludoBox, objeto que es usado en FuncsEdicion.cpp. De hecho, si miramos FuncsEdicion.cpp observaremos que este fichero no incluye a Saludo.h. Estando activo en el editor de código FuncsEdicion.cpp, seleccionar File | Include Unit Hdr y seleccionar Saludo. Observar que se añade la línea #include "Saludo.h".

    Volver a generar el ejecutable y ejecutar el programa.

    Como ejemplo de ejecución, si el usuario introduce los siguientes datos en las líneas de edición:

    Al pulsar el botón de confirmación, se produce el siguiente resultado:

     

     

  11. Ejercicios adicionales.
  12.  

    1. Resulta poco profesional que la única posibilidad de cerrar un formulario sea pinchar sobre el botón del aspa situado en el marco de una ventana. Añadir al formulario secundario un botón para cerrarlo.
       
    2. Modificar el código asociado al método BotonOKClick de manera que la ventana de saludo se ejecute modalmente.

     



    Atrás