Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2005
Racy Racy is offline
Registrado
 
Registrado: oct 2005
Posts: 6
Poder: 0
Racy Va por buen camino
gracias por tu ayuda, pero no es exactamente lo que busco (o eso creo), es que hace 3 dias que he empizado con el delphi y todavia no controlo mucho

Te explico:
estoy creando una dll con funciones y lo que quiero es una especie de base de datos dentro de la misma dll, no es un archivo aparte, y despues poder coger esos datos desde una funcion de la dll sin necesidad de extraer la base de datos a un archivo aparte.

Última edición por Racy fecha: 23-10-2005 a las 06:00:35.
Responder Con Cita
  #2  
Antiguo 23-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. No sé si voy a saber ayudarte, porque me parece que quedan bastantes datos en el aire. Por ejemplo, dices que quieres incluir en la librería "DLL" una especie de base de datos... bien. Supongamos que sea un archivo de "texto plano". Lo supongo así, para responderte como lo haré a continuación.

Anteriormente has visto en el ejemplo que adjunté más arriba cómo hacemos uso de un procedimiento para extraer el archivo de texto de la librería "DLL", más concretamente, del archivo de recursos que añadimos antes a dicha librería. Utilizamos para ello, entre otras, la clase "TFileStream", que nos permitió crear el archivo de texto que conseguimos gracias a la clase "TResourceStream".

Bien. Se me ocurre ahora que utilizes la clase "TStringStream", de tal manera que no sea preciso extraer el archivo de texto de la librería "DLL", y, sin embargo, puedas trabajar con el contenido del mismo. Para esto que te digo bastaría que cambiaras el código de la librería "DLL" por el siguiente:

Código Delphi [-]
  library Ejemplo;
  
  uses
    Windows,
    Dialogs,
    SysUtils,
    Classes;
  
  {$R Recursos.res}
  
  function MostrarDatos(const ResName: string) : string;
  var
    sStream: TStringStream;
    rStream: TResourceStream;
  begin
    Result := '';
    rStream := TResourceStream.Create(hInstance, ResName, RT_RCDATA);
    try
      sStream := TStringStream.Create('');
      try
        sStream.CopyFrom(rStream, 0);
        Result := sStream.DataString;
      finally
        sStream.Free;
      end;
    finally
      rStream.Free;
    end;
  end;
  
  begin
    ShowMessage(MostrarDatos('archivotexto'));
  end.
Como podrás ver, en este caso utilizamos una función para extraer el contenido del archivo de texto incluido en el archivo de recursos. En dicha función, respecto del anterior procedimiento, no hay más cambios sino el que esta vez utilizamos la clase "TStringStream" en lugar de la clase "TFileStream".

Si haces uso de la aplicación "de pruebas", esta vez no será extraído ningún archivo de la librería "DLL", sino, simplemente, por mor del procedimiento "ShowMessage", te será mostrado el contenido de dicho archivo de texto. En este caso lo mostramos, pero, tú puedes hacer con el contenido del mismo lo que te sea menester.

Es decir, habría que tratar de trabajar con el contenido de dicho archivo de texto en memoria, sin necesidad de extraer el mismo de la librería "DLL". Pero, ya digo que no sé si esto se parece algo más a lo que necesitas. Si no es así, por favor, expláyate cuanto puedas acerca de las características de la solución que quieres lograr, con el fin de que pueda ayudársete de la mejor forma posible.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 23-10-2005 a las 06:17:27. Razón: Corrección del texto.
Responder Con Cita
  #3  
Antiguo 23-10-2005
Racy Racy is offline
Registrado
 
Registrado: oct 2005
Posts: 6
Poder: 0
Racy Va por buen camino
gracias, ya lo he conseguido
Responder Con Cita
  #4  
Antiguo 24-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por Racy
gracias, ya lo he conseguido
Me alegro de veras. En mi opinión no estaría demás que dijeras cómo lo hiciste por si a alguien pudiera serle útil. ¿No te parece?
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 10-05-2007 a las 19:28:29.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 02:06:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi