Sei sulla pagina 1di 14

1

Curso rápido para aprender Delphi en el menos tiempo


posible y con una buena calidad para realizar tus
programas.
1 - Fase de diseño - código
Terminada la fase de diseño pasamos a la fase de diseño - código. El primer paso no
pertenece a la fase de ejecución pero lo puse aquí para mostrarles lo que íbamos a hacer
desde el principio del trabajo.
1 – Como puede apreciar si corre el programa se vera algo espantoso toso los componentes
escritos, remediemos esto. Marque el edit y vaya a su propiedad text y quite el valor que
tiene, haga lo mismo con el label en su propiedad caption excepto al uno que tiene que
darle el valor que identifique para que se utiliza; a los botones también cambiémosle el
texto(para embellecer) y por acuerdo al uno vamos a ponerle en su propiedad caption
‘asigna’(no va entre comillas pero lo pongo para que se acostumbren que si programan
cambiarle el nombre desde el código si tienes que ponerlo entre comillas) y al dos ‘limpia’.
Recordar que el botón para limpiar debe estar inicialmente inactivo, así que tenemos que
marcar el boton2 e ir a su propiedad enabled y ponerle el valor false. Ahora hay algo nuevo
y es el memo ¿Cómo quitarle el texto que tiene? Pues muy sencillo, vaya a su propiedad
lines y presione en su valor un botón con puntos que tiene a la derecha o haga doble click
sobre la columna de valores y visualizará una ventana que dice en su parte superior String
List editor (editor de lista), en dicha ventana fíjese que sobre el cuadro de texto dice 1line
que quiere decir que el memo tiene una línea, borre todo lo que tiene escrito y vera que
pone 0lines o sea el memo no tiene líneas. Corra ahora y verá que ahora se ve mucho mas
bonito. Luego marque este memo y vaya a su propiedad visible y póngale el valor
falso(false) para que inicialmente no se vea.
2 – Ya ahora si pasaremos a la fase de ejecución. Lo primero que tenemos que hacer es ver
cuantos eventos vamos a realizar. Como ves son dos, uno para cada botón. Fíjese que los
eventos son diferentes, al boton1 es cuando se mueva el mouse por encima de él y el dos
cuando le hagas click encima.
2 – Pasemos ahora a los eventos:
3.1 – El primer evento es cuando movamos el mouse sobre el botón de agregar. (vea ej4).
¿Qué hacemos para lograr este evento? Marquemos el boton1 que es el de agregar y
vayamos a sus eventos. Seleccionemos el evento OnMouseMove y demos doble click en la
parte blanca a la derecha y automáticamente visualizará la unit que dirá lo siguiente:

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState;


X, Y: Integer);
begin

end;
Recuerde que es lo que dice este procedimiento y donde se debe escribir el código. Ahora
viene la parte en que debemos preguntarnos que queremos que suceda cuando el mouse se
mueva sobre el boton1. Si lee el enunciado del ejercicio veremos que debe agregar el texto
que aparecerá en el edit al memo, debe hacerlo visible y además como ha sido agregado un
elemento al memo debemos habilitar el botón de limpiar. Entonces el código quedaría:
2

Memo1.visible := true; //para que se visiulice el memo


memo1.Lines.add(edit1.text); //agrega del edit al memo
button2.Enabled := true; //habilita el boton de limpiar

Nota : Las dos barras indican que lo que escribas después de ellas la maquina no lo
tendrá en cuenta o sea es solo para guiarte y saber lo que estas haciendo.
Corra el programa y pase rápido el mouse sobre el botón agregar y vera que ya realiza la
tarea. Pero hay algo trabajoso y es que cada vez que desees entrar un nuevo dato tienes que
marcar con el mouse el edit y borrar lo que tiene escrito. La forma de solucionar este
problema ya la vimos anteriormente y es agregando estas dos líneas en el mismo
procedimiento o sea entre el mismo begin - end:
edit1.Clear; //para limpiar el edit
edit1.setfocus; //para poner el foco en el edit1
Ahora corra el programa y verá que bien realizado esta este evento.
Nota: Pruebe a quitar la línea de añadir textos al memo y tratar de asignárselos por
otra propiedad de modificar textos del memo (text) de la siguiente forma:
Memo1.text := edit1.text //para asignarle el texto del edit1 al memo
Córralo y verá que al pasar el mouse asignará al memo lo que esta escrito en el edit1
pero cuando entre otro valor al edit1 y pase sobre el boton1 vera que borrara el valor
anterior del memo y pondrá este último.

