III BORLAND DELPHI UNIDAD ARREGLOS

6.- COMPONENTE StringGrid (adicional) DELPHI


image77.jpg

Este componente es de los mas importantes, para el procesamiento de muchos datos, permite concentrar, procesar y mostrar gran cantidad de información para la vista del usuario.

Este componente presenta, manipula y procesa conjuntos de datos de tipo strings en forma tabular, es decir en forma de tablas, matrices, cuadros concentrados, ejemplo;

CIA ACME

INGRESOS POR VENTAS MENSUALES

MILLONES DE PESOS

ENE FEB MAR ABR

SUC A 1 2 3 4

SUC B 5 6 4 5

SUC C 6 7 8 9

Recordar que son los datos numéricos internos quienes se procesan (es decir, se capturan, se realizan operaciones con ellos, se despliegan, etc.), es la información externa quien le da sentido.

Y RECORDAR QUE SUS INDICES EMPIEZAN EN RENGLON=0 y COLUMNA=0.

Algunas de sus propiedades y métodos mas interesantes son:


ColCount.- Determina la cantidad de columnas que contendrá la tabla.

Recordar que para efectos de programación, la primera de ellas es la columna 0.

RowCount.- Determina la cantidad de renglones que contendrá la tabla.

Recordar que para efectos de programación, el primero de ellos es el renglón 0.

Fixedcol , Fixedrow.- Determinan la cantidad de columnas y renglones fijos o de encabezado, estas propiedades ponerlas en 0.

+Options, goediting = true; Para que permita editar o capturar datos al usuario.

+Options, gotab = true; Para que el usuario pueda navegar entre celdas usando la tecla del tabulador.

Cells[columna,renglón], Es la propiedad mas importante, porque es la que permite el acceso a cualquier celda de la tabla, ej.

StringGrid1.Cells[1,1] := 'PATO';

Edit1.Text=StringGrid1.Cells[0,0];


Las demás propiedades investigarlas en la ayuda del borland delphi .

Para procesar todos los elementos de la tabla, solo recordar que se deben usar dos ciclos for uno externo para controlar columnas y uno interno para controlar renglón ( observar que es lo inverso de las tablas o arreglos normales).

Ejemplo capturar una tabla de 3 * 4 enteros, y restarles 4 después;

Pantalla de Diseño: (inspector objetos)

image320.jpg

FORM1:

image321.jpg

Programa;

procedure TForm1.Button1Click(Sender: TObject);
var
c,r,temp:integer;
begin
for c:=0 to 2 do begin
for r:=0 to 3 do
begin
temp:= StrToInt(StringGrid1.Cells[c,r])-4;
StringGrid1.Cells[c,r] := IntToStr(temp);
end; end; end;

Pantalla de Corrida:

image322.jpg

>Un proceso muy común con tablas, cuadros y concentrados es agregarles listas de totales y promedios ya sea por columna o por renglón o ambas , por ejemplo;

CIA ACME

INGRESOS MENSUALES

(MILES DE PESOS)

ENE FEB MARZO TOTALSUC PROMSUC

SUC A 1 2 3 6 2

SUC B 4 5 6 15 5

SUC C 7 8 9 24 8

SUC D 10 11 12 33 11

TOTMES 22 26 30

PROMMES 5.5 6.5 7.8

En este ejemplo aparte de la tabla se ocupan 4 listas, dos para totales y dos para promedios.

El código en C++ es sencillo, pero cambiarlo a borland delphi, recordarlo y aprenderlo para siempre:

//declaración
float tabla[4][3], totsuc[4], promsuc[4];
float totmes[3], promes[3];
//observar tamaños de listas que referencian renglón
// listas que referencian columnas, se supone que la tabla // ya esta capturada.
//código para operaciones para totales y promedios //renglones por sucursal:
for(reng=0;reng<=3;reng++)
for(col=0;col<=2;col++)
{ totsuc[reng]=totsuc[reng]+tabla[reng][col]; };
for(reng=0;reng<=3;reng++) promsuc[reng]=totsuc[reng] / 3.0 ;
// operaciones para totales y promedios por mes
for(reng=0;reng<=3;reng++)
for(col=0;col<=2;col++)
{totmes[col]=totmes[col]+tabla[reng][col]; };
for (col=0;col<=2;col++) prommes[col]=totmes[col]/4.0;

TAREAS PROGRAMACION BORLAND DELPHI

1.- Construir un concentrado que despliegue los costos fijos de tres diversos productos que se fabrican en cuatro sucursales de una empresa MAQUILADORA.

2.- Construir un concentrado que contenga los ingresos por ventas mensuales de los 4 primeros meses del año de tres sucursales de una cadena refaccionaría, agregar listas de ingresos totales por mes e ingresos promedios por sucursal.

3.- Construir un cuadro que contenga las calificaciones de 5 materias de cuatro alumnos cualesquiera, incluir promedios de calificaciones por materia y por alumno.��

Politica de Privacidad