| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Mack Cdt

Registrado: 16 Ene 2003Mensajes: 13Ubicación: Armenia COLOMBIA
|
Publicado: Mie 28 May, 2003 6:44 am Asunto: Convertir un int a AnsiString |
|
|
Hola, quiero saber si alguien me puede ayudar con esto.
Quiero que un int que tenga el valor ascii de una letra (o bien sea cualquier caracter), se pueda pasar a una variable AnsiString con su valor como caracter. La cosa es algo asi:
int i;
AnsiString Letra;
i=97; //Ascii de 'a'
Letra=i; //Pero que Letra valga 'a' y no 97.
//Obviamente asi no se hace
Ya he tratado con itoa y demas funciones pero aun no lo logro.
Como hago eso?
De antemano gracias. MacK |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mie 28 May, 2003 7:55 am Asunto: Conversión |
|
|
A mi se me ha dado un caso similar (tener que usar el valor del código ASCII) y lo resolví mediante una variable de tipo char. Por ejemplo, supón que tienes que tratar esas variabel Letra de tu ejemplo; yo lo haría así:
| Código: | int i = 0;
AnsiString Letra = "a";
AnsiString Cadena = "";
i = Letra.c_str()[0];
Cadena = IntToStr(i); |
A mi me funciona (mira la rutina que he puesto en Rutina de encriptación; verás una definición similar). Esto sería para una sola letra. Si tienes que hacerlo para una cadena completa, basta con que crees un bucle.
Sé que hay otro método, con una función de C++ directa (la inversa de CHAR(Valor)), pero no soy capaz de encontrarla; me parece recordar que era CODE(Letra) o similar. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Mack Cdt

Registrado: 16 Ene 2003Mensajes: 13Ubicación: Armenia COLOMBIA
|
Publicado: Jue 29 May, 2003 5:57 am Asunto: Gracias Angel |
|
|
Angel, gracias, ya solucione por lo menos el problema que tenia, lo hice con casos, mas o menos es asi:
| Código: |
switch(i)
{
case 97:
{
Letra='a';
break;
}
.
.
.
.
|
No es nada optimo pero me saco del aprieto, de todos modos voy a probar con tu solucion. Gracias
Suerte a todos MacK |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Jue 29 May, 2003 5:49 pm Asunto: |
|
|
Estoy un poco de prisa pero lei que algo de converit el valor ascci a su letra correspndiente y viceversa.. (creo)
char letra;
letra=64;
lo que realmente se guardo en la variable es el la "@" que corresponde al valor 64 o viceversa
int ascci=0;
char letra='@';
ascci=letra; // en ascci se guardo el 64
ahora para convertir esto en AnsiString
AnsiString cadena;
cadena=(AnsiString)letra; // cast
Saludos espero te sirva
soy touchsoftwarres pero no me registre.. bye |
|
| Volver arriba |
|
 |
|