Ver Mensaje Individual
  #10  
Antiguo 15-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Aquí vamos con el primero, es realmente facil.
NOTA: Tanto para depositos como para los retiros en este estamos usando dos botones, escondiéndolos de vez en cuando, esto se puede hacer con un solo boton o de muchas maneras mas, en este caso lo hago así en recordatorio de como aprendí, bueno sigo aprendiendo, pero tómenlo en cuenta.
Boton Depositos, (BDeposito):
Código Delphi [-]
procedure TBanco.BDepositoClick(Sender: TObject);
  // hay otras maneras de hacer esto, por ejemplo con campos calculados
  // en este minitutorial lo hare con variables, son faciles de entender
    var
    n1,n2,sal,t1,salt: real; // estas las usaremos para hacer los calculos
 begin
   If DBNTransac.Text = '' then // aqui envio un mensaje si esta vacio el dbdeit
   begin
   MessageBox(Handle,
             PChar('Tiene que Indicar el numero de Deposito'),
             PChar(''),
             MB_OK + MB_ICONSTOP + MB_DEFBUTTON1 + MB_APPLMODAL);
   end
   else // de lo contrario hago lo que sigue
   begin
    Banco.Fields[2].AsString:= 'Dep'; //Con esto le coloco la palabra Dep.
    n1:= SumRet.Fields[0].AsFloat; // aqui se le asigna el valor a n1 Retiros
    n2:= SumDep.Fields[0].AsFloat; // aqui se le asigna el valor a n2 depositos
    t1:= StrTofloat(DBDeposit.Text); // aqui se le asigna el valor a t1 DBDeposito
    sal:= n2 - n1; // aqui se hace la primera operacion y se asigna a sal
    DBSalAnt.Text:= floatToStr(sal); // aqui se indica que sal = a DBSalAnt
    salt:= (t1 + sal);  // aqui se hace la segunda operacion y se asigna a salt
    Banco.Fields[8].AsFloat:= salt; // aqui le doy el valor de salt
    Begin
    Banco.Fields[3].AsDateTime:= DTP1.Date; // establezco la fecha
    Banco.Edit; // edito la tabla
    Banco.Post; // guardo los resultados
    // Deshabilitamos los dbdeit
    DBNTransac.Enabled := False;
    DBDescrip.Enabled := False;
    DBDeposit.Enabled:= False;
    DBRetiros.Enabled := False;
    DBSalAnt.Enabled:= False;
    // escondemos los botones
    BDeposito.Visible:= False;
    BRetiros.Visible:= False;
    // colocamos el combobox vacio y lo deshabilitamos
    CBTipo.Text := ' ';
    CBTipo.Enabled := False;
    // deshabilitamos el navegador
    DBNavigator1.Enabled := False;
    // cerramos las tablas, o las desactivamos
    Banco.Active := False;
    SumRet.Active := False;
    SumDep.Active := False;
    // abrimos de nuevo las tablas, con esto se actualizan
    Banco.Active := True;
    SumRet.Active := True;
    SumDep.Active := True;
    Banco.Last; // vemos el ultimo registro
    // colocamos el nuevo resultado en el edit
    ESalTot.Text := FloatToStr((SumDep.Fields[0].AsFloat) - SumRet.Fields[0].AsFloat);
    end;
       end;
           end;
Ya podeis entrar cifras y probar, el boton de retiros es practicamente el mismo codigo, aun asi lo colocare.
Saludos
Responder Con Cita