Ver Mensaje Individual
  #16  
Antiguo 05-10-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Ahora te entiendo. Una opción es que almacenes la ruta a la carpeta, de modo que al salir del form quede guardado el valor y al entrar se recupere.

Un ejemplo:
Código Delphi [-]
...
implementation

uses FileCtrl, IniFiles;

var
  CurrentPath: string;
  options : TSelectDirOpts = [sdAllowCreate, sdPerformCreate, sdPrompt]; // (?)

// Leer la ruta previa (si existe)
procedure TForm1.FormCreate(Sender: TObject);
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'prg.ini');
  try
    CurrentPath := ini.ReadString(Self.Name, 'LaCarpeta', 'C:\');
  finally
    ini.Free;
  end;
end;


// Elegir ruta
procedure TForm1.btnChangeDirClick(Sender: TObject);
begin
    if FileCtrl.SelectDirectory(CurrentPath, options, 0) then
    begin
      ShowMessage('Directory selected');
      //...
    end
    else
    begin
      ShowMessage('Canceled action');
      //...
    end;
end;

// Guardar nueva ruta (si se cambió)
procedure TForm1.FormDestroy(Sender: TObject);
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'prg.ini');
  try
    ini.WriteString(Self.Name, 'LaCarpeta', CurrentPath);
  finally
    ini.Free;
  end;
end;
También podes usar el registro de Windows para almacenar la ruta, pero por cuestiones de permisos este modo es mas fiable.

Saludos

Pd: Si te sirviera el código de ejemplo avísame y te lo adjunto.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita