Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2015
Zina Zina is offline
Miembro
NULL
 
Registrado: oct 2015
Posts: 16
Poder: 0
Zina Va por buen camino
Unhappy Problema Inno Setup

Hola, quisiera agregar una linea de texto a un archivo con la herramienta [INI] sólo que al agregar dicha linea, me aparece ejemplo: [section] llave=texto_que quiero agregar, no quiero que se generen los corchete ni el simbolo igual, sólo quiero que se agregue un simple texto, necesito de su ayuda!!!
Responder Con Cita
  #2  
Antiguo 02-11-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.273
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Todo dependerá de cómo estés intentando añadir la línea de texto.
Tal vez si pones el código que estás utilizando podamos hacernos una idea de porqué te pasa lo que te pasa.

Aprovecho para darte la bienvenida y recordarte que leas la guía de estilo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 03-11-2015
Zina Zina is offline
Miembro
NULL
 
Registrado: oct 2015
Posts: 16
Poder: 0
Zina Va por buen camino
Mira:
[Ini]
Filename: "{userdesktop}\prueba.txt"; Section: null ; Key:"sina"; String: "sina"

El resultado es:
[null]
sina=sina


El problema con esta prueba que estoy haciendo es que no me salga [null] ni el simbolo de '=', unicamente necesito que sea una línea de texto. o habrá alguna otra forma de agregar texto en un archivo?

Espero sus comentarios, muchas gracias.
Responder Con Cita
  #4  
Antiguo 03-11-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.273
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Utiliza un TStrinList.

Código Delphi [-]
var
  TS:TStringList;
  AFileName:String;
begin
  // Rellenar el nombre del fichero
  AFilename := 'C:\temp\ficherotemporal.ini';
  // Cargar el contenido
  TS := TStringList.Create;
  TS.LoadFromFile(AFileName);
  // Añadir una linea
  TS.Add('Filename: "{userdesktop}\prueba.txt"; Section: null ; Key:"sina"; String: "sina"');
  // Volver a Grabarlo
  TS.SaveToFile(AFileName);

Según lo que he entendido, que no es mucho, esto debería servir.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 03-11-2015
Zina Zina is offline
Miembro
NULL
 
Registrado: oct 2015
Posts: 16
Poder: 0
Zina Va por buen camino
Hola de nuevo,

Entonces seria desde un [code] no? soy nueva en esto del Inno Setup entonces supongo que es con eso del Code???,
Así tal cual no lo lee necesito finalizarlo con End., End; no me lo valida., lo ejecuto y no me agrega nada .

Código Delphi [-]
var
  TS:TStringList;
  AFileName:String;
begin
  // Rellenar el nombre del fichero
  AFilename := '{userdesktop}\prueba.txt';
  // Cargar el contenido
  TS := TStringList.Create;
  TS.LoadFromFile(AFileName);
  // Añadir una linea
  TS.Add('String: "sina"');
  // Volver a Grabarlo
  TS.SaveToFile(AFileName);
 End .


Lo estaré haciendo mal?

Última edición por Neftali [Germán.Estévez] fecha: 04-11-2015 a las 09:45:04. Razón: Corregidas etiquetas
Responder Con Cita
  #6  
Antiguo 03-11-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #7  
Antiguo 03-11-2015
Zina Zina is offline
Miembro
NULL
 
Registrado: oct 2015
Posts: 16
Poder: 0
Zina Va por buen camino
Pérdón!!

Va de nuevo


Código Delphi [-]
var
TS:TStringList;
AFileName:String;
begin
// Rellenar el nombre del fichero
AFilename := '{userdesktop}\prueba.txt';
// Cargar el contenido
TS := TStringList.Create;
TS.LoadFromFile(AFileName);
// Añadir una linea
TS.Add('String: "sina"');
// Volver a Grabarlo
TS.SaveToFile(AFileName);
End .
Responder Con Cita
  #8  
Antiguo 04-11-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.273
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Zina Ver Mensaje
Hola de nuevo,

Entonces seria desde un [code] no? soy nueva en esto del Inno Setup entonces supongo que es con eso del Code???,
Así tal cual no lo lee necesito finalizarlo con End., End; no me lo valida., lo ejecuto y no me agrega nada .
Hola.
¿Pero, esto desde dónde lo quieres hacer?

Este es un código delphi/pascal.
¿Esto se ejecuta desde delphi?

