Ver Mensaje Individual
  #2  
Antiguo 23-06-2015
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 ermac.

Hay muchas variantes para lo que buscas hacer, te pongo un ejemplo simple pero bastante flexible :
Código Delphi [-]
// Permite ingresar solo números
procedure WCOnlyNumber(WC: TWinControl);
begin
  SetWindowLong(WC.Handle, GWL_STYLE,
    GetWindowLong(WC.Handle, GWL_STYLE) + ES_NUMBER);
end;

// Inicializar
procedure TForm1.FormCreate(Sender: TObject);
begin
  WCOnlyNumber(edColDes);   // edit columna desde
  WCOnlyNumber(edColHas);   // edit columna hasta
  WCOnlyNumber(edFilaDes);  // edit fila desde
  WCOnlyNumber(edFilaHas);  // edit fila hasta
end;

// Rellenar
procedure RellenaGrid(SG: TStringGrid; const cDes, fDes, cHas, fHas: Integer;
const Character: Char);
var
  f, c: Integer;
begin
  if (cDes < 0)or(fDes < 0)or(cHas >= SG.ColCount)or(fHas >= SG.RowCount) or
     (cDes > cHas) or (fDes > fHas) then
    raise Exception.Create('Error en rango');
  for c:= cDes to cHas do
    for f:= fDes to fHas do
      SG.Cells[c,f] := Character;
end;

// llamada ejemplo:
procedure TForm1.btnRellenaClick(Sender: TObject);
begin
  RellenaGrid(StringGrid1, StrToInt(edColDes.Text), StrToInt(edFilaDes.Text),
              StrToInt(edColHas.Text), StrToInt(edFilaHas.Text), '>')
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita