numerocuenta Class Reference

Esta clase implementa el Código Cuenta Cliente (CCC) de un banco. More...

#include <numerocuenta.h>


Public Member Functions

 numerocuenta (QString, QString, QString, QString)
 Banco, entidad, dc y numcuenta.
 numerocuenta (QString, QString, QString)
 Banco, entidad y numcuenta. El dc lo calcula automáticamente.
 numerocuenta (QString)
 Banco, entidad, dc y numcuenta todo seguido, con guiones opcionales.
 ~numerocuenta ()
QString getdc ()
 Calcula y devuelve los digitos de control del ccc.
bool cuentaesvalida ()
QString getcodigo (QString sep="")
 Devuelve el CCC separando sus miembros por la cadena sep.
QString getnumcuenta ()
 Devuelve el número de cuenta.
QString getbanco ()
 Devuelve el número de banco.
QString getentidad ()
 Devuelve el número de entidad.
void setnumcuenta (QString cad)
void setbanco (QString cad)
void setentidad (QString cad)

Private Attributes

QString banco
QString entidad
QString dc
QString numcuenta


Detailed Description

Esta clase implementa el Código Cuenta Cliente (CCC) de un banco.

Su función más importante es 'cuentaesvalida'.

Definition at line 28 of file numerocuenta.h.


Constructor & Destructor Documentation

numerocuenta::numerocuenta ( QString  bancopar,
QString  entidadpar,
QString  dcpar,
QString  numcuentapar 
)

Banco, entidad, dc y numcuenta.

Constructor con los 4 parametros

Parameters:
bancopar Codigo banco (4 digitos)
entidadpar Codigo entidad (4 digitos)
dcpar Digitos de Control (2 digitos)
numcuentapar Codigo de cuenta (10 digitos)

Definition at line 103 of file numerocuenta.cpp.

References dc, setbanco(), setentidad(), and setnumcuenta().

00103                                                                                                     {
00104     setbanco(bancopar);
00105     setentidad(entidadpar);
00106     setnumcuenta(numcuentapar);
00107     dc = dcpar;
00108 }

numerocuenta::numerocuenta ( QString  bancopar,
QString  entidadpar,
QString  numcuentapar 
)

Banco, entidad y numcuenta. El dc lo calcula automáticamente.

Parameters:
bancopar 
entidadpar 
numcuentapar 

Definition at line 117 of file numerocuenta.cpp.

References dc, getdc(), setbanco(), setentidad(), and setnumcuenta().

00117                                                                                      {
00118     setbanco(bancopar);
00119     setentidad(entidadpar);
00120     setnumcuenta(numcuentapar);
00121     dc = getdc();
00122 }

numerocuenta::numerocuenta ( QString  cuenpar  ) 

Banco, entidad, dc y numcuenta todo seguido, con guiones opcionales.

Parameters:
cuenpar 

TODO: Que elimine tambien otro tipo de caracteres como espacios, etc.

Definition at line 129 of file numerocuenta.cpp.

References banco, dc, entidad, and numcuenta.

00129                                           {
00130     QString tem = cuenpar;
00131     tem.remove("-"); 
00132     banco = tem.mid(0, 4);
00133     entidad = tem.mid(4, 4);
00134     dc = tem.mid(8, 2);
00135     numcuenta = tem.mid(10, 10);
00136 }

numerocuenta::~numerocuenta (  ) 

Definition at line 142 of file numerocuenta.cpp.

00142 {}


Member Function Documentation

QString numerocuenta::getdc (  ) 

Calcula y devuelve los digitos de control del ccc.

Returns:

Unidades = 6 Decenas = 3 Centenas = 7 Millares = 9 DiezMil. = 10 CienMil. = 5 Millones = 8 DiezMill.= 4 CienMill.= 2 MilMill. = 1

Definition at line 149 of file numerocuenta.cpp.

References banco, entidad, and numcuenta.

Referenced by cuentaesvalida(), and numerocuenta().

