Crear objeto de tipo TString
¡Hola a tod@s!
Estoy haciendo una aplicación que dependiendo del usuario que acceda a ella mostrará una pantalla u otra.
Por eso quiero crear una lista de cadenas (TString o TStringList) para almacenar cada usuario y su contraseña, el código que he hecho es:
TStringList usuarios;
usuarios -> Append("admin");
for (int i = 0; i != usuarios.Count; i++)
{
if (usuarios[i] == txtUsuario -> Text) // EL USUARIO EXISTE
{
if (contrasenia[i] == txtContrasenia -> Text)
{
if (i == 0) // ES EL ADMINISTRADOR
{
frmUsuario -> Hide (); // CERRAMOS EL FORMULARIO ACTUAL
frmAdministrador -> Show (); // ABRIMOS EL FORMULARIO PARA EL ADMINISTRADOR
}
else // ES UN USUARIO NORMAL
{
frmUsuario -> Hide (); // CERRAMOS EL FORMULARIO ACTUAL
frmPpal -> Show (); // ABRIMOS EL FORMULARIO PRINCIPAL
}
Pero me da el siguiente error:
VCL style classes must be constructed using operator new.
Multiple declaration for \'usuarios\'
He puesto la librerÃa vcl/classes.hpp y he probado poniendo el constructor, pero nada funciona.
Espero que me podáis ayudar, muchas gracias de antemano.
Estoy haciendo una aplicación que dependiendo del usuario que acceda a ella mostrará una pantalla u otra.
Por eso quiero crear una lista de cadenas (TString o TStringList) para almacenar cada usuario y su contraseña, el código que he hecho es:
TStringList usuarios;
usuarios -> Append("admin");
for (int i = 0; i != usuarios.Count; i++)
{
if (usuarios[i] == txtUsuario -> Text) // EL USUARIO EXISTE
{
if (contrasenia[i] == txtContrasenia -> Text)
{
if (i == 0) // ES EL ADMINISTRADOR
{
frmUsuario -> Hide (); // CERRAMOS EL FORMULARIO ACTUAL
frmAdministrador -> Show (); // ABRIMOS EL FORMULARIO PARA EL ADMINISTRADOR
}
else // ES UN USUARIO NORMAL
{
frmUsuario -> Hide (); // CERRAMOS EL FORMULARIO ACTUAL
frmPpal -> Show (); // ABRIMOS EL FORMULARIO PRINCIPAL
}
Pero me da el siguiente error:
VCL style classes must be constructed using operator new.
Multiple declaration for \'usuarios\'
He puesto la librerÃa vcl/classes.hpp y he probado poniendo el constructor, pero nada funciona.
Espero que me podáis ayudar, muchas gracias de antemano.
Hola Agatha.
El error que te da indica que una variable de tipo TStringList debe ser creada con new, es decir:
TStringList * usuarios = new TStringList();
Respecto a la forma de comprobar el usuario y contraseña te aconsejo que uses el método "Trim()" por si al usuario se le escapa algún espacio en blanco, es decir:
if (usuarios->Strings[i].Trim() == txtUsuario->Text.Trim())
{
//correcto
}
FÃjate que para acceder a los usuarios que tienes almacenados en la variable "usuarios" debes acceder a la lista de cadenas de texto de la variable (usuarios->Strings[i])
Espero haberte ayudado.
Salu2
El error que te da indica que una variable de tipo TStringList debe ser creada con new, es decir:
TStringList * usuarios = new TStringList();
Respecto a la forma de comprobar el usuario y contraseña te aconsejo que uses el método "Trim()" por si al usuario se le escapa algún espacio en blanco, es decir:
if (usuarios->Strings[i].Trim() == txtUsuario->Text.Trim())
{
//correcto
}
FÃjate que para acceder a los usuarios que tienes almacenados en la variable "usuarios" debes acceder a la lista de cadenas de texto de la variable (usuarios->Strings[i])
Espero haberte ayudado.
Salu2
