III UNIDAD ARREGLOS BORLAND DELPHI

3.- ARREGLOS TIPO LISTA DELPHI


Un arreglo tipo lista se define como una variable que permite almacenar un conjunto de datos del mismo tipo organizados en una sola columna y uno o mas renglones.

También reciben el nombre de vectores en álgebra, o arreglos unidimensionales en programación.

Los procesos normales con una lista o con sus elementos, incluyen declarar toda la lista, capturar sus elementos, desplegarlos, realizar operaciones con ellos, desplegarlos, etc.

Para declarar una lista se usa el siguiente formato;

VAR

nomlista :array [1..n] of Integer;

* ESTO SIGNIFICA que el arreglo debera declararse en la parte VAR publica del programa (AL PRINCIPIO DEL PROGRAMA ARRIBA DEL PROCEDIMIENTO BUTTONCLIK SE ENCUENTRAN ESTAS PARTES VAR Y TYPE DEL PROGRAMA)

* Y el indice (n) es la cantidad de elementos de la lista.

ejemplos;


VAR

Edades : array[1..12] of integer;

Sueldos : array[1..10] of Real;

Municipios : array[1..5] of string[20];

Nota: en caso de listas de strings observar que la string se le asigna un tamaño especifico.


notas:

Declaración.- Es necesario recordar, que la declaración de un arreglo tipo lista se puede hacer en dos lugares diferentes, dependiendo de si solo se usa un botón de ordenes en la pantalla, o si dos o mas botones de ordenes, estarán procesando el arreglo, el segundo caso, es el mas común.

Si un solo botón, en toda la ventana va a realizar, todos los procesos ( declaración, captura, operaciones, comparaciones, despliegue), con la lista, solo hacer la declaración de la lista, al principio del evento onclick, como lo muestra el programa ejemplo.

El dato capturado, proviene de momento de un componente visual escalar y por tanto para capturas se usan algunas variables de control como lo muestra el siguiente programa ejemplo, para capturar y procesar cuatro edades, el código y pantalla se es;

Programa ejemplo;

var
Form1: TForm1;
edad : array[1..5] of integer;
ren:integer=1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
if ren <= 5 then
begin
edad[ren]:=StrToInt(Edit1.Text);
ListBox1.Items.Add(IntToStr(edad[ren]));
ren := ren + 1 ; Edit1.Text :=' ';
end;
if ren = 6 Then ShowMessage ('LISTA LLENA');
end;
procedure TForm1.Button2Click(Sender: TObject);
var
r:integer;
begin
for r := 1 to 5 do
begin
ListBox1.Items.Add(IntToStr(edad[r] * 12));
end;
end;

Pantalla de corrida

image315.jpg

Notas:

La declaracion del arreglo y la variable de control renglon se realiza en la parte VAR del PROGRAMA no las partes verdes de var que se han puesto dentro del procedimiento buttonclick como se ha realizado en todos los programas que se han construido hasta la fecha.

Recordar que estas variables son globales o compartidas por todos los procedimientos o eventos del programa.

Se uso un componente nuevo el ShowMessage('MENSAJE'); para desplegar un mensaje de lista llena.

Para el caso de operaciones y comparaciones con todos los elementos de la lista a la vez, se deberá usar un ciclo for con una variable entera llamada renglón, misma que también se usara como índice de la lista como se hizo en el problema ejemplo.


Recordar que todos los datos internos de la lista estarán almacenados en la memoria ram del computador, para despliegues se usa un componente visual que permite manipular un conjunto de datos a la vez, el ListBox, pero se tiene que usar un ciclo for() para ir añadiendo o agregando elemento por elemento como se observa en el problema ejemplo que se ha venido desarrollando.


TAREAS PROGRAMACION BORLAND DELPHI

1.- Capturar y desplegar 5 precios de productos cualesquiera, usando dos panel, uno para capturar y uno para desplegar.

2.- Capturar 4 sueldos en un panel, desplegarlos aumentados en un 25% en otro panel.

3.- Capturar los datos de 5 productos comprados en una tienda, incluyendo nombre, precio y cantidad en sus 3 listas respectivas, después calcular una cuarta lista con el gasto total por cada producto desplegarlo todo en un segundo panel e incluir también el gran total.

4.- Capturar en una lista solamente 6 números múltiplos de 5, se debe de estar capture y capture números hasta que se completen los 6 múltiplos de 5.

Politica de Privacidad