Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-11-2005
Coco Coco is offline
Miembro
 
Registrado: jul 2004
Ubicación: Argentina
Posts: 83
Poder: 20
Coco Va por buen camino
cual es el contenido del archivo ini?
Lo estas tomando del path correcto?
__________________
Hice un trato con Dios... el no hace sistemas y yo hago milagros
Responder Con Cita
  #2  
Antiguo 30-11-2005
coleleon coleleon is offline
Miembro
 
Registrado: nov 2005
Posts: 23
Poder: 0
coleleon Va por buen camino
El contenido es muy simple:
[Ficheros]
Comandos=C:\ComandosDB\Comandos.dbf
Estado=C:\ComandosDB\Estado.dbf
Log=C:\ComandosDB\Log.dbf
y el path lo obtengo de la función ChangeFileExt(Application.ExeName,'.ini') ,q creo q vale,no?
Responder Con Cita
  #3  
Antiguo 30-11-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.939
Poder: 27
delphi.com.ar Va por buen camino
Si vale... ¡Pero fíjate que sea lo mismo que imaginas que es!...
Prueba con un ShowMessage(ChangeFileExt(Application.ExeName,'.ini'));

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 30-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por Federico
Código Delphi [-]
ShowMessage(ChangeFileExt(Application.ExeName,'.ini'));
Pero,... eso siempre le mostraría una ruta correcta, puesto que es claro que el ejecutable existe y nomás la ruta del ejecutable aparecerá con una extensión ".ini", que es justo lo que le dices que muestre, como puede verse. No sé... me llamó la atención esto Federico, disculpa la tontería: por otro lado no he leído el Hilo desde un principio así que no sé qué hago aquí... ¿respondiendo el qué?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 01-12-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.939
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por dec
Pero,... eso siempre le mostraría una ruta correcta, puesto que es claro que el ejecutable existe y nomás la ruta del ejecutable aparecerá con una extensión ".ini", que es justo lo que le dices que muestre, como puede verse.
Si, mi idea es que compare esa ruta con el ini que esta creando a mano... si verdaderamente el programa la va a buscar donde el cree que la esta buscando..

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 30-11-2005
coleleon coleleon is offline
Miembro
 
Registrado: nov 2005
Posts: 23
Poder: 0
coleleon Va por buen camino
Sí,lo acabo de comprobar,y la ruta que resulta es correcta.No sé..ya dudo...no será q no se puede hacer desde un archivo de texto normal y corriente?
Responder Con Cita
  #7  
Antiguo 30-11-2005
coleleon coleleon is offline
Miembro
 
Registrado: nov 2005
Posts: 23
Poder: 0
coleleon Va por buen camino
Una pregunta:no hay otra manera de crear el .ini sin tener q ejecutar antes las funciones WriteString ..etc para introducir los datos iniciales?
Responder Con Cita
  #8  
Antiguo 30-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Algo así debiera funcionar:

Código Delphi [-]
uses
  IniFiles;

procedure TfrmPrincipal.btnLeerIniClick(Sender: TObject);
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
  try
    ShowMessage( 'Clave Comandos = ' + ini.ReadString('Ficheros', 'Comandos', 'Error') );
    ShowMessage( 'Clave Estado = ' + ini.ReadString('Ficheros', 'Estado', 'Error') );
    ShowMessage( 'Clave Log = ' + ini.ReadString('Ficheros', 'Log', 'Error') );
  finally
    ini.Free;
  end;
end;
Te adjunto un sencillo ejemplo en donde se hace uso del código de arriba.
Archivos Adjuntos
Tipo de Archivo: zip Ejemplo.zip (2,0 KB, 27 visitas)
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 30-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por coleleon
Una pregunta:no hay otra manera de crear el .ini sin tener q ejecutar antes las funciones WriteString ..etc para introducir los datos iniciales?
Claro, hombre, digitalmente: como lo he hecho yo en el ejemplo de arriba: con los puritos dedos.

Es un archivo de texto plano: puedes escribirlo con el Bloc de notas, por ejemplo, sin problemas, siempre que te percates de que incluyes las secciones, claves y valores tal y como esperes encontrarlas.

Claro, que, una ayuda podría ser que usases cierto programa que creo que se llama XEditor (no lo recuerdo bien), el cual puede resaltarte la sintaxis de los archivos INI, de tal manera que algo podrá ayudarte. Y, por supuesto, desde el propio Delphi, yo creo que también te resaltará la sintaxis de dichos archivos.

Edito: De todas formas, que tampoco se te haga especialmente complicado el hecho de utilizar el método "WriteString" para escribir los valores oportunos en el archivo INI, oyes:

Código Delphi [-]
procedure EscribirValoresIni(const log, estado, comandos: string);
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
  try
    ini.WriteString('Ficheros', 'Log', log);
    ini.WriteString('Ficheros', 'Estado', estado);
    ini.WriteString('Ficheros', 'Comandos', comandos);
  finally
    ini.Free;
  end;
end;
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 30-11-2005 a las 22:45:16. Razón: Ampliación del texto.
Responder Con Cita
  #10  
Antiguo 30-11-2005
coleleon coleleon is offline
Miembro
 
Registrado: nov 2005
Posts: 23
Poder: 0
coleleon Va por buen camino
Jo ,no gano para disgustos,resulta que los datos q leo del ini son los nombres de las tablas DBase que utilizo en el programa.Ahora me pregunto, si tengo un componente Ttable xa cada tabla, en que propiedad tengo q asignar los valores leidos antes en tiempo de ejecución,para poder acceder a las tablas desde los componentes ttable,TABLENAME o DATABASENAME?Gracias d nuevo
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


La franja horaria es GMT +2. Ahora son las 00:17:42.


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