Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Convertir un int a AnsiString

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Convertir un int a AnsiString Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Conversión Responder citando

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
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Gracias Angel Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

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
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.