Ver Mensaje Individual
  #11  
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
Aqui sigo, no se si alguien estará siguiendo este minitutorial, pero la intención es lo que cuenta.
Ya se hizo el código del botón depósitos, ahora necesitamos el botón retiros o Cheques.
Como dije en el post anterior, estos códigos son casi idénticos, casi, vamos a poner el código de este botón y fijaros en las sutiles diferencias, de echo copie y pegue el código del botón depósitos y solo le cambie estas diferencias, revisad lo y las encontrareis.
Botón Cheques (BRetiros):
Código Delphi [-]
procedure TBanco.BRetirosClick(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 Cheque'),
             PChar(''),
             MB_OK + MB_ICONSTOP + MB_DEFBUTTON1 + MB_APPLMODAL);
   end
   else // de lo contrario hago lo que sigue
   begin
    Banco.Fields[2].AsString:= 'Che'; //Con esto le coloco la palabra Che.
    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(DBRetiros.Text); // aqui se le asigna el valor a t1 DBRetiros
    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:= (sal - t1);  // 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;
Como veis son casi exactos.
Ya podéis ingresar depósitos y hacer retiros (cheques), hasta aquí va funcionando bien, espero os sirva de algo.
Saludos
Responder Con Cita