Ver Mensaje Individual
  #1  
Antiguo 10-03-2010
pablopessoa pablopessoa is offline
Miembro
 
Registrado: may 2008
Ubicación: Argentina
Posts: 162
Reputación: 16
pablopessoa Va por buen camino
Thumbs up Existe alguna tecnica para no repetir codigo?

Hola a todos!, hace rato que no escribia...
Les explico mi problema para que se entienda lo que quiero hacer, si se puede...

Tengo dos bases de datos. Las dos son iguales en estructura, solo qeu guardan datos distintos (una guarda datos personales y las otras los datos de las sucursales)
Por ende tengo dos datamodulos, donde se repiten las querys.
Ahora supongamos que tengo un formulario donde se hacen busquedas. Hoy en dia tengo un codigo de la siguiente forma:

Código Delphi [-]
if esBaseMia then {se busca en la base de mis datos}
   begin
       with datamodule1 do
       begin
           unaQuery.Parameters.ParamByName('parametro1').Value:=unValor;
           unaQuery.Parameters.ParamByName('parametro2').Value:=unValor;
           unaQuery.Parameters.ParamByName('parametro3').Value:=unValor;
       end
   end
else {se busca en la base de las sucursales}
        with datamodule2 do
        begin 
           unaQuery.Parameters.ParamByName('parametro1').Value:=unValor;
           unaQuery.Parameters.ParamByName('parametro2').Value:=unValor;
           unaQuery.Parameters.ParamByName('parametro3').Value:=unValor;
        end;
end;

Como veran se repite el mismo codigo, solo que como depende de con que datamodule tenga que trabajar, estoy obligado a repetir el mismo codigo dos veces.
yo probe hacer algo del tipo :

Código Delphi [-]
 case TipoBase of
      tPropias: with DataModule1 do
      tGeneral: with DataModule2 do
    end;
    begin
     ----------- {codigo que se repite}
pero obviamente esto no sirve, directamente no compila.

Espero que se entienda cual es mi problema y si alguno sabe como solucionar esto para no tener qeu repetir siempre el mismo codigo para un datamodule y para el otro lo agradeceria mucho.
Saludos a todos!!!