Cita:
Empezado por Angel.Matilla
...me llamó la atención que si en vez de poner el literal "sysdba" metía ese valor en una variable, así:
Código:
AnsiString cUser = "sysdba", cClave = "masterkey";
NombreUser = Usuario->Text == Date().FormatString("yymmdd") ? cUser : Usuario->Text.Trim();
ClaveUser = Usuario->Text == Date().FormatString("yymmdd") ? cClave : Clave->Text.Trim();
¡no da error de compilación! lo cual me deja totalmente perplejo.
|
Al colocar el literal "
sysdba" el compilador puede tratarlo como un char[], como un AnsiString o como un String. Lo suyo es declarar la variable del tipo apropiado o forzar el cast en la expresión.
Código:
AnsiString Nombre, Prueba = "SISTEMA"; Nombre = Usuario->Text == Prueba ? AnsiString("sysdba") : Usuario->Text;