STRINGGRID C++ BUILDER

Este componente es de los mas importantes, para el procesamiento demuchos datos, permite concentrar, procesar y mostrar gran cantidad deinformación para la vista del usuario. 8.- COMPONENTE StringGrid C++BUILDER ( adicional ) 8.- COMPONENTE StringGrid C++BUILDER

 

III UNIDAD C++BUILDER ARREGLOS

8.- COMPONENTE StringGrid C++BUILDER ( adicional )

image77.jpg

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

Este componente presenta, manipula y procesa conjuntos de datos de tipostrings en forma tabular, es decir en forma de tablas, matrices, cuadrosconcentrados, 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 (esdecir, se capturan, se realizan operaciones con ellos, se despliegan,etc.), es la información externa quien le da sentido.

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 lacolumna 0.

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

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

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

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

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

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

StringGrid1→Cells[1][1]="PATO";

Edit1→Text=StringGrid1→Cells[0][0];

Edit2→Text=StringGrid→Cells[0][1] * 3.1416;

observar que a pesar de ser de tipo Strings, se pueden efectuar algunaoperaciones matemáticas directamente con las celdas. Home Security Tips and buying guides Home Security Tips and buying guides

Aunque es mas seguro sobre todo en el caso particular de la suma,convertirlos a Cells[][].ToInt() o ToDouble(), ej.;

Edit2→Text=StringGrid1→Cells[1][0].ToInt()+5;

Las demás propiedades investigarlas en la ayuda del CBuilder.

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

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

Pantalla de Diseño:

Programa;

void __fastcall TForm1::Button1Click(TObject *Sender){ int col, reng ;for(col=0;colCells[col][reng]. ToInt()- 4 ;};}

Pantalla de Corrida:

image79.jpg

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

CIA ACME

INGRESOS MENSUALES

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 es sencillo, pero recordarlo y aprenderlo para siempre:

//declaraciónfloat 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 

MÁS INFORMACIÓN

El contenido original se encuentra en https://programacionfacil.com/cpp_builder/stringgrid/
Todos los derechos reservados para el autor del contenido original (en el enlace de la linea superior)
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente