PDA

Ver la Versión Completa : como le cambio el pacth a un alias


perico
12-09-2004, 03:15:27
bueno es que necesito cambiar el pacth a un alias antes de cargar mi datamodulo y no se como debo hacerlo para que al cargar mi programa el vea un .ini que tengo y modifique el el alias y luego poder cargar las tablas

roman
12-09-2004, 06:20:34
Para leer el archivo ini usa la clase TIniFile pasándole el nombre del archivo al constructor y usando el método ReadString. Digamos que tu archivo ini se ve así:


[database]
alias=mialias


Entoces harías:


uses
IniFiles;

...

var
IniFile: TIniFile;
Alias: String;

begin
IniFile := TIniFile.Create('miarchivo.ini');
try
Alias := ReadString('database', 'alias', '');
finally
IniFile.Free;
end;
end;


// Saludos

perico
21-09-2004, 21:16:39
ok pero como le asigno el pach al alias de dbe para que al abrir las tablas las busque en el nuevo pach que se lo darian en el archivo .ini

esa era en si mi pregunta.

gracias de todos modos porque eso que me diste si me sirvio, pero no responde la pregunta completa y aun no se como asignarle el pach al alias. Si sabes como te lo agradeceria en el alma

disculpa las molestias :p :p :p

roman
21-09-2004, 21:57:01
Ok. Creo que ya entendí. Del archivo INI lo que tomas es la ruta y ésta se la vas a asignar a un alias.

Si el alias no existe puedes usar el método AddStandardAlias del objeto Session (el global o el que estés usando). Si el alias ya existe y le quieres cambiar la ruta entonces usa el método ModifyAlias (en la ayuda de Delphi viene incluso un ejemplo específico para cambiar la ruta de un alias).

En ambos casos, el alias añadido o modificado sólo se preservará durante la sesión. Si quieres que se preserve siempre usas el método SaveConfigFile.

Para más detalles busca en la ayuda el tema Aliases: BDE (Working with BDE aliases).

Por cierto, es PATH, no PACTH ni PACH.

// Saludos

Cabanyaler
23-09-2004, 18:45:28
Hola, yo utilizo esta función:


// Deja el alias apuntando al directorio
procedure TFPrincipal.ReestableceAlias();
var
AParams: TStringList; // Para el retorno de los parametros de sesion
Dir: string; // Para almacenar la ruta fisica del alias
begin
AParams := TStringList.Create;
Dir := 'M:\Ruta\datos';
// Actualizo los parametros del alias a como debe estar originalmente
AParams.Clear; // Limpio el stringlist
AParams.Add('PATH=' + Dir); // Guardo en la var. el path + la ruta capturada
DModule.Session.ModifyAlias('NombreAlias',AParams); // Modifico el path del alias
DModule.Session.SaveConfigFile; // Guardo de forma permanente al BDE
end;

perico
26-09-2004, 19:47:24
muchas gracias voy a hacerlo asi