Ver Mensaje Individual
  #4  
Antiguo 28-08-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 24
BlueSteel Va por buen camino
Bueno... retomando este tema para configurar el lugar de la base de datos, me decidí a realizar la creación de archivos .ini y allí almacenar la configuración, para eso realice los sgtes procesos


1. al Iniciar el Sistema (Menu), ejecuto en el evento onCreate el sgte código
Código Delphi [-]
procedure TMenu.FormCreate(Sender: TObject);
Var
   Parametro:Tinifile;
begin
   If not DirectoryExists('D:\Sistemas\Propint') Then
      Begin
          {$I-}
           MkDir('D:\Sistemas\Propint');
      End;
     if FileExists('D:\Sistemas\Propint\config.ini') Then
        Begin
             Parametro := TiniFile.Create('D:\Sistemas\Propint\config.ini');
             Datos.IBD_Compras.Connected := False;
             Datos.IBD_Compras.DatabaseName                := Parametro.ReadString('BaseDato','Servidor',' ');
             Datos.IBD_Compras.Params.Values ['user_name'] := Parametro.ReadString('BaseDato','Usuario',' ');
             Datos.IBD_Compras.Params.Values ['password']  := Parametro.ReadString('BaseDato','Clave',' ');
             Datos.IBD_Compras.Connected := True;
             Parametro.Free;
        End
     Else
        Begin
             ShowMessage('Debe Seleccionar Base de Datos para continuar');
             Man_Datos := TMan_Datos.Create(Self);
             Try
                Man_Datos.ShowModal;
             Finally
                Man_Datos.Free;
             End;
        End;
End;

2.- Si no existe el archivo config.ini, llama al formulario Man_Datos, en en cual, en el evento onActive, ejecuto lo sgte

Código Delphi [-]
procedure TMan_Datos.FormActivate(Sender: TObject);
Var
   Parametro:Tinifile;
Begin
     if FileExists('D:\Sistemas\Propint\config.ini') Then
        Begin
             Parametro := TiniFile.Create('D:\Sistemas\Propint_1\config.ini');
             vBas.Text := Parametro.ReadString('BaseDato','Servidor',' ');
             vUsu.Text := Parametro.ReadString('BaseDato','Usuario',' ');
             vPas.Text := Parametro.ReadString('BaseDato','Clave',' ');
             Parametro.Free;
        End
     Else
        ShowMessage('Debe Seleccionar Base de Datos para continuar');
end;
Si no existe el archivo, se deberá ingresar los datos que pide el Formulario para conectar a la base de datos.

los datos a pedir son
vBas.Text -> Ubicación del Servidor + nombre de la base
vUsu.Text -> Usuario
vPas.Text -> clave de usuario

una vez ingresado los datos, los almaceno en un archivo .ini, y conecto a la base de datos de la sgte forma
Código Delphi [-]
procedure TMan_Datos.SpeedButton1Click(Sender: TObject);
var
   Nombre_Base : String;
   Parametro:Tinifile;
begin
     if sLocal.Checked = True Then
        Nombre_Base := vBas.Text
     else
        Nombre_Base := Concat('\\',vSer.Text,'\',vBas.Text);
     Datos.IBD_Compras.Connected := False;
     Datos.IBD_Compras.LoginPrompt := False;
     Datos.IBD_Compras.DatabaseName := Nombre_Base;
     Datos.IBD_Compras.Params.Values ['user_name'] := vUsu.Text;
     Datos.IBD_Compras.Params.Values ['password'] := vPas.Text;

     Parametro := TiniFile.Create('D:\Sistemas\Propint\config.ini');
     Parametro.WriteString('BaseDato','Servidor',Datos.IBD_Compras.DatabaseName);
     Parametro.WriteString('BaseDato','Usuario',Datos.IBD_Compras.Params.Values ['user_name']);
     Parametro.WriteString('BaseDato','Clave',Datos.IBD_Compras.Params.Values ['password']);
     Parametro.Free;
     Datos.IBD_Compras.Connected := True;
end;

bueno, y hasta el momento me funciona bien,,, dentro de la semana lo probaré en donde tengo k instalar el sistema...

solo me queda por agregar que:

Datos -> Formulario de tipo DataModule
IBD_Compras -> DataBase
Man_Datos -> Formulario conexión a base de dato
__________________
BlueSteel

Última edición por BlueSteel fecha: 28-08-2007 a las 21:49:32.
Responder Con Cita