Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Determinar el valor máximo

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Determinar el valor máximo Responder citando

Tengo un StringGrid, y quiero determinar el valor máximo de una de las columnas y ponerlo en un Edit, pero no lo consigo, solo soy capaz de comparar dos valores y determinar cual es el mayor.
Alguien sabe como hacerlo.
Volver arriba
Mensaje    Asunto: Determinar el valor máximo Responder citando

Hola,

StringGrid->Cols[i]

es un TString que contiene todos los valores de la columna i+1 (recuerda que comienza en 0). Si miras en la ayuda de la VCL verás cómo manipular los strings que contiene (es un poco de lío para contártelo aquí, si no lo arreglas escribe tu código y se verá qué se puede hacer).

Volver arriba
Mensaje    Asunto: Determinar el valor máximo Responder citando

A ver si esto te sirve de ayuda. No lo he probado, así que a lo mejor hay algún error.
Supongo que los datos de la columna son enteros mayores que cero, si no es así, adáptalo a tu tipo de datos:

int max=0;
for (int fila=0;fila<StringGrid1->RowCount;fila++) {
if (StringGrid1->Cells[COLUMNA][fila]>max
max=StringGrid1->Cells[COLUMNA][fila];
}
Edit1->Text=max;

Si no funciona avísame y lo reviso.

Un saludo.

Volver arriba
Mensaje    Asunto: Determinar el valor máximo Responder citando

Gracias por la ayuda, pero o estoy más atontado que de costumbre o el ordenador me tiene mania.
Hago una prueba con el codigo que me has puesto en un StringGrid de una columna, y pongo un boton para buscar el máximo. Y tatachan a veces calcula el máximo y a veces no, y otras veces calcula el máximo pero al cambiar los valores y poner uno mayor calcula el valor que le apetece????
Aqui va el codigo tal como lo tengo escrito haber si más ojos ven lo que yo no veo:

int max=0;
for(int fila=0; fila<=StringGrid1->RowCount; fila++)
{
if (StringGrid1->Cells [0][fila]>max)
max=StringGrid1->Cells [0][fila].ToInt();
};

Edit1->Text=max;

Saludos

Volver arriba
Mensaje    Asunto: Determinar el valor máximo Responder citando

Buen ojo, era eso.
Una vez más queda demostrado que cuando le das muchas vueltas a algo al final no ves lo más sencillo.
Gracias de nuevo por la ayuda y saludos.
Volver arriba
Mensaje    Asunto: Determinar el valor máximo Responder citando

Hola, puede que el error esté en la comparación (se te olvidó convertirlo a int, puede que sólo compare el primer dígito):

if (StringGrid1->Cells[0][fila].ToInt()>max)
max=StringGrid1->Cells[0][fila].ToInt();

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.