3.2 – El segundo evento que tenemos es cuando le demos un click al botón limpiar. Lo que
deseamos que suceda cuando le demos click al botón es que todo lo que esta escrito en el
memo sea borrado. Para ello pongamos esta linea.
Memo1.clear; //para borrar todo lo escrito en el memo
Tambien debemos poner en el label2 un mensaje que indique que la tarea ha sido
realizada, para esto pongamos la siguiente linea:
Label2.caption := ‘LOS ELEMENTOS HAN SIDO BORRADOS’
También en lugar de la línea para limpiar el memo podías haber puesto:
Observe que cuando limpia el cursor no se pone en el edit1 lo cual seria mas cómodo para
Memo 1.text := ‘’; // le asigno el valor ‘’o sea nada al memo para que se borre
. todo lo que tiene escrito
el usuario al que vaya dedicado este programa. Pongámoslo entonces agregando la
siguiente línea:

Edit1.setfocus; //pone el foco en el edit1


3

Si relee el ejercicio verá que el texto debe ser borrado al volver a entrar otro elemento o
sea cuando el mouse se mueva sobre el boton1, asi que al evento anterior tenemos que
añadirle:
Ahora corra el programa y verá el fruto de su estudio.

Label2.caption := ’’; //le asigna cadena vacia al label2 o sea lo borra

2.2.5- TMainMenu. (no visual)

Este componente permite la creación de un menú que aparecerá en la barra del menú de la
ventana.

Items – Permite crear la lista de opciones del menú. Coloca uno de estos componentes en el
formulario y vez a su propiedad items y haz click sobre la elipsis(---). Aparecerá un
segundo panel, el de edición y diseño del menú (Observa que este panel de diseño aparece
también si das doble click en sobre el componente).

<<Caption – Esta propiedad aparece al comenzar a crear la lista de opciones. Esta


propiedad permite poner los nombres a las opciones. Para escribir las opciones del menú
tienes que pararte sobre la opción que está en azul e ir a su propiedad caption y ponerle el
nombre de la opción.

<<Enabled - Esta propiedad también aparece al comenzar a crear la lista de opciones.


Permite habilitar o inhabilitarla la opción que desees.

<<Visible - Esta propiedad también aparece al comenzar a crear la lista de opciones.


Permite visualizar o no visualizar la opción que desees.

Observa también como se pueden mover los apartados creados, arrastrándoles con el ratón.
Si deseas crear submenús debes pararte sobre la opción a la que deseas crear el submenú y
oprimir click derecho y se mostrará una lista de opciones, de ellas debes escoger la opción
create submenu(ctrl + right). Fíjese en la combinación de teclas que realizan esta misma
operación.
4

fig2.13

2.2.6- TPopupMenu. (no visual)

Este componente es un menú contextual o emergente, es un complemento del anterior.


Ofrece un menú que aparece al pulsar el botón derecho del ratón sobre el control al cual se
ha asignado este menú. Con el se puede crear un menu igual al que se visualiza al dar click
derecho sobre algunas ventanas de windows, por ejemplo hazlo ahora y verás uno.

Items: Permite crear la lista de opciones que aparecerá en el popupmenu


Tanto una ventana como cualquier componente visual, tienen una propiedad "PopupMenu".
Si existe un menú emergente, en la misma ventana, éste aparece en el ComboBox de
selección, y se le puede asignar al control. Observa que pueden haber tantos menús
emergentes como queramos, cada uno asignado a distintos controles. O el mismo a varios
controles.

Caption: Ver

Enabled: Ver

Visible: Ver

Este popupmenu permite imitar los menús que se visualizan en la mayoría de las ventanas
de window al dar click derecho sobre ellas(por ejemplo esta misma).
Veamos ahora un ejemplo.
1- Cree un popupmenu.
2- Coloque un componente en el formulario, ve a su propiedad popupmenu y despliega la
lista que aparece en su valor y escoja popupmenu1(si hubiese mas de uno le mostraría
5

los que hubiese y debías escoger el que tu quisieras que visualizara al dar click derecho
sobre este objeto).
3- Corre el programa y has click derecho sobre el componente que le asignaste el menú
contextual y verá el resultado de su estudio.

• Ejercicio con el Tmainmenu y el Tpopupmenu.

 De este ejercicio queremos.


