TheMaker 0 Denunciar post Postado Junho 28, 2005 Oi galera! Tennho uma aplicação onde o usuário pode configurar sua pasta de trabalho.. o Caminho dessa pasta fica guardada dentro de um arquivo .ini e quando a aplicação é inicializada um TOpenDialog.InitialDir recebe o valor desse arquivo.. até aí nada demais..funciona bem! Sendo q no Win XP quando o usuario cancela a 1º abertura do arquivo e tenta abrir novamente esse caminho default se perde e o TOpenDialog abre com o último InitialDir selecionado (Mesmo q esse último tenha sido acessado dias atrás...).. Um fato estranho mas q pode dar dor de cabeça! Se alguém sabe como resolver a questão favor postar! acho q é do interesse de todos! Um abraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
apocalipse 0 Denunciar post Postado Junho 28, 2005 Salve TheMakerBom, se entendi o que voce quer, a codigo abaixo faz o servico.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Memo1: TMemo; Button1: TButton; Memo2: TMemo; procedure Button1Click(Sender: TObject); function DirIni:String; procedure SaveDirIni(sDIr:String); procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } sFile:TextFile; end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin Memo1.Lines.Add(DirIni); OpenDialog1.InitialDir:=DirIni; If OpenDialog1.Execute Then Begin SaveDirIni(OpenDialog1.FileName); End;end;//Le o arquivofunction Tform1.DirIni:String;Var SDir:String;Begin AssignFile(SFILE, 'c:\DIR.INI'); Reset(SFILE); While Not eof(sFiLe) Do Readln(sFile, sDir); CloseFile(SFILE); Result := Sdir;End;//Salva o Arquivoprocedure Tform1.SaveDirIni(sDIr:String);Begin AssignFile(SFILE, 'c:\DIR.INI'); Rewrite(SFILE); Write(SFILE, SDIR); CloseFile(SFILE);End;procedure TForm1.FormShow(Sender: TObject);begin If Not FileExists('c:\DIR.INI') Then; FileCreate('c:\DIR.INI');end;End.Apocalipse :unsure: Compartilhar este post Link para o post Compartilhar em outros sites
TheMaker 0 Denunciar post Postado Junho 29, 2005 Salve Apocalipse!Ñ tenho problemas com o manuseio do arquivo .iniA questão é:A aplicação inicializa;OpenDialog1.InitialDir := DirIni;na 1º vez q o usuario executa o "file open" o OpenDialog abre no initial dir default especificado no .ini sem problemas... a ñ ser se nessa 1º vez ele ñ escolher nenhum arquivo e cancelar, quando ele repete o "file open" esse initialDir é perdido e o OpenDialog1 abre no último path acessado (Obs: Problema só acontece no Win Xp).Um abraço! Compartilhar este post Link para o post Compartilhar em outros sites