Gracias muchas gracias, me sirvió de maravillas tu codigo, pero lo unico fome esque puedes grabar una sola string o texto, pero gracias a tí se me alumbró la ampolleta y pude hacer una arreglo en el SettingsDef, y la diferencia es que en el SettingsDef puedes grabar varias String o textos:
Código Delphi
[-]
SettingsDef.pas:
interface
uses
Windows;
type
TSettings = record
Temp: String[255];
end;
PSettings = ^TSettings;
const
RC_SETTINGS = 'CFG';
function WriteSettings(Filename: PChar; Settings: PSettings): Boolean;
function ReadSettings(var Settings: PSettings): Boolean;
implementation
function WriteSettings(Filename: PChar; Settings: PSettings): Boolean;
var
hResource: THandle;
begin
Result := False;
hResource := BeginUpdateResource(Filename, False);
if hResource <> 0 then
begin
if UpdateResource(hResource, RT_RCDATA, RC_SETTINGS, 0, Settings, SizeOf(Settings^)) then
Result := True;
EndUpdateResource(hResource, False); end;
end;
function ReadSettings(var Settings: PSettings): Boolean;
var
hResInfo: HRSRC;
hRes: HGLOBAL;
begin
Result := False;
hResInfo := FindResource(hInstance, RC_SETTINGS, RT_RCDATA);
if hResInfo <> 0 then
begin
hRes := LoadResource(hInstance, hResInfo);
if hRes <> 0 then
begin
Settings := LockResource(hRes);
Result := True;
end;
end;
end;
end.
Código Delphi
[-]
UnitVariables.pas:
unit UnitVariables;
Interface
uses
SettingsDef;
Var
Configuracion : TSettings;
implementation
end.
Instrucciones:
Escribir datos:
Código Delphi
[-]
uses
SettingsDeff, UnitVariables;
var
Datos: PSettings;
begin
new(Datos);
Datos.Temp:= 'Ejemplo';
if WriteSettings('ruta', Datos) then
ShowMessage('Se ha grabado correctamente.');
end;
Leer:
Código Delphi
[-]
uses
SettingsDeff, UnitVariables;
var
Datos: PSettings;
begin
if ReadSettings(Datos) then
ShowMessage('Se ha cargado correctamente.');
Configuracion.Temp:= Datos^.Temp;
Edit1.Text:= Configuracion.temp;
end;
Gracias
XD
SALU2