Ver Mensaje Individual
  #6  
Antiguo 29-12-2011
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 AzidRain.

Siempre que todos los StringGrids (que haya en cada MDIChild) tengan el mismo nombre, otra opción que se me ocurre es:

MDIForm
Código Delphi [-]
type
  TOPer = (opSuma, opResta);
  TMDIForm = class(TForm)
    ...
  private
    function OperarGrid(Oper: TOper): Double;
  end;

...

implementation   

function TMDIForm.OperarGrid(Oper: TOper): Double;
var
  i: Integer;
begin
  Result:= 0;
  for i:= MDIChildCount-1 downto 0  do
    with MDIChildren[i].FindComponent('StringGrid1') as TStringGrid do
      case Oper of
        opSuma : Result:= Result + StrToFloat(Cells[Col,Row]);
        opResta: Result:= Result - StrToFloat(Cells[Col,Row]);
      end;
end;
...
Si se tratara de DBGrids cambiando el cast funciona igualmente (con SelectedField). La cosa se complicaría un poco si también existen campos no numéricos...


Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 29-12-2011 a las 05:06:29. Razón: Corregir carita en codigo (:D)
Responder Con Cita