Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 05-07-2007
[juanramones] juanramones is offline
Miembro Premium
 
Registrado: ene 2007
Posts: 6
Poder: 0
juanramones Va por buen camino
Archivos .ini y Selección de Bases de Datos con TADO Controls

En agradecimiento a muchos que han colaborado doy este pequeño aporte con los conocimientos adquiridos de los participantes de este Club.

Digamos que el archivo de texto Inicio.ini es el de configuración general de la aplicación y contiene lo siguiente

Código:
[Configuracion]
udl=db1.udl
y que el archivo de texto Bases.ini contiene los siguiente:
Código:
[BD]
udl1=db1.udl
udl2=db2.udl
udl3=db3.udl
udl4=db4.udl
Donde [BD] es una sección y donde
udl=db1.udl es una variable con un valor asignado y así con cada udl#=db#.udl que indica los archivos .udl de configuración de acceso a Bases de Datos.

Recomiendo leer todos los comentarios de las líneas de código a continuación


Código Delphi [-]
function BasesDisponibles : TStringList;  // función que extrae las bases disponibles según el archivo Bases.ini
  var
    AIniFile : TIniFile; // Archivo de Inicio .INI   // USES IniFiles, // Manejo de Archivos .ini
    Ruta: string;
    StrLst : TStringList;
begin
  StrLst := TStringList.Create; 
  Ruta := ExtractFileDir(ParamStr(0));   // Ruta desde donde se ejecuta el archivo Principal de la aplicación
  AIniFile := TIniFile.Create(Ruta + '\Bases.ini');   // se abre o se crea el archivo de inicio del sistema
  AIniFile.ReadSectionValues('BD',StrLst);// para leer sólo los nombres de secciones se usa  AIniFile.ReadSections(StrLst);
  AIniFile.Free; // Cierra el Archivo y libera el objeto.
  result := StrLst;
end;

procedure TForm.Carga_Items_DB(DbSeleccionada: String);  // carga los datos de las bases en un ComboBox y coloca por defecto el de la Configuración del archivo Inicio.ini
  var
    StrLst : TStringList;   // USES Classes,  // Manejo de TStrings
    i : Integer;
begin
  StrLst := BasesDisponibles;
  for i := 0 to StrLst.Count - 1 do // recorre todos los ítems de StrLst
  begin
    ComboBoxBases.Items.Add(StrLst.Strings[i]); // la forma debe tener un Control de Tipo TComboBox
    if StrLst.Strings[i] = DbSeleccionada then
    begin
      ComboBoxBases.ItemIndex := i;
    end;
  end;
end;

procedure TForm.BotonOkClick(Sender: TObject); // Procedimiento de Evento al presionar un Botón de OK en la forma
  // Guarda los Cambios
  var
    Ruta: string;
    StrLst : TStringList;
    AIniFile : TIniFile; // Archivo de Inicio .INI   // USES IniFiles, // Manejo de Archivos .ini
begin
  Ruta := ExtractFileDir(ParamStr(0));   // Ruta desde donde se ejecuta el archivo Principal de la aplicación
  AIniFile := TIniFile.Create(Ruta + '\Inicio.ini');   // se abre o se crea el archivo de inicio del sistema
  AIniFile.WriteString('Configuracion', 'udl', ComboBox.Items[ComboBox.ItemIndex]);
  AIniFile.Free; // Cierra el Archivo y libera el objeto.
end;

procedure TForm.FormShow(Sender: TObject); // Procedimiento del Evento OnShow que se debe llamar cuando se carga la Forma 
  var
    AIniFile : TIniFile;
    Inicio : string;
    DbSeleccionada : String;
begin
  // Archivo de inicio de la aplicación
  Inicio := ExtractFileDir(ParamStr(0)) + '\Inicio.ini';
  AIniFile := TIniFile.Create(Inicio);
  DbSeleccionada := AIniFile.ReadString('Configuracion','udl','db1.udl');
  Carga_Items_DB(DbSeleccionada);
  AIniFile.Free;
  UdlStr := ExtractFileDir(ParamStr(0)) + '\' + DbSeleccionada;
  DataModule.DB.Connected := False;  // se desconecta de la Base de Datos // Control TADOConnection dentro de un Data Module
  DataModule.DB.Close; // se cierra la BD
  DataModule.DB.ConnectionString := 'FILE NAME=' + UdlStr; // se indica la cadena de conexión con el archivo de configuración de la BD
  DataModule.DB.Open; // Se abre nuevamente la BD
end;

-----------------------------------------------
Con colaboración podemos lograr cosas grandes.
Responder Con Cita
 


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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como utilizar TExcelApplication Jose Roman OOP 17 19-07-2021 15:48:41
¿Debo utilizar un archivo de recurso (.RES)? Jome Varios 2 18-06-2006 08:21:01
como Utilizar una DLL de VB KaTo Varios 0 30-05-2004 19:01:30
Como utilizar un DCR y PAS andrestsas Varios 1 26-10-2003 19:31:58
como utilizar sql plus fcran Oracle 2 10-09-2003 02:44:01


La franja horaria es GMT +2. Ahora son las 12:37:22.


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