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