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 29-07-2005
Avatar de Gelmin
Gelmin Gelmin is offline
Miembro
 
Registrado: may 2003
Ubicación: Chinandega-Nicaragua
Posts: 56
Poder: 22
Gelmin Va por buen camino
Lightbulb Leer *.Ini desde la Unidad de proyecto (*.dpr))

Hey puedo leer un archivo ini desde cualquier unidad de mi proyecto pero yo quiero obtener algunos datos desde mi unidad de proyecto, como hago para leer un valor del ini desde ahi. Yo lo intente asi:
Código:
program SCLClientePro;

uses
  Forms,
  Utime in 'Utime.pas' {Foprincipal}, Inifiles;

var config:Tinifiles;
    x:boolean;dir:string;

{$R *.RES}

begin
  Application.Initialize;
  dir:=extractfiledir(application.ExeName);
  Config:=Tinifile.Create(dir+'\Configuracion.ini');
  x:=Config.Readbool ('VENTANA INICIO','VALOR',FALSE);
  if x then
  begin
    Foinicio:=TFoinicio.Create(application);
    if foinicio.ShowModal<>1 then
       Application.Terminate;
    foinicio.Free;
  end; //if
  config.Free;
  Application.CreateForm(TFoprincipal, Foprincipal);
  Application.Run;
end.
pero no funciono me dice "Undeclared identifier Tinifiles" seguro es porque la unidad "Inifiles" esta mal referenciada pero no se donde mas colocarla. Bueno si es que se puede hacer desde aqui lo del ini. Q me falta o q tengo mal. Gelmin Martinez (Nicaragua).
__________________
Powered by Gel
Responder Con Cita
  #2  
Antiguo 29-07-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Incluye la unidad "IniFiles" en la cláusula "Uses".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 29-07-2005
Avatar de Gelmin
Gelmin Gelmin is offline
Miembro
 
Registrado: may 2003
Ubicación: Chinandega-Nicaragua
Posts: 56
Poder: 22
Gelmin Va por buen camino
Thumbs down ya la inclui en la clausula Uses

Ya la inclui en la clausula Uses, si ves vien el codigo ahi esta.
Código:
uses
  Forms,
  Utime in 'Utime.pas' {Foprincipal}, Inifiles;
tambien ya lo intente asi
uses
Inifiles,
Forms,
Utime in 'Utime.pas' {Foprincipal};
[/code]
y nada.
__________________
Powered by Gel
Responder Con Cita
  #4  
Antiguo 29-07-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Disculpa, llevas razón, no me había fijado lo suficiente en el código. Acaso halla influido en mi ceguera el que no utilizases las etiquetas "DELPHI" sino las etiquetas "CODE". Pero bueno, fuera como fuera, ahí estaba la unidad "IniFiles".

Dos cosas me extrañan: haciendo pruebas no encuentro problemas para leer un archivo "ini" ni tampoco para escribir en el mismo. Por otro lado me extraña que puedas usar la función "ExtractFileDir"... puesto que (si he visto bien) no incluyes la unidad "SysUtils" en donde está declarada...

Por otro lado encuentro en el código ciertas instrucciones un tanto confusas... por ejemplo:

Código Delphi [-]
     if foinicio.ShowModal<>1 then
       Application.Terminate;
Ahora mismo no recuerdo si es posible que "ShowModal" devuelva "1", pero, en todo caso, un "Application.Terminate" ahí, ¿no dejaría el resto de instrucciones sin ejecutarse? Me refiero sobre todo a las encargadas de liberar recursos, como "Config.Free".

No lo sé. De cualquier modo, ya digo, no encuentro problemas para leer y escribir de y en un archivo "ini" desde el archivo de proyecto, o sea, desde el archivo "dpr"... ¿Todavía sigues sin poder hacerlo o quizás ya diste con el problema?
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 29-07-2005 a las 03:18:13. Razón: (corrección del texto)
Responder Con Cita
  #5  
Antiguo 29-07-2005
Avatar de Gelmin
Gelmin Gelmin is offline
Miembro
 
Registrado: may 2003
Ubicación: Chinandega-Nicaragua
Posts: 56
Poder: 22
Gelmin Va por buen camino
Exclamation ok estoy haciendo pruebas.

Ok tiense razon en algunas cosas lo que pasa es que estoy haciendo pruebas con ese codigo y nada mas queria saber si se podia leer el ini desde ahi. y no he depurado bien el codigo ese.
postea como lo harias tu en el *.dpr con un ejemplo sencillo me interesa ver donde pones las units extras q utilizara el proyecto en *.dpr

Ese codigo me esta dando errores por todo lo que mencionastes anteriormente no mas estoy probando. y lo del codigo de delphi pues no se como insertar aqui codigo delphi me disculpas si me dijeras como seria bueno.
Código:
if foinicio.ShowModal<>1 then
      Application.Terminate;
Pues yo si he utilizado el showmodal para verificar algunos valores de retorno atraves del "Modalresult" y eso me sirve cuando tengo en la ventana dos botones "Aceptar" y "Cancelar" si el usuario da en aceptar "Modalresult=1" si no es que dio en cancelar y por lo tanto el modalresult del formulario es diferente de 1 y hay que terminar la aplicacion mas o menos para eso lo utilizo pero bueno ese no es el tema de este post. sigamos con lo del ini mejor.
__________________
Powered by Gel
Responder Con Cita
  #6  
Antiguo 29-07-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Respecto de las etiquetas para incluir código Delphi estas son [ DELPHI ] y [ /DELPHI ] (sin los espacios en blanco). Como usuario registrado que eres puedes editar tus mensajes: lo digo por si quieres cambiar el código fuente de más arriba para incluirlo dentro de las oportunas etiquetas.

Por otro lado echa un vistazo al archivo adjunto a ver qué te parece la solución que daría yo al asunto que nos ocupa, no obstante guardarme la posibilidad de realizar algún que otro cambio siempre que se considerase oportuno.

Cita:
Empezado por Gelmin
Pues yo si he utilizado el showmodal para verificar algunos valores de retorno atraves del "Modalresult" (...)
Sí; efectivamente se utiliza y puede usarse también como lo haces:

Código Delphi [-]
 if ShowModal = 1 then
   {...}
Sin embargo, estarás conmigo en que es bastante más intuitivo y sencillo leer:

Código Delphi [-]
 if ShowModal = mrOK then
   {...}
Archivos Adjuntos
Tipo de Archivo: zip ejemplo.zip (3,1 KB, 42 visitas)
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 29-07-2005 a las 03:16:37. Razón: (ampliación del texto)
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 10:06:57.


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