Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Almacenar Scripts en la aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=41553)

Durbed 19-03-2007 13:44:37

Almacenar Scripts en la aplicacion
 
Tengo unos scripts que actualizan la estructura de una base de datos y no quiero distribuirlos los ficheros suletos con la aplicación. He intentado meterlos dentro de un archivo de recursos mediante el programa XN Resource Editor, y agrego el script con Import RC Data Resource, de forma que queda algo asi:
http://img385.imageshack.us/img385/2841/dibujovd3.jpg

pero luego no se como obtener el scrip, esto no me funciona:
Código Delphi
Código Delphi [-]
... 
implementation  
{$R scripts.res}  

procedure TForm1.Button1Click(Sender: TObject); 
begin   
  memo1.Lines.Text := LoadResString('SCR1'); 
end; 
...

Neftali [Germán.Estévez] 19-03-2007 15:01:12

Yo utilizao esto.
Los guardo como RCDATA.

Para comprobar que existen:

Código Delphi [-]
  // Llamar a la búsqueda de recurso
  b := FindInstanceOfResource('NOMBRE_RES', RT_RCDATA, HInstance);

Para recuperarlo (utilizo TStringList)

Código Delphi [-]
  // Crear el StringList
  tf := TStringList.Create;
  // proteccion para liberar
  try
    // proteccion
    try
      // Cargar el recurso
      rs := TResourceStream.Create(HInstance, 'NOMBRE_RES', RT_RCDATA);
      tf.LoadFromStream(rs);
    except
      // Error recurso no encontrado 
      ...
    end;

    // en TS tienes el recurso

  // liberar
  finally
    rs.Free;
    tf.Free;
  end;

JXJ 19-03-2007 17:56:09

no te serviria metelos,. como constantes.
Código Delphi [-]
const 

scriptcreabasededatos := 'create database  ';

Durbed 19-03-2007 18:58:08

Gracias Neftali, funciono perfectamente.

JXJ, no puedo almacenarlo en constantes porque los scripts son largos y numerosos, y ademas es un coñazo :D, de esta forma elijo el script que quiero ejecutar y con 3 lineas actualizo la estructura de la base de datos.


La franja horaria es GMT +2. Ahora son las 03:21: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