1- Colocar un menú que tenga las siguientes opciones(color – rojo, azul, verde).
2- Colocar también un popupmenu con las siguientes opciones(amarillo, negro).
3- Que cada opción le dé al formulario el color correspondiente a su nombre.
4- <<Que los colores rojo y azul estén invisible hasta que le des click a un botón.
5- <<Que el color amarillo en el popupmenu esté inhabilitado hasta que le des click a otro
botón.

 Solucion por fases.


• Fase de diseño.
1- Tomamos un MainMenu y un popupmenu de la paleta standar y lo colocamos en el
formulario.
2- Marque el MainMenu y vaya a su propiedad items y damos click sobre la ellipsis y
visualizaremos la ventana que nos permite asignarle artículos al menú (recuerde que
esta tarea la podía haber realizado dando doble click sobre el MainMenu). Observe que
en esta ventana aparece un cudrito en azul, lo marcas y vas a su propiedad caption y
pones color, luego oprimes enter. Al oprimir enter se visualizará debajo de este
cuadrito otro mas, Te paras sobre él y vas a la propiedad caption y pones rojo. Esta
misma tarea la realizas para continuar con el color azul y verde.
3- Para poner las opciones al popupmenu haces lo mismo que para el MainMenu.

• Fase de diseño - ejecución.


1- Deseamos que al seleccionar cada opción de color en el mainmenu nos coloree el
formulario en dependencia de su nombre. Para esto ya creado este menú lo desplegamos
en el formulario y damos click sobre la opción rojo(hay otras formas de acceder a este
evento, pero lo dejo a ustedes). Al hacer esta operación se mostrará el editor de código
de fuente con su respectivo procedimiento correspondiente a cuando le des un click a
rojo1. En él escribimos el siguiente código.

procedure TForm1.rojo1Click(Sender: TObject);


begin
form1.color:= clred;//para dar color rojo al formulario
end;
Ahora oprima en el menú la opción rojo y verá pintado el formulario de este color.
2- Para que al oprimir la opción azul y verde muestren sus respectivos colores debe hacer
la misma operación dar click sobre cada uno de ellos y escribir en cada uno de ellos:
6

Form1.color:=clblue;//para dar color azul al formulario

Form1.color:=clgreen;//para dar color verde al


Corra ahora el programa y verá como pinta el formulario de sus respectivos colores.
3- Al correr el programa se dio cuenta que al dclick derecho sobre el formulario este no le
mostró el popupmenu, esto es debido a que no esta declarado el lugar donde quieres
que se vea. Si queremos por ejemplo que se vea en el formulario, van al formulario y en
su propiedad popupmenu le damos el valor popupmenu1 y así si se visualizará al
oprimir el click derecho sobre el formulario. Para programar cuando seleccionemos una
opción en el popupmenu tenemos que pararnos sobre el objeto popupmenu y dar doble

Form1.color:=clyellow;//para dar color amarillo al formulario.


click sobre él o ir a su propiedad items y oprimir la elipsis. Ya en la ventana de artículos
seleccionas el primero que es el amarillo y vas a su evento onclick en el inspector de
objetos y das doble click en su columna derecha que esta en blanco. Al realizar esta
operación aparecerá la unit con el procedimiento correspondiente a cuando le demos un
click a verde. En el programamos.
De la misma manera para el negro y programamos:
Form1.color:=clblack;//para dar color negro al formulario.

4- Ya tenemos creado todo para dar los colores al formulario. >>Ahora vamos a hacer que
inicialmente los colores rojo y azul y estén invisibles. Para esto marque el mainmenu y
vaya a su propiedad items y damos click en la elipsis(podíamos haber dado doble click
sobre el mainmenu). Al realizar esta operación se visulizara nuevamente la ventana
para agregar opciones. En ella seleccione la opción rojo, va a su propiedad visible y le
da el valor false, o sea que no se vea al iniciar el programa. Corra ahora el programa y
verá que solo se ve en el menú color la opción verde.
5- Queríamos que estas dos opciones se hicieran visibles al dar click sobre un boton. Para
esto coloquemos un boton en el formulario. Marquemoslo y vayamos a su evento
onclick, en él progarmemos:

Rojo1.visible := true;//para visualizar la opcion rojo