00149                             {
00150     QString resul;
00151     int i;
00152     int sum = 0;
00153 
00164 
00165     const int we[] = {
00166                          1, 2, 4, 8, 5, 10, 9, 7, 3, 6
00167                      };
00168 
00169     for (i = 0; i < 4; i++)
00170         sum += QString(banco[i]).toInt() * we[i + 2];
00171 
00172     for (i = 0; i < 4; i++)
00173         sum += QString(entidad[i]).toInt() * we[i + 6];
00174 
00175     sum = (sum % 11);
00176     sum = 11 - sum;
00177 
00178     if (sum == 11)
00179         sum = 0;
00180     if (sum == 10)
00181         sum = 1;
00182 
00183     int sum2 = 0;
00184     for (i = 0; i < 10; i++)
00185         sum2 += QString(numcuenta[i]).toInt() * we[i];
00186 
00187     sum2 = (sum2 % 11);
00188     sum2 = 11 - sum2;
00189 
00190     if (sum2 == 11)
00191         sum2 = 0;
00192     if (sum2 == 10)
00193         sum2 = 1;
00194 
00195     resul.sprintf("%d%d", sum, sum2);
00196     return resul;
00197 }

bool numerocuenta::cuentaesvalida (  ) 

Comprueba si es un numero de cuenta valido. Devuelve TRUE si es un CCC correcto. FALSE en caso contrario.

Definition at line 29 of file numerocuenta.cpp.

References dc, and getdc().

Referenced by Mod300ps::accept().

00029                                   {
00030     return (getdc() == dc);
00031 }

QString numerocuenta::getcodigo ( QString  sep = ""  ) 

Devuelve el CCC separando sus miembros por la cadena sep.

Parameters:
sep 
Returns:

Definition at line 39 of file numerocuenta.cpp.

References banco, dc, entidad, and numcuenta.

Referenced by Mod300ps::escribe_cuenta_bancaria().

00039                                            {
00040     return (banco + sep + entidad + sep + dc + sep + numcuenta);
00041 }

QString numerocuenta::getnumcuenta (  ) 

Devuelve el número de cuenta.

Returns:

Definition at line 48 of file numerocuenta.cpp.

References numcuenta.

00048                                    {
00049     return numcuenta;
00050 }

QString numerocuenta::getbanco (  ) 

Devuelve el número de banco.

Returns:

Definition at line 57 of file numerocuenta.cpp.

References banco.

00057                                {
00058     return banco;
00059 }

QString numerocuenta::getentidad (  ) 

Devuelve el número de entidad.

Returns:

Definition at line 66 of file numerocuenta.cpp.

References entidad.

00066                                  {
00067     return entidad;
00068 }

void numerocuenta::setnumcuenta ( QString  cad  ) 

Fija el número de cuenta. Si el argumento tiene menos de 10 dígitos, se rellena con ceros a la izquierda.

Definition at line 75 of file numerocuenta.cpp.

References numcuenta.

Referenced by numerocuenta().

00075                                            {
00076     numcuenta = cad.rightJustified(10, '0');
00077 }

void numerocuenta::setbanco ( QString  cad  ) 

Fija el número de banco. Si el argumento tiene menos de 4 dígitos, se rellena con ceros a la izquierda.

Definition at line 84 of file numerocuenta.cpp.

References banco.

Referenced by numerocuenta().

00084                                        {
00085     banco = cad.rightJustified(4, '0');
00086 }

void numerocuenta::setentidad ( QString  cad  ) 

Fija el número de entidad. Si el argumento tiene menos de 4 dígitos, se rellena con ceros a la izquierda.

Definition at line 93 of file numerocuenta.cpp.

References entidad.

Referenced by numerocuenta().

00093                                          {
00094     entidad = cad.rightJustified(4, '0');
00095 }


Field Documentation

QString numerocuenta::banco [private]

Definition at line 61 of file numerocuenta.h.

Referenced by getbanco(), getcodigo(), getdc(), numerocuenta(), and setbanco().

QString numerocuenta::entidad [private]

Definition at line 62 of file numerocuenta.h.

Referenced by getcodigo(), getdc(), getentidad(), numerocuenta(), and setentidad().

QString numerocuenta::dc [private]

Definition at line 63 of file numerocuenta.h.

Referenced by cuentaesvalida(), getcodigo(), and numerocuenta().

QString numerocuenta::numcuenta [private]

Definition at line 64 of file numerocuenta.h.

Referenced by getcodigo(), getdc(), getnumcuenta(), numerocuenta(), and setnumcuenta().


The documentation for this class was generated from the following files:
Generated on Sat Dec 15 00:02:01 2007 for BulmaGes by  doxygen 1.5.1