Ver Mensaje Individual
  #3  
Antiguo 27-10-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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.:
Código Delphi [-]
...
var
  c,f: Integer;
begin
  Randomize;
  with StringGrid1 do
  begin
    ColCount := 10;
    RowCount := 12;
    FixedCols:= 0;
    FixedRows:= 1;
    Rows[0].CommaText:= 'Número,Número,Número,Número,Número,' +
                        'Número,Número,Número,Número,Número';
    for f:= FixedRows to RowCount - 1 do
      for c:= FixedCols to ColCount - 1 do
        Cells[c,f]:= IntToStr(Random(999999) + 1);
  end;
end;
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:
Código Delphi [-]
...
var
  c,f: Integer;
begin
  with StringGrid1 do
  begin
    c:= Random(ColCount) + FixedCols; // FixedCols = 0 (*)
    f:= Random(RowCount-2) + FixedRows; // FixedRows = 1 
    Label7.Caption:= IntToStr(c);
    Label8.Caption:= IntToStr(f);
    Label9.Caption:= Cells[c, f];
  end;
end;
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 ....
Responder Con Cita