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

Registrado: 23 Feb 2006Mensajes: 18
|
Publicado: Mie 05 Jul, 2006 12:29 pm Asunto: \n en un archivo ".INI" |
|
|
Hola a todos. Estpy trabajando con archivo de configuración .INI donde tengo parejas clave=valor que necesito sacar por pantalla.
El problema esta en que no se interpretar los caracteres especiales del apartado valor, para que cuando en el archivo .INI aparezca el valor | Código: | Hola mundo. \nEstoy aqui |
aparezca como
| Código: | Hola mundo.
Estoy aqui |
y no se vea el \n
Alguien me puede hechar una mano?
Gracias de antemano |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Jue 13 Jul, 2006 12:47 pm Asunto: |
|
|
Personalmete en un fichero INI yo no pondría códigos de control, que la fin y al cabo el \n es un salto de línea -LF-.
De todas formas, esos carácteres \r\n (Retorno de carro y Avance de línea -CR LF-), los elementos de Builder que admiten más de una línea los interpretan sólos. Prueba una cosa:
| Código: | ShowMessage("1ª línea\n2ª línea"); |
Verás como aparecen dos líneas en el cuadro diálogo sin necesidad de hacer nada más. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
titomac Cdt

Registrado: 23 Feb 2006Mensajes: 18
|
Publicado: Jue 13 Jul, 2006 1:54 pm Asunto: |
|
|
muchas gracias por esa solucion. Estoy de acuerdo de que apareceria en 2 lineas, pero para ello tengo que tener dos entradas en el INI, y estaba interesado de que fuera una sola.
Aunque si no puede ser, tendré que hacerlo así.
Muchas gracias de nuevo |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
titomac Cdt

Registrado: 23 Feb 2006Mensajes: 18
|
Publicado: Jue 13 Jul, 2006 9:50 pm Asunto: |
|
|
| Ese no seria problema, ya que el ini no se modificaria nunca. Solo necesito leer de las secciones e interpretar el \n como un salto |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Vie 14 Jul, 2006 8:00 am Asunto: |
|
|
Haz una coas: Cuando vayas a grabar el fichero, ANTES de poner la instrucción WritePrivate... donde haya un salto de línea (\n) inserta un carácter que tú quieras, y al leerlo haz lo inverso. Me explico:
Supón que tienes que grabar en el fichero INI una instrucción como la que ponías antes (Hola mundo. \nEstoy aqui), que esté guardado por ejemplo en un AnsiString. Yo haría algo así:
| Código: | AnsiString cValor = "Hola mundo. \nEstoy aqui";
AnsIString cAuxil = StringReplace(cValor, "\n", "|", TReplaceFlags() << rfReplaceAll);
WritePrivateProfileString("SECCION", "Clave", cAuxil.c_str(), IniFile); | Con esto la línea de la clave en el fichero INI quedaría así:
| Código: | Hola mundo. |Estoy aqui | Y para leerla, al revés:
| Código: | char cAuxil[128] = "\0";
AnsiString cValor;
GetPrivateProfileString("SECCION", "Clave", "", cAuxil, sizeof(cAuxil), IniFile);
cValor = StringReplace(AnsiString(cAuxil), "|", "\n", TReplaceFlags() << rfReplaceAll); | Creo que te valdría. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
|