Azul1.visible := true;//para visualizar la opcion azul
Corra el programa vea el menú, luego oprima el botón y vuelva a ver el menú y verá el
cambio.
6- También queríamos que en el popupmenu la opción para color amarillo esté
inactiva>>. Para esto demos doble click sobre el popupmenu y seleccionemos la opción
enabled y démosle el valor false. Corra ahora el programa y verá que esta opcion
aparece inactiva. Tambien queriamos que se activara al dar click sobre otro boton. Para
esto coloquemos otro boton en nuestro formulario, seleccionemos su evento Onclick y
programemos:
Amarillo1.enabled := true;//habilita la opcion amarillo
7- Corra ahora el programa y verá como realiza todo lo que deseamos.
7

2.2.7– TListBox. (visual)

Este componente nos ofrece un ListBox(caja de lista) estándar de Windows, que nos
permite representar una lista de opciones al usuario, para que elija una (o varias si la
propiedad "MultiSelect" está a True). Sus propiedades particulares son:

Items: Esta propiedad permite añadir textos al listbox. Al pulsar sobre esta propiedad,
aparece el panel de la próxima página, donde se pueden escribir los textos disponibles para
el usuario(fig2.14). También se puede modificar esta matriz de textos durante la ejecución
de la aplicación, añadiendo o eliminando elementos dinámicamente.

Sorted: Ordena la lista de textos entrados al listbox. Es del tipo boolean

MultiSelect: Permite la selección de varias opciones a la vez. Cuando multiselect está en


false indica que solo podrás seleccionar un articulo a la vez, mientras que si está en true
puedes seleccionar mas de un artículo a la vez.

fig2.14
2.2.8- TComboBox. (visual)
Un combobox es un listbox pero con la ventaja de tener un campo de edición, o sea se
puede escribir en él. Además la lista del combobox es desplegable mientras que la del
listbox no lo es.

Items: Permite añadir textos al combobox. La forma de utilizarla es parecida al listbox.


Visible: Permite visualizar o no el combobox.
Enabled: Permite habilitar o inhabilitar el combobox.
Charcase: Realiza la misma función que en el edit.
Sorted: Organiza alfabéticamente sus artículos.
Style: Permite escoger el estilo que deseamos para nuestro combobox. Existen diferentes
estilos como:
1 - CsDropDown La combinación arriba explicada, de un listbox y un campo de
edición. Se puede elegir de la lista o introducir un nuevo valor.
8

2 - CsSimple Equivalente a un campo de edición, sin la lista.


3 – CsDropDownList Es similar a la primera opción, salvo que no se puede
escribir en él, solo se puede elegir una opción de la lista.

4 - CsOwnerDrawFixed,
CsOwnerDrawVariable Estas dos posibilidades se usan para listas con imágenes de
tipo bitmap. En el primero, la altura de cada elemento es fija,
mientras en el segundo, la altura depende de cada imagen.

• Ejercicio con el Tlistbox y el Tcombobox.

 De este ejercicio queremos.


1- Entrar el nombre y apellido de una persona, estos deben ser entrados por un edit y ser
almacenado el nombre en un combobox y el apellido en un listbox.
2- Al dar click sobre el nombre el combobox o al listbox debe mostrarnos el nombre en el
edit1 y su respectivo apellido en el edit2 y viceversa.
3- Debemos tener un botón para borrar el elemento seleccionado en el listbox o
combobox.
4- Debemos tener otro botón para limpiar el listbox y el combobox cuando deseemos.

 Solucion por fases


• Fase de diseño.
1- Coloquemos dos edit para la entrada de nombre y apellido.
2- Coloquemos en la parte izquierda un combobox y debajo un listbox.
3- Debajo coloquemos 3 botones uno para agregar, otro para borrar el elemento
seleccionado y otro para limpiar el listbox y combobox.
4- El edit1 y 2 que aparezcan sin texto. Así como el combobox, lo cual se hace en su
propiedad text.
5- A cada botón en su propiedad caption dele el valor correspondiente a la tarea que va a
realizar.

• Fase de diseño - ejecución.


1- Veamos como almacenar los nombres y apellidos. Para esto al boton1 llamémoslo
agregar. Luego vamos a su evento OnClick y le ponemos el siguiente código.
combobox1.Items.add(edit1.text);//añade el texto del edit1 al combobox
listbox1.Items.add(edit2.text);//añade el texto del edit2 al listbox
1- Ahora corra el programa y verá como guarda los nombres y los apellidos en el
combobox y listbox respectivamente.
2- Tambien queremos que al dar click sobre un elemento del combobox o listbox se vean
en los edit el respectivo nombre y apellido del elemento seleccionado. Para esto
debemos saber que tanto el listbox como el combobox tienen una forma de tu saber que
elemento seleccionaste. Para que al seleccionar un nombre en el combobox se vea ese
nombre y su respectivo apellido en los edit, debemos ir al evento OnClick del
combobox. Al hacer doble click se muestra el editor de codigo de fuente con el

