Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2007
sdiaz1983 sdiaz1983 is offline
Miembro
 
Registrado: sep 2007
Posts: 52
Poder: 17
sdiaz1983 Va por buen camino
Ayuda en cierto trabajo de clase (y trata sobre clases, precisamente)

Señores del Foro Muy buen dia.

Les Queria pedir un favor a ustedes, pero antes de decirle lo que les quiero decir aca esta el enunciado de un trabajo de clase:
  • Construir un objeto tcuenta, que reciba un número de cuenta y una contraseña, luego haga una consulta sobre la tabla cuentas y responda informando si la cuenta existe, si la contraseña es correcta y en caso afirmativo autorice al usuario a solicitar el monto del retiro.
  • Construir un objeto tcajero, que reciba el monto requerido por el usuario, consulte la tabla "cajero" y responda si con los billetes que tiene puede construir el monto solicitado y en caso afirmativo autorice el retiro.
  • Después de lo anterior, el objeto Tcuenta debe consultar si el saldo de la cuenta es suficiente, y en caso tal, descuente de dicho saldo el monto del retiro y autorice la entrega del dinero.
  • Finalmente el objeto tcajero debe entregar el dinero y actualizar el inventario de billetes.

CUENTAS
#numero a9
Saldo $
Contraseña a6

CAJERO
B50 I
B20 I
B10 I

De ese enunciado lo que ya tengo hecho es el primer punto que es construir el objeto TCuenta y que me valide las cuentas y los usuarios, en los renglones siguientes les coloco el codigo que mas o menso intente de hacer tanto para el objeto tcuenta como el formulario validar que es el que hace la validacion de las cuentas.

Código Delphi [-]
 
unit Cuenta;
interface
uses Classes, DBTables, QControls, SysUtils,Windows, Messages, Variants,Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TCuenta = class(TWidgetControl)
private
Qry1 : TQuery;
FCuen: ShortString;
FCon : ShortString;
public
property Cue : ShortString read FCuen write FCuen;
property Con : ShortString read FCon write FCon;
procedure Buscar(Direccion,Archivo,Ccuen,Ccon,cuenta,Contrasena : ShortString);
end;
implementation
uses validar;
procedure Tcuenta.Buscar(Direccion,Archivo,Ccuen,Ccon,cuenta,contrasena: ShortString);
Begin
FCon:=Contrasena;
FCuen:=cuenta;
if Qry1=nil then Qry1:=TQuery.Create(Owner);
Qry1.DatabaseName:=Direccion;
Qry1.SQL.Text:='select * from '+Archivo+' where '+Ccuen+'=:P1 and '+Ccon+'=:P2';
Qry1.Params[1].AsString:=FCon;
Qry1.Params[0].AsString:=FCuen;
Qry1.Active:=True;
if Qry1.RecordCount>0 then
begin
FCuen:=Qry1.FieldByName(Ccuen).AsString;
FCon:=Qry1.FieldByName(Ccon).AsString;
MessageDlg('INFORMACION CORRECTA BIENVENIDO',mtInformation,[mbok],0);
FrmValidar.BtnIr.Enabled:=true;
FrmValidar.EdtCuenta.Enabled:=False;
FrmValidar.EdtContra.Enabled:=False;
FrmValidar.EdtCuenta.Text:='';
FrmValidar.EdtContra.Text:='';
Qry1.Active:=False;
end
else
begin
MessageDlg('CUENTA Y/O CONTRASEÑA INCORRECTOS',mtError,[mbok],0);
FrmValidar.EdtCuenta.SetFocus;
FrmValidar.EdtCuenta.Text:='';
FrmValidar.EdtContra.Text:='';
end;
end;
end.

Código Delphi [-]
unit validar;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Cuenta;
type
TFrmValidar = class(TForm)
LblTitulo: TLabel;
LblCuenta: TLabel;
LblContra: TLabel;
EdtCuenta: TEdit;
EdtContra: TEdit;
BtnIr: TButton;
BtnFin: TButton;
procedure BtnFinClick(Sender: TObject);
procedure EdtContraKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BtnIrClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmValidar: TFrmValidar;
Cuen: TCuenta;
implementation
uses Transaccion;
  
{$R *.dfm}
procedure TFrmValidar.BtnFinClick(Sender: TObject);
begin
FrmValidar.Close;
end;
procedure TFrmValidar.EdtContraKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RETURN then
begin
if Cuen=nil then Cuen:=TCuenta.Create(FrmValidar);
Cuen.Buscar('c:\parcial3','cuentas','Numero','Contraseña',EdtCuenta.Text,EdtContra.Text);
EdtCuenta.Text:=Cuen.Cue;
EdtContra.Text:=Cuen.Con;

end;
end;
procedure TFrmValidar.BtnIrClick(Sender: TObject);
begin
FrmValidar.Visible:=False;
FrmTransacciones:=TFrmTransacciones.Create(self);
try
FrmTransacciones.ShowModal;
finally
FrmTransacciones.Free;
end;
end;
end.

Resulta que como no tengo casi muy claro el tema este de objetos y esas cuestiones he estado tratando de crear infructuosamente el objeto cajero par ahacer los siguientes.

El favor que les iva a pedir es si alguno de ustedes me puede orientar en base al codigo que les consigno aca como deberia mas o menos plantear el objeto Tcajero par hacer el otro punto y mas que todo lo que em tiene embolatado es como planteo la consulta sqlm por que lo que hast el momento mas o menos he tratado de plantear es:

Código SQL [-]
 
select sum((B50*50000)+(B20*20000)+(B10*10000)) from cajero;

Segun tengo entendido esta consulta me suma en los campos B50,B20,B10 segun el parametro que consigno ahi.

Pero como me dice que tiene que comparar con la cantidad que el usuario consigna ahi en el programa entonces no se si tiene que comparar con algo mas la verdad no se.

Les agradezco toda al asesoria que me puedan prestar para eso y las pautas que me puedan proporcionar para poder crear el objeto TCajero y tambien para hacer los otros puntos.

El Programa que llevo esta en el siguiente enlace:

http://www.gigasize.com/get.php/3196...voparcial3.rar
contraseña: 2061055


Por si acaso alguno lo quiere observar y asi tener mas fundamento par ael favor que les pido.

Compañeros del foro me despido no si antes agradecerles por toda la ayuda que me pueda prestar y espero no causar alguna molestia

Muchas Gracias.

Última edición por dec fecha: 24-11-2007 a las 20:28:00.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Necesito llamar a métodos de clases "hija" desde su clase "padre" Flecha OOP 17 20-04-2007 00:03:53
dudas sobre clases String e Integer radaalvaro .NET 6 24-08-2006 18:24:51
sobre clases Thalia OOP 10 13-07-2006 20:36:19
Ayuda con el dissenyo de una aplicacion. Clases o no? tramjauer OOP 17 06-09-2005 09:34:20
Sobre cierto resultado de la función SHGetSpecialFolderPath dec API de Windows 3 01-06-2005 06:59:01


La franja horaria es GMT +2. Ahora son las 17:47:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi