Ver Mensaje Individual
  #3  
Antiguo 30-01-2008
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Reputación: 17
cmm07 Va por buen camino
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]; //aqui va todos los string que deseamos que grabe, antes le colocaba 
                             // Temp: String;, pero ahora Temp:String[255].                                                                             
  end;
  PSettings = ^TSettings;

const
  RC_SETTINGS = 'CFG';

function WriteSettings(Filename: PChar; Settings: PSettings): Boolean;
function ReadSettings(var Settings: PSettings): Boolean;

implementation

// Escribe la configuración en el archivo especificado
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);  //Hay que cerrar el recurso de todos modos
  end;
end;

// Lee la configuración de si mismo
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; //Aquí se define el record de configuracion (TSettings)

Var
  Configuracion : TSettings; //Aquí se guardaran todas las opciones editables del server.
                             //Es un record que está definido en la unidad SettingsDef.

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

Última edición por jachguate fecha: 30-01-2008 a las 17:45:12. Razón: usad la etiqueta delphi!
Responder Con Cita