Edit1.text := Combobox1.items[combobox1.itemindex];//le asigna el edit1 el


articulo seleccionado en el combobox
9

siguiente texto: procedure TForm1.ComboBox1Click(Sender: TObject); lo cual


indica que lo que programemos entre el begin – end se llevará a cabo al hacer click
sobre el combobox1 que está en el formulario1. Entonces escribimos el siguiente
código.
Lo nuevo ahora es el [listbox11.itemindex], pues esto lo que hace es devolvernos el valor
de la posición que ocupa el elemento seleccionado o sea es un numero. Entonces lo que
estamos diciendo es que al edit1 le asigne lo que se encuentran en el listbox1 en su
propiedad articulo, pero ¿qué articulo?, el seleccionado(listbox1.itemindex). Sepa que el
primer elemento del combobox ocupa la posición 0, el segundo la 1, etc. Así que si
seleccionamos el primer elemento lo que hace el programa es al edit1 asignarle lo que esta
en el combobox1 en su articulo cero.
4- Corra el programa y entre algunos nombres y apellidos. Luego seleccione uno de ellos en
el combobox y observe. Al seleccionar un elemento en el combobox le puso el nombre en
el edit1, pero en edit2 no hizo nada, esto se debe a que no le dijimos que pusiese en el edit2
el apellido correspondiente a ese nombre que se encuentra en la misma posición pero en el
listbox. Para ello agreguemos el siguiente código en el mismo evento onclick del
combobox:
Edit2.text := listbox1.items[combobox1.itemindex];//le asigna al edit2 el articulo
seleccionado en el listbox que ocupa la misma posicion queel seleccionadoen el
combobox.
Ahora lo que hacemos es buscar el correspondiente apellido del nombre seleccionado en
el combobox y por eso al edit2 le asignamos lo que esta en el listbox1 en su propiedad
artículo el articulo numero(combobox11.itemindex) o sea el articulo que está en el listbox
en la misma posición que el elemento seleccionado en el combobox. Esto es debido a que
seleccionamos en el combobox y por eso en el listbox tenemos que buscar el elemento que
ocupa la misma posición que el elemento seleccionado en el combobox, veremos que
cuando seleccionemos en el listbox será al revés.

3- Veamos ahora como mostrar el nombre y el apellido al seleccionar un apellido. Para


esto seleccione el listbox y vaya a su evento OnClick. Al hacer doble click nos muestra
el editor de código de fuente indicándonos que lo que programemos se llevará a cabo al
hacer click en el listbox1 que está en el formulario1. Ahí escribimos el siguiente
código:
Edit1.text := combobox1.items[listbox1.itemindex];
Edit2.text := listbox1.items[listbox1.itemindex];
4- Observe ahora que la posición de los datos a mostrar en los edits del listbox y
combobox viene dado por [listbox1.itemindex]. Esto es debido a que el elemento que
seleccionamos esta en el listbox y entonces necesitamos conocer la posición que ocupa
para así poder decirle que nos muestre su dato correspondiente en el combobox.

2.2.9- TGroupBox. (visual)

Este control nos permite decorar nuestro proyecto ya que permite agrupar componentes
dentro de si e independizarlos de los demás. Sus principales propiedades son:
10

Caption: Permite modificar el titulo del groupbox. Este titulo aparece en su parte superior.

Enabled: Habilita o inhabilita el groupbox. Si lo inhabilita se inhabilitan todos los objetos


que hayan colocado dentro de él. Para colocar los objetos que desea se encuentre dentro de
él debe insertarlo primero a él y luego colocar sobre él los objetos que desee que estén
dentro de él. Si coloca primero en el formulario los componentes luego no podrá sacarlos
del formulario para colocarlos en el groupbox.

Visible: Visualiza o no el groupbox. Esta propiedad al igual que el enabled se aplicará


también a todo los componentes colocados en su interior.

2.2.10- Panel. (visual)

El panel es utilizado como el groupbox para colocar dentro de él otros componentes. Se


