Ir al contenido


Foto

Guardar en un Ini un Char y posterior recuperacion


  • Por favor identifícate para responder
3 respuestas en este tema

#1 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 08 mayo 2009 - 03:44

Hola!

Con el siguiente codigo guardo un caracter de control o cualquier valor ASCII en un archivo Ini:



delphi
  1. //En este caso guardo el ASCII 2 o <STX>
  2. WriteString('Caracteres','Inicio',#2);



Hasta aqui todo OK. si reviso el archivo ini creado me muestra:

[Caracteres]
Inicio= // un cuadrito que representa el caracter de control


Mi pregunta es como recupero ese valor Ascii ?



delphi
  1. //Aqui leo el archivo y asigno a #6 como valor por default si no existiese otro valor
  2. charControl := F.ReadString('Caracteres','Inicio',#6);



El asunto es que el valor de #2 guardado en el ini no me lo recupera, siempre muestra el valor por defecto. Algo se me esta olvidando......


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 08 mayo 2009 - 03:58

Hola

Y porque no en lugar de guardar el caracter, guardas un entero y al recuperarlo lo conviertes a caracter.



delphi
  1. var
  2.   charControl: integer;
  3.  
  4. begin
  5.    charControl := F.ReadInteger('Caracteres','Inicio',6);
  6.    Char(charControl);
  7. end;



Salud OS
  • 0

#3 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 08 mayo 2009 - 04:04

...


[Caracteres]
Inicio= // un cuadrito que representa el caracter de control


El problema es que el cuadradito representa un caracter no imprimible. Cuando lo lees o escribes en un archivo en modo no binario, la lectura es errónea. Si almacenas el entero, como apunta egostar, no tendrás ese error.

Saludos
  • 0

#4 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 08 mayo 2009 - 05:42

Hola

Y porque no en lugar de guardar el caracter, guardas un entero y al recuperarlo lo conviertes a caracter.



delphi
  1. var
  2.   charControl: integer;
  3.  
  4. begin
  5.   charControl := F.ReadInteger('Caracteres','Inicio',6);
  6.   [b][color=red]Char(charControl)[/color];[/b]
  7. end;



Salud OS



OK, ya quedo.

1. El calor me esta afectando ó
2. Empeze el festejo del sensei temprano

no veia esa sentencia!!!!!!! :D :p (b) (b) (b) (b) (b)
  • 0




IP.Board spam blocked by CleanTalk.