III BORLAND DELPHI UNIDAD ARREGLOS

5.- COMPONENTE ListBox (Standard) DELPHI


image74.jpg

Este componente permite procesar visualmente un conjunto de elementos de tipo string.

Este componente hereda muchas de las propiedades y métodos de TStringList y TStrings, que son las clases bases de las cuales hereda propiedades y metodos, mas algunas propiedades y métodos propios tales como:

1.-Propiedades;


Capacity.- Es la cantidad o tamaño del arreglo de apuntadores a los objetos en la lista.

Count.- Numero de objetos contenidos actualmente en la lista Items.- Se usa para referenciar o accesar los objetos en la lista.

Recordar que las propiedades en un programa, se manejan con el formato nomobjeto.nompropiedad.


2.- Métodos;


Add.- Inserta un objeto nuevo al final de la lista y regresa el lugar o posición donde hizo la inserción.

Clear.- Se usa para vaciar el arreglo, también libera la memoria ocupada por los objetos de la lista.

Delete.- Se usa para eliminar un objeto especifico, lleva como argumento o parámetro la posición del objeto.

Exchange.- Intercambia dos objetos de la lista.

Expand.- Se usa para agregar mas espacio para nuevos objetos en la lista.

First.- Se utiliza para regresar al primer objeto de la lista.

IndexOf.- Regresa la posición del objeto en la lista.

Insert.- Inserta un objeto en la posición deseada.

Last.- Regresa la posición del ultimo objeto en la lista.

Move.- Mueve el objeto de una posición a otra posición.

Pack .- Compacta todos los objetos en una lista y libera la memoria ocupada por los objetos que estaban en la parte inferior de la lista.

Remove.- Remueve o elimina un objeto especificado, el resto los recorre a la posición que ocupaba el objeto eliminado.

Sort.- Ordena los objetos de la lista, usando QuickSort.

Como se observa contiene muchas propiedades y métodos que facilitan grandemente el trabajo con los elementos de una lista.


Se puede añadir, eliminar e insertar ítems en la lista usando los métodos Add, Delete, Insert con la propiedad Items, que también es de tipo TStrings.

Si se quiere que ListBox presente varias columnas, solo cambiar el valor de la propiedad Columns, para ordenar o clasificar los ítems, usar la propiedad Sorted.

Se puede permitir que un usuario realice una selección múltiple, poniendo la propiedad MultiSelect en true, la propiedad ExtendedSelect determina como se realiza la selección múltiple.

Para determinar cual ítem en particular esta seleccionado solo validar la propiedad Selected, para conocer cuantos ítems se han seleccionado revisar los valores de la propiedad SelCount.

Propiedades:


BorderStyle.- Despliega la lista con un marco sencillo o sin marco.

Canvas.- Se utiliza para asociar un área de dibujo o de imagen a un ítem de la lista (consultar ayuda de esta propiedad en ListBox puesto que es interesante).

Columns.- Define una determinada cantidad de columnas para su despliegue dentro del ListBox.

ItemIndex.- Se utiliza para seleccionar la posición o índice de un ítem o elemento en la lista.

Items.- Es la propiedad que mas se ha venido usando, se utiliza para accesar las diversas propiedades y métodos de las strings en la lista.

Sorted.- Se usa para ordenar alfabéticamente los elementos de la lista( ListBox1.Sorted := true; )

Style.- Define diversos o varios estilos o formas de ListBox.


Métodos:


Clear.- Elimina todos los elementos a la vez.


En la practica para cargar o capturar sus elementos, se deberá usar el método Add, ya que no se permite cargar directamente sus datos o elementos por el usuario del programa, solo usar código como el analizado en los temas anteriores ;

Recordar que se pueden usar todos los métodos, para insertar, eliminar, contar, etc.

Si los valores son de tipo “numérico”, se pueden efectuar procesos con ellos de dos maneras:

Pasando los valores de ListBox a una variable numérica de tipo arreglo y procesando esta ultima variable.

Usar instrucciones directamente de proceso con las funciones INTTOSTR y STRTOINT.

Si es necesario pasar el contenido de ListBox1 a ListBox2, solo usar la propiedad Text en ambas, ej.; (ListBox2.Text := ListBox1.Text).

LO MAS IMPORTANTE A TOMAR EN CUENTA Y RECORDAR ES QUE A DIFERENCIA DE ARREGLOS TRADICIONALES LISTBOX EMPIEZA SU PRIMRE INDICE O RENGLON EN 0 ( CERO ) COMO ES COMUN EN EL LENGUAJE DE PROGRAMACION C++, RECORDAR AJUSTAR SUS CICLOS DE PROCESOS Y SUS CONTADORES DE CONTROL PARA QUE TOMEN ESTA NOTA EN CONSIDERACION.

Ejemplo con ListBox, para este caso se pide capturar 5 edades en un ListBox, luego sumarle 3 años a cada una usando el mismo ListBox, y desplegarlas en un segundo ListBox convertidas a meses.

Pantalla de diseño:

image319.jpg

Código:

procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Add(Edit1.Text);
Edit1.Text := '';
end;
procedure TForm1.Button2Click(Sender: TObject);
var
r, temp :integer;
Begin
for r:=0 to ListBox1.Items.Count - 1 do
begin
temp := StrToInt(ListBox1.Items.Strings[r]) * 12;
ListBox2.Items.Add(IntToStr(temp));
end;
end;

Pantalla de salida:

image318.jpg

TAREAS PROGRAMAS BORLAND DELPHI

1.- CAPTURAR EN UNA LISTA LOS SUELDOS DE 6 EMPLEADOS Y DESPLEGARLOS EN UNA SEGUNDA LISTA AUMENTADOS EN UN 30%

2.- CAPTURAR EN UNA LISTA LOS PESOS EN KILOGRAMOS DE 6 PERSONAS DESPLEGARLOS EN UNA SEGUNDA LISTA CONVERTIDOS A LIBRAS Y ADEMAS SOLO LOS MAYORES DE 100 LIBRAS.

3.- CAPTURAR EN SUS 4 LISTAS RESPECTIVAS MATRICULA, NOMBRE Y DOS CALIFICACIONES DE 5 ALUMNOS, DESPUES CALCULAR UNA LISTA DE PROMEDIOS DE CALIFICACIONES.

4.- CAPTURAR EN SUS LISTAS RESPECTIVAS NUMEMPLEADO, NOMEMPLEADO, DIAS TRABAJADOS Y SUELDO DIARIO DE 5 EMPLEADOS, DESPLEGAR EN OTRA PANTALLA O PANEL LA NOMINA PERO SOLO DE AQUELLOS EMPLEADOS QUE GANAN MAS DE $300.00 A LA SEMANA.

Politica de Privacidad