diferencia en que el groupbox tiene el texto en su parte superior mientras que el panel lo
tiene en su interior y en centro el cual si desea puede borrarlo. Tiene otras diferencias en
sus propiedades que ahora les mostraré.

Caption: Modifica el texto del panel.

Para ver un conjunto de sus propiedades observe la figura2.15:

fig2.15
Align: Esta propiedad nos permite alinear el componente. La mayoría de los componentes
tienen esta propiedad pero es poco utilizada en ellos y por eso no se les mostró en los
demás componentes, de todos modos el funcionamiento con los demás es muy parecido.
Esta propiedad toma los siguientes valores.
1- AlTop: Este valor hace que el panel se ajuste a la parte superior del formulario por
debajo del menu principal si tiene creado alguno(vea la barra de botones fig2.15).
2- AlBotton: Hace que el panel se ajuste a la parte inferior de la ventana.
3- AlClient: Hace que el panel tome el mismo tamaño del formulario.
4- AlCustom: Hace que el panel se ajuste a la parte superior e izquierda del formulario.
5- AlLeft: Hace que el panel se ajuste a la parte izquierda del formulario.
6- Alright: Ajusta el panel a la derecha del formulario.
11

7- AlNone: Es la que toma inicialmente con al cual puede hacer con el panel lo que
deseee.

También tiene algunas propiedades que pueden hacer cambiar la vista del panel las cuales
les enumerare brevemente(observe panel bonito figura 2.15).
Bevellnner, BevelOuter, BevelWidth: Estas propiedades permiten biselar los bordes ya
sea hacia dentro o hacia fuera y con la propiedad bevelwidth le dan el valor del tamaño ue
desean que tenga.

2.2.11- TCheckBox. (visual)

Este componente de tipo lógico permite al usuario seleccionar o desestimar una opción.

Caption: Permite modificar el texto que aparecerá al lado del cuadrado del checkbox.

Checked: Significa comprobar. Permite comprobar si el checkbox está seleccionado o no.

State: Significa estado. Nos permite o asignar el estado que estado del checkbox. Es
parecida al checked pero tiene un poco más. Sus opciones son:
CbChecked: Selecciona el checkbox.
CbGrayed: Significa ponerse gris. Pone el checkbox en un estado en que no está activado
ni desactivado, aunque responde a desactivado.
CbUnchecked: Hace que el estado del checkbox sea no chequeado.

Estas dos últimas propiedades son mutuamente interactivas; pues modificas una, y la otra
se modifica.

2.2.12- TradioButton. (visual)


Este componente es parecido al Checkbox pero con algunas diferencias como: El
checkbox señala con una palomita y el radiobutton con un punto; otra es que el checkbox
permite que en un mismo grupo haya mas de un checkbox seleccionado e incluso todos
mientras que en el radiobutton no permiten que en su grupo haya mas de uno seleccionado.
Cuando digo grupo me refiero a donde esten agrupados, por ejemplo los que están en el
formulario forman un grupo, los que esten insertados en un panel forman otro grupo y los
que estén en un Groupbox forman otro grupo. Si desea coloque un panel y un checkbox e
inserte en ellos radiobotones y checkbox, también coloque algunos en el formulario, corra
el programa y verá lo que le decía.
Sus principales propiedades son:
Caption: Permite modificar el texto al radiobutton.

Checked: Permite hacer que el radiobutton sea marcado o no, ademas de permitirnos saber
si está marcado o no.

Enabled y Visible: Lo mismo que en todos los anteriores.


12

2.2.13- TRadioGroup. (visual)


El radiogroup es un componente que se pudiera decir es una mezcla de groupbox con
radiobutton. Este componente funciona parecido a un conjunto de radiobutton colocados
dentro de un groupbox.
Sus principales propiedades son:
Caption: Permite modificar el texto que aparece en la parte superior del radiogroup.

Columns: Permite darle el valor correspondiente a la cantidad de columnas que desea tenga
el radiogroup.

Itemindex: Permite seleccionar uno de los botones del radiogroup. Recordar que
itemindex te devuelve la posición en la que se encuentra el articulo seleccionado. Index
significa indice.
Items: Significa artículo. Permite añadir artículos al radiogroup. Cada articulo se mostrara
al editarlo como un radiobutton.
Visible y enabled : Lo mismo que en todos los anteriores.

 Ejercicios con el Panel, groupbox, radiobutton,checkbox , radiogroup.

1- Entrado el nombre de un estudiante almacenar los siguientes datos: si pertenece a la


