FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
StringGrid problemas al seleccionar celdas
Hola después de mucho tiempo, estoy con un programita destinado a matar mi tiempo libre, pero me he quedado atascado... resulta que tengo un TStringGrid que forma una matriz de 10 × 12 y cuyas celdas tienen valores númericos y aleatorios que van del 1 al 999999.
En un momento dado, cuand pulso el botón, espero que se seleccionen tres valores distintos de entre toda las celdas y me los muestre en una etiqueta, edit, memo... ¿pero que ocurre? que devuelve un "blanco" o un valor nulo o vacío. Por ejemplo si le pido que meta uno de esos valores en una etiqueta tal que "label3", está pierde el caption y no muestra nada, de ahí que piense en un valor nulo, blanco etc. El código este:
Supuestamente label9, debe contener las coordenadas dadas por label7 y label8 y devolver de este modo el valor X que esté en esa coordenada. Pero me devuelve un valor nulo. ¿Alguna idea? Gracias y un saludo.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
#2
|
||||
|
||||
1.- Las filas y columnas empiezan por 0.
2.- Si te sales de rango devuelve 0 Si tu número de celdas es 120, está claro que estas fuera de rango, según tu código. Saludos. |
#3
|
||||
|
||||
Hola danielmj.
Según veo en tu imágen, el StringGrid está declarado de 10 columnas x 12 filas y usas la primer fila para los títulos de columna. Por lo que supongo que has declarado las propiedades FixedCols y FixedRows con los valores 0 y 1 respectivamente, vg.: El máximo valor del índice de las columnas debería ser 9 y el de las filas 11. Sin embargo, el código de tu mensaje que asigna valores esos índices, puede en el peor caso alcanzar cifras mas de ¡ 10 veces superiores ! Entonces, si las columnas comienzan en cero y las filas en uno (la fila 0 es ocupada por los títulos), sería: Random([rango]) genera un número aleatorio x, tál que 0 <= x < rango. Es decir que Random(ColCount) + FixedCols (*), podrá alcanzar un valor mínimo de 0 y un máximo de 9, mientras que Random(RowCount-2) + FixedRows un mínimo de 1 y un máximo de 11. (*) Obviamente se puede omitir el uso de FixedCols en este caso. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
||||
|
||||
buenas, gracias a los dos, hice lo que comentabas ecfisa y al principio no entendía muy bien lo que comentabas pero bueno, creo que al final pillé la idea. A parte, yo buscaba un numero aleatorio del 0 al 120, tu solución es mas elegante.
Un saludo.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como seleccionar las celdas de un dbgrid con el mouse | jjaen26 | OOP | 0 | 13-10-2011 17:48:45 |
Validar celdas de un stringgrid | Elite237 | OOP | 25 | 29-10-2008 16:38:38 |
unir celdas en stringgrid | voldemmor | Varios | 3 | 22-07-2008 21:07:55 |
Pintar celdas StringGrid | cacu | OOP | 4 | 24-10-2007 17:22:21 |
StringGrid + celdas | Makiley | Varios | 4 | 01-02-2006 13:01:15 |
|