• Viernes 8 de Noviembre de 2024, 23:06

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - bapho666

Páginas: [1]
1
C++ Builder / caracteres especiales en un memo! confusion...
« en: Sábado 11 de Abril de 2009, 00:53 »
tengo el siguiente codigo con un case el cual no admite caracteres especiales en un Memo y los envia a un Listbox el codigo si me funciona es el siguiente:
void __fastcall TForm1::Memo1KeyPress(TObject *Sender, char &Key)
{
switch (Key){
case '|': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '!': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '#': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '$': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '%': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '&': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '/': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '(': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case ')': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '=': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '?': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '¡': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '¿': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '{': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '}': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '[': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case ']': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '<': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '>': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '*': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '+': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '~': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '-': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '_': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
case '"': { Application->MessageBox("Valor Incorrecto","Error",0);
ListBox1->Items->Add(Key);
Key=5;
break; }
}
}

Tratando de optimizar ese codigo en menos lineas hice lo siguiente para que a travez del key con los caracteres del codigo ascii que van del (32 al 64) que son los caracteres especiales trate de hacerlo funcionar pero a la hora que corro el programa el Memo admite todo lo que ingreso como caracteres especiales y los manda al Listbox.


void __fastcall TForm1::Memo1KeyPress(TObject *Sender, char &Key)
{
if ( Key > '32' || Key < '64')
 {
Application->MessageBox("No Valido","Alerta",0);
   (ListBox1->Items->Add(Key));
    }
    Key=5;
    }

que puedo hacer que esta mal soy nuevo en el C++ builder 5 agradeceria su pronta respuesta con algun comentario que puediera ser de ayuda!

Páginas: [1]