U.J.C, a las MTT y cederista. Además se desea saber si pertenece a la OPJM, FEEM o
FEU. Todos estos datos deben aparecer uno al lado del otro al oprimir un botón.

 Solucion por fases


• Fase de diseño.
1- Necesitamos un componente para entrar el nombre(edit).
2- Observe lo siguiente una persona puede pertenecer al mismo tiempo a la U.J.C, MTT y
ser cederista así que el componente a usar para esto ha de ser un Checkbox para que te
permita en su mismo grupo escoger más de una opción.
3- Ahora una persona no puede pertenecer a OPJM, FEEM y FEU al mismo tiempo sino
solo a una de ellas, asi que para estas opciones debemos usar unos radiobuttton o un
radiogroup. Ahora lo haremos con radiobutton y luego les mostrare como hacerlo con
el radiogroup.
4- Necesita 5 listbox, uno para el nombre, uno para cada organización del primer
grupo(U.J.C, M.T.T y C.D.R) y otro para poner la organización a la que pertenece en el
segundo grupo(claro que esto se podía hacer mucho más sencillo, pero el objetivo ahora
es que comprendas de una forma fácil lo como se trabaja con estos componentes).
5- Sobre cada listbox coloque un label que diga lo que va a almacenar ese listbox.
6- Necesitamos también un botón para que al oprimirlo se visualicen los datos.
7- Necesitaremos por asuntos de belleza dos groupbox, uno para los checkbox los cuales
contiene un tipo de opciones y otro para los radiobutton que contiene otro tipo de
opciones.
• Fase de diseño – ejecución.
13

1- Los datos deben ser guardados al dar click sobre el botón, o sea todo va a suceder en el
evento OnClick del botón. Entonces seleccione el botón, vaya a su evento OnClick y
vamos a ir escribiendo el código que iremos viendo.
2- Lo primero que guardaremos al hacer click sobre el botón será el nombre entrado en el
edit1, o sea debemos escribir el siguiente código.
Listbox1.items.add(edit1.text);//añade el edit1 al listbox1
3- Ahora los listbox 2,3,4 que son los encargados de almacenar los datos de la primera
organización. Los datos que entraremos serán true si esta seleccionada la opción o false
en caso contrario. Estos datos también deben ser almacenados al hacer click sobre el
boton1 así que se tienen que programar en el mismo evento OnClick del botón.
Recuerden que es un listbox para cada dato de este grupo. Como son checkbox para
saber si esta seleccionado o no cada checkbox vamos a usar algo que veremos mas
adelante en Object Pascal que son las sentencias condicionales. Lo que vamos a hacer
es usarla para saber si el checkbox esta marcado o no. Entonces el código quedaría de la
siguiente forma:
If Checkbox1.checked=true then listbox2.items.add(‘true’) else
Listbox2.items.add(‘false’)

Lo que está diciendo es que si el checkbox1 está marcado al listbox1 le añada un articulo
que dice true(verdadero) sino(else) que le añada un articulo que diga false(falso). Lo mismo
hay que hacer con los otros dos.
If Checkbox2.checked=true then listbox3.items.add(‘true’) else
Listbox3.items.add(‘false’)
If Checkbox3.checked=true then listbox4.items.add(‘true’) else
Listbox4.items.add(‘false’)
Esto también se puede realizar mucho más sencillo pero recuerde el objetivo hasta ahora
cual es.
4- Aun falta entrar el dato de la organización del segundo grupo a la que pertenece. Para
esto también usemos las sentencias condicionales para saber cual articulo del
radiogroup esta seleccionado. Vamos a utilizar la condición (if) aunque mas adelante
veremos que para el radiogroup el case es mucho mas sencillo. Entonces tendríamos
que añadir el siguiente código:
If radiogroup1.itemindex=0 then listbox5.items.add(OPJM)
If radiogroup1.itemindex=1 then listbox5.items.add(FEEM)
If radiogroup1.itemindex=2 then listbox5.items.add(FEU)
5- Ahora también podemos, para facilitarle el trabajo al usuario añadir las siguientes
líneas.

Edit1.clear;//limpia el edit1
Edit1.setfocus;//pone el cursor en el edit1.
6- Ahora corra el programa para que vea lo que ha logrado.
14

Ya hasta aquí tiene suficientes conocimientos sobre los componentes como para poder
explicarles claramente el Object Pascal.

Potrebbero piacerti anche