Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-09-2003
buitrago buitrago is offline
Miembro
 
Registrado: sep 2003
Posts: 156
Poder: 21
buitrago Va por buen camino
Prodimientos de conexión (a quien le sirva......)

Es más, te mando un archivo que tiene los procedures, con ello cuando lo ejecutes la primera vez te va a pedir la dir de la daabase, y no lo pedirá más.

El escribe un archivo que se nombra registroNOMBRE DEL PROYECTO.dat, que se pone en la raíz del disco, en el cual guarda la dirección que obtuvo de la primera vez, despues, solo tienes que levantar el programa y ya no te pregunta más

Hay que ponerlo en el menú del sistema y claro, declarar esta function

------------------------------------------------------------------------
function Tform_Menu.func_CONECTAR:Boolean;
type
TArticulo = record
FileName : String[255];
FileDate : TDateTime;
End;

var
v_Appl : TArticulo;
v_temp_SystemTime : SystemTime;
f_Appl : file Of TArticulo;
c_FileName : String;
const const_Drives: array[1..5] of String = (
'C:\', 'D:\', 'E:\', 'F:\', 'G:\');

var v_Servidor,
v_Ruta,
v_Database,
v_File,
v_Temp,
v_Coneccion: String;
v_Local,Conectado,v_Conecto : Boolean;
v_pos_Servidor,i : Integer;
Begin
v_Conecto := False;
c_FileName := 'c:\registro' + Copy(ExtractFileName(Application.ExeName),1,(pos('.',ExtractFileName(Application.ExeName))-1)) + '.dat';
if FileExists(c_FileName) then Begin
v_Conecto := True;
AssignFile(f_Appl,c_FileName);
Reset(f_Appl);
Read(f_Appl,v_Appl);
CloseFile(f_Appl);
With DatosDatabase.IBDatabase1 Do Begin
DatabaseName := v_Appl.FileName;
Params.Clear;
Params.Add('user_name=SYSDBA');
Params.Add('Password=masterkey');
DatosDatabase.IBDatabase1.LoginPrompt := false;
Try
Open;
except
v_Conecto := False;
ShowMessage('Por alguna razón no se pudo abrir conectar la Database que se queria, consulte con los analistas de sistemas');
End;
End;
Result := v_Conecto;
End
Else
if Not(v_Conecto) then Begin
Conectado := False;
if DatosDatabase.OpenDialog1.Execute then Begin
v_Temp := DatosDatabase.OpenDialog1.FileName;
if (v_Temp[1] = '\') and (v_Temp[2] = '\') then
v_Local := False Else v_Local := True;
if Not(v_Local) then Begin
v_File := ExtractFileName(v_Temp);
v_Temp := Copy(v_Temp,3,length(v_Temp));
v_pos_Servidor := pos('\',v_Temp);
v_Servidor := Copy(v_Temp,1,(v_pos_Servidor-1));
v_Ruta := ExtractFilePath(v_Temp);
v_Ruta := Copy(v_Ruta,(v_pos_Servidor+1),length(v_Ruta));
i := 1;
repeat
v_Coneccion := v_Servidor + ':' + const_Drives[i] + v_Ruta + v_File;
DatosDatabase.IBDatabase1.DatabaseName := v_Coneccion;
try
DatosDatabase.IBDatabase1.Params.Add('user_name=SYSDBA');
DatosDatabase.IBDatabase1.Params.Add('Password=masterkey');
DatosDatabase.IBDatabase1.LoginPrompt := false;
DatosDatabase.IBDatabase1.Open;
Conectado := True;
except
inc(i);
Conectado := False;
End;
until (Conectado = True) Or (i>5);
End
Else
Begin
v_Coneccion := DatosDatabase.OpenDialog1.FileName;
DatosDatabase.IBDatabase1.DatabaseName := v_Coneccion;
try
DatosDatabase.IBDatabase1.Params.Add('user_name=SYSDBA');
DatosDatabase.IBDatabase1.Params.Add('Password=masterkey');
DatosDatabase.IBDatabase1.LoginPrompt := false;
DatosDatabase.IBDatabase1.Open;
Conectado := True;
except
inc(i);
Conectado := False;
End;
End;
if Conectado then Begin
AssignFile(f_Appl,c_FileName);
ReWrite(f_Appl);
v_Appl.FileName := v_Coneccion;
v_Appl.FileDate := NOW;
try
Write(f_Appl,v_Appl);
except
ShowMessage('No se ha podido registrar');
end;
try
CloseFile(f_Appl);
except
ShowMessage('Para colmos no se pudo cerrar el Archivo de Registro');
Halt;
end;
End;
Result := Conectado;
End;
End;
end;
----------------------------------------------------------------------
procedure Tform_Menu.FormCreate(Sender: TObject);
begin
if Not(func_CONECTAR) then
ShowMessage('No se ha podido conectar a la Base de datos');
end;
function
Responder Con Cita
Respuesta



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 13:56:36.


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
Copyright 1996-2007 Club Delphi