Ver Mensaje Individual
  #11  
Antiguo 09-05-2017
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.

En cuanto a realizar la suma y alinearla a la derecha me refería a algo así:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  a, b, i, j    : Integer;
  gr            : TStringGrid;
  le1, le2, le3 : TLabeledEdit;
begin
  gr  := StringGrid1;
  le1 := LabeledEdit1;
  le2 := LabeledEdit2;
  le3 := LabeledEdit3;

  if not TryStrToInt( le1.Text, a ) then
    raise Exception.Create('El primer número es inválido');
  if not TryStrToInt( le2.Text, b ) then
    raise Exception.Create('El segundo número es inválido');

  le3.Text := IntToStr( a + b );
  gr.Colcount := Length( le3.Text );
  for i := 0 to gr.ColCount - 1 do gr.ColWidths[i] := 30;

  // Sumando 1
  for i := 1 to Length(le1.Text) do
    gr.Cells[gr.ColCount-i, 0] := le1.Text[ Length( le1.Text )-i+1 ]; // Row 0

  // Sumando 2
  for i := 1 to Length(LabeledEdit2.Text) do
    gr.Cells[gr.ColCount-i, 1] := le2.Text[ Length( le2.Text )-i+1 ]; // Row 1

  // Suma
  for i := 1 to Length(le3.Text) do
   gr.Cells[gr.ColCount-i, 2] := le3.Text[ Length( le3.Text )-i+1 ];  // Row 2
end;

Resultado:


El proceder es similar usando tres StringGrids (uno para cada sumando y otro para el resultado), sólo debes definir cada StringGrid con una fila y las columnas correspondientes a los respectivos dígitos .

Sin embargo, no entiendo que papel debería jugar el "StringGrid2" que mencionas en tu último mensaje.

Saludos
__________________
Daniel Didriksen

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