Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-05-2010
rodrigo881215 rodrigo881215 is offline
Registrado
 
Registrado: may 2010
Posts: 2
Poder: 0
rodrigo881215 Va por buen camino
Exclamation problemas al crear objetos en delphi

Hola que tal, soy nuevo en esto de programar con delphi y me dejaron un proyecto de de cajero automatico. El trabajo consiste en pasar un cajero hecho en builder a delphi, el problema es que me marca errores en tiempo de ejecucion, marca un Access Violation, pienso que el problema puede ser que no estoy creando bien los objetos de mi clases o que no estan bien declarados, tambien en builder uso la clase vector para almacenar datos no se si alla una parecida en delphi, la que encontre es TList, pero haber si me recomienda otra. Aqui les anexo parte del codigo que creo que es el problema. Espera me puedan ayudar y me respondan pronto. Gracias.

Código Delphi [-]
unit UBaseDatosBanco;

interface

uses
   Classes, UCuenta, Forms;

type
   //cuentas = TList;
   BaseDatosBanco = class (TObject)
   public
      constructor Create;
      function autenticarUsuario(numeroCuentaUsuario, nipUsuario: Integer): Boolean;
      function obtenerSaldoDisponible(numeroCuentaUsuario: Integer): Double;
      function obtenerSaldoTotal(numeroCuentaUsuario: Integer): Double;
      procedure abonar(numeroCuentaUsuario: Integer; monto: Double);
      procedure cargar(numeroCuentaUsuario: Integer; monto: Double);
   private
      //cuentas: TList;
      function obtenerCuenta(numeroCuenta: Integer): Cuenta;
   end;

var
   cuentas: TList;
   cuentaUsuarioPtr: Cuenta;
   cuenta1, cuenta2, cuenta3: Cuenta;

implementation

constructor BaseDatosBanco.Create;
begin
   //inherited Create;
   cuentas := TList.Create;
   cuenta1 := Cuenta.Create(12345, 54321, 1000.0, 1200.0);
   cuenta2 := Cuenta.Create(98765, 56789, 200.0, 200.0);
   cuenta3 := Cuenta.Create(69, 96, 1800.0, 2000.0);
   cuentas.Add(cuenta1);
   cuentas.Add(cuenta2);
   cuentas.Add(cuenta3);
end;

function BaseDatosBanco.obtenerCuenta(numeroCuenta: Integer): Cuenta;
var
   i: Integer;
begin
   for i := 0 to 2 do
   begin
      if ((Cuenta(cuentas.Items[i]).obtenerNumeroCuenta) = numeroCuenta) then
         obtenerCuenta := Cuenta(cuentas.Items[i]);
         //Application.MessageBox(Cuenta(cuentas.Items[i]), "", 0);
   end;
   obtenerCuenta := nil;
end;

function BaseDatosBanco.autenticarUsuario(numeroCuentaUsuario, nipUsuario: Integer): Boolean;
{var
 cuentaUsuarioPtr: Cuenta;}
begin
   cuentaUsuarioPtr := obtenerCuenta(numeroCuentaUsuario);
   if (cuentaUsuarioPtr <> nil) then autenticarUsuario := cuentaUsuarioPtr.validarNip(nipUsuario)
   else
      autenticarUsuario := false
end;

function BaseDatosBanco.obtenerSaldoDisponible(numeroCuentaUsuario: Integer): Double;
begin;
   cuentaUsuarioPtr := obtenerCuenta(numeroCuentaUsuario);
   obtenerSaldoDisponible := cuentaUsuarioPtr.obtenerSaldoDisponible;
end;

function BaseDatosBanco.obtenerSaldoTotal(numeroCuentaUsuario: Integer): Double;
begin
   cuentaUsuarioPtr := obtenerCuenta(numeroCuentaUsuario);
   obtenerSaldoTotal := cuentaUsuarioPtr.obtenerSaldoTotal;
end;

procedure BaseDatosBanco.abonar(numeroCuentaUsuario: Integer; monto: Double);
begin
   cuentaUsuarioPtr := obtenerCuenta(numeroCuentaUsuario);
   cuentaUsuarioPtr.abonar(monto);
end;

procedure BaseDatosBanco.cargar(numeroCuentaUsuario: Integer; monto: Double);
begin
   cuentaUsuarioPtr := obtenerCuenta(numeroCuentaUsuario);
   cuentaUsuarioPtr.cargar(monto);
end;

end.

Última edición por rgstuamigo fecha: 31-05-2010 a las 23:57:52. Razón: Estética en el código
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
Crear Objetos en tiempo de ejecucion mmtaffarel OOP 8 14-01-2024 17:55:25
Crear objetos en tiempo de corrida Cheswar Varios 4 05-09-2007 09:41:11
Problema al momento de crear objetos DANY OOP 5 28-11-2005 10:28:05
Quiero crear objetos en tiempo de ejecución con IntraWeb en Delphi 7 atirado OOP 3 11-03-2004 23:06:31
crear objetos Javier PLatas OOP 6 10-06-2003 13:55:31


La franja horaria es GMT +2. Ahora son las 20:45:12.


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