De verdad que no cuesta tanto explicar las cosas con un poco de detalle y con rigurosidad. Y dedicarle tiempo a preguntar.
Porque de otra forma, la gente (como yo) que está intentando ayudarte se desespera y le entran ganas de dejarlo.

De verdad, lee la linea que has puesto e inteta ponerte en nuestro lugar:

Cita:
Empezado por Zina Ver Mensaje
...quisiera agregar una linea de texto a un archivo con la herramienta [INI] sólo que al agregar dicha linea, me aparece ejemplo: [section] llave=texto_que quiero agregar, no quiero que se generen los corchete ni el simbolo igual, sólo quiero que se agregue un simple texto
con la herramienta [INI]
=> Eso no es ninguna herramienta
sólo que al agregar dicha linea,
=> No dices ni cómo, ni con qué, ni desde dónde estás agregando esa línea
no quiero que se generen los corchete ni el simbolo igual, sólo quiero que se agregue un simple texto
=> Sin saber la respuesta a la pregunta anterior, esta ya ni tiene sentido.

Creo de verdad que la cuestión es sencilla, pero sincéramente, da la impresión de que ni siquiera has dedicado 1 minuto a explicar lo que necesitas.
¿Cómo quieres que la gente le dedique 5 o 10 a ayudarte?

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 04-11-2015
iMia iMia is offline
Miembro
 
Registrado: jul 2010
Posts: 141
Poder: 14
iMia Va por buen camino
Un archivo INI de configuración está organizado en secciones...

Código:
[SECCION1]
elemento1DeLaSeccion1=Valor
elemento2DeLaSeccion1=Valor
..
elementonDeLaSeccion1=Valor

[SECCION2]
elemento1DeLaSeccion2=Valor
elemento2DeLaSeccion2=Valor
..
elementomDeLaSeccion2=Valor
por lo que al leer/escribir un archivo INI, debes indicar la sección donde va/está el valor a leer/escribir...
Responder Con Cita
  #10  
Antiguo 04-11-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.273
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por iMia Ver Mensaje
Un archivo INI de configuración está organizado en secciones...
por lo que al leer/escribir un archivo INI, debes indicar la sección donde va/está el valor a leer/escribir...
Correcto. Se como están organizados los archivos INI.
Y ese archivo INI es a su vez un archivo de texto.
Por lo tanto lo puedes acceder como:

1) Archivo INI. Para ello debes usar la calase TIniFile, con los métodos de esta clase. Puedes añadir líneas, secciones,...
2) Archivo plano de texto. Para ello puedes usar la clase TStringList, como te puse en el ejemplo. Puedes también añadir líneas, borrarlas, editarlas,...
En este último caso, no se trabaja con secciones ni lineas tipo "Clave=Valor", sino con líneas de texto directamente.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #11  
Antiguo 04-11-2015
Zina Zina is offline
Miembro
NULL
 
Registrado: oct 2015
Posts: 16
Poder: 0
Zina Va por buen camino
Hola,

Gracias por sus comentarios, sobre la duda que tenía era como lo puse en el encabezado, pero igual como me lo dicen no me expliqué bien desde un principio y pido disculpa.

El problema es que estoy trabajando con Inno Setup (crear un setup), investigué y encontré que el Inno Setup era fiable para este tipo de requerimiento. El Inno setup crea un .iss, se ve la configuracion de mi instalacion, ahora yo requería que el mismo instalador me agregara una IP en el archivo Host de mi Sistema, y empezé por configurar un archivo de texto cualquiera ubicado en mi Escritorio, estuve investigando ya que soy nueva en el uso de la herramienta Inno Setup y vi que existe [INI] section el cual puede agregar lineas de texto en un archivo, al menos eso vi en su foro, el problema es que como les dije en un principio, lo hice así:

[Ini]
Filename: "{userdesktop}\prueba.txt"; Section: line10; Key:192.186; String: aqui mi texto de prueba

Y mi resultado fue este:

[line10]
192.186=aqui mi texto de prueba

Ya que no puedo omitir ningún parametro por que no imprime si le hace falta alguno.

Así que busqué otras alternativas, y me dijeron que con el código anterior, solo que en Inno Setup tengo que poner la Section [code] para que me reconozca el código, o al menos así lo supuse yo, pero no me agrega ninguna linea de texto.

Espero haber sido más clara y si no es así, les agradezco sus aportaciones y disculpen si no he podido explicarme mejor.

Nota: El código de de [INI] no sé donde configurarlo para que salga como código por que no es Delphi u alguno de las opciones que aquí aparecen, o no sé donde sea, disculpen.

Gracias
Responder Con Cita
  #12  
Antiguo 04-11-2015
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Zina Ver Mensaje
yo requería que el mismo instalador me agregara una IP en el archivo Host de mi Sistema
Por aquí hubieras empezado

Un archivo INI, aunque sea un archivo de texto, tiene una estructura especial y las funciones de Inno Setup están pensadas para dicha estructura.

Revisando la documentación de Pascal Scripting en Inno Setup, veo, por ejemplo, que está la función SaveStringsToFile que posiblemente te sirva para añadir la línea deseada al archivo hosts (no lo he probado). Dicha función la usarías, en efecto, en una sección [code] del script de Inno Setup.

// Saludos
Responder Con Cita
  #13  
Antiguo 04-11-2015
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Aquí un ejemplo:

Código Delphi [-]
[code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssDone then
  begin
    if not SaveStringsToFile(ExpandConstant('{sys}\drivers\etc\hosts'), ['127.0.0.1 local'], true) then
      MsgBox('No fue posible agregar la IP', mbInformation, MB_OK);
   end;
end;

// Saludos
Responder Con Cita
  #14  
Antiguo 04-11-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.273
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Coincido con Román en que ese comentario hubiera ido bien desde el principio.

Antes de continuar, te recomiendo que si estás trabajando con Inno Setup, te descargues e instalaes la herramienta Inno Script Studio.
Es una herramienta que te facilitará mucho el trabajo para trabajar con os ficheros de Inno (iss) ya que te ofrece una interface gráfica para trabajar con todas esas secciones de los ficheros iss y la multitud de opciones que se pueden utilizar en cada una de ellas.

La sección [INI] sirve para modificar archivos .INI (con ese formato) y el fichero de host no lo es, por lo tanto deberás hacerelo de otra manera.

Segúramente con la opción que te comenta Román.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #15  
Antiguo 04-11-2015
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Neftali Ver Mensaje
Segúramente con la opción que te comenta Román.
Esta fé ciega levanta el ánimo

// Saludos
Responder Con Cita
  #16  
Antiguo 04-11-2015
Zina Zina is offline
Miembro
NULL
 
Registrado: oct 2015
Posts: 16
Poder: 0
Zina Va por buen camino
Thumbs up

Wow!!

Ustedes si que son expertos en esto jeje, muchas Gracias ya quedó, les agradezco y seguiré por aquí, pidiendo de su ayuda, claro explicando mejor!!
Responder Con Cita
  #17  
Antiguo 05-11-2015
Zina Zina is offline
Miembro
NULL
 
Registrado: oct 2015
Posts: 16
Poder: 0
Zina Va por buen camino
Unhappy

Hola,
perdon no puedo crear un nuevo tema, ya busqué por todos lados y no sé como hacerle, alguien me puede decir?
Se lo agredeceré mucho, ya me fui a User CP -> nuevo mensaje, pero sólo puedo enviarlo a una sóla persona, quiero hacerlo de nuevo para todos los miembros del foro

Gracias
Responder Con Cita
  #18  
Antiguo 05-11-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Para crear un nuevo tema/hilo debes seleccionar el foro más adecuado al mismo: Varios, Impresión, Firebird, Gráficos, etc. y luego pulsar en el botón de arriba "Nuevo hilo".
El resto es seguir las indicaciones de nuestra guía de estilo, ya lo sabrás: poner un título lo más descriptivo posible sobre la pregunta que vas a hacer, explicar lo más amplia y detalladamente el problema, etc.
Responder Con Cita
  #19  
Antiguo 05-11-2015
Zina Zina is offline
Miembro
NULL
 
Registrado: oct 2015
Posts: 16
Poder: 0
Zina Va por buen camino
Muchas Gracias, ya lo hice !
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
[Inno Setup] InnoExtractor, aplicación para desempaquetar instaladores de Inno Setup NucleousXE Varios 4 28-10-2014 14:12:33
problema con inno setup Choclito Varios 0 22-06-2006 18:27:42
inno setup 5 Cosgaya Varios 0 10-01-2006 13:09:38
Inno Setup Ini? marceloalegre Varios 2 07-12-2005 20:49:17
Problema Archivo .INI con Inno SetUp 5 VRO Varios 6 12-01-2005 17:41:50


La franja horaria es GMT +2. Ahora son las 10:31:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi