Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con ficheros ini (https://www.clubdelphi.com/foros/showthread.php?t=81392)

Suriu 09-11-2012 20:15:07

Problema con ficheros ini
 
Hola les escribo porque estoy inmerso en un proyecto y se me a presentado la siguiente situación ( imagen adjunta ). A la hora de leer un archivo ini, sección string me devuelve un valor que no es el que esta almacenado en el ini.

archivo ini
Código:

[CRCRegistro]
General=29071


roman 09-11-2012 20:27:15

Delphi cuenta con la clase TIniFile, que funciona muy bien. Si no pones el código que usas, comprenderás que es imposible saber qué falla.

// Saludos

Suriu 09-11-2012 20:28:18

imagen
 
1 Archivos Adjunto(s)
Esta es la imagen del mensaje anterior

Casimiro Notevi 09-11-2012 20:30:11

Mejor que pongas el código y el texto del mensaje.

Suriu 09-11-2012 20:32:58

hola roman
 
roman es que estaba colgando la image

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,inifiles, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 Unastring: string;
 Unablee: Boolean;
 IneFex: TIniFile;
begin
  IneFex := TIniFile.Create('\Hola.dat');
  Unastring := IneFex.ReadString('CRCRegistro','General','');
  Edit1.Text := Unastring;
  IneFex.Free;
end;

end.

Casimiro Notevi 09-11-2012 20:40:15

¿Y qué te lee?.
¿Estás seguro que estás leyendo \hola.dat ?

Suriu 09-11-2012 20:42:53

Gracias
 
Casimiro el mensaje dice así

Cita:


visto desde la opcion evaluar/mirar de debug

IneFex.ReadString('CRCRegistro','General','') = Inaccessible value

y en el edit me muestra un 53.

Casimiro Notevi 09-11-2012 21:00:51

Pues así, a bote pronto, se me ocurre que estés leyendo un hola.dat que no es el que crees que estás leyendo.

WkaymQ48 09-11-2012 21:12:45

Cita:

Empezado por Suriu (Mensaje 449110)
Casimiro el mensaje dice así



y en el edit me muestra un 53.

El mensaje "Innacesible value" se debe a que delphi al compilar el código lo "optimiza" y covierte esto:
Código Delphi [-]
  Unastring := IneFex.ReadString('CRCRegistro','General','');
  Edit1.Text := Unastring;

En "algo" como esto:
Código Delphi [-]
  Edit1.Text := IneFex.ReadString('CRCRegistro','General','');

Eliminando la variable "Unastring" del ejecutable final.

Por otro lado, como te dice casimiro, comprueba que el archivo .ini esta en el raiz del disco es decir en C:\Hola.dat que es lo que esta indicando en tu código.

Suriu 10-11-2012 13:39:09

funciona
 
Gracias a todos muchachos, WkaymQ48 lo e probado y funciona de maravillas.


La franja horaria es GMT +2. Ahora son las 16:08:23.

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