Ho un problema con un file di testo!
Premetto che ho creato 2 procedure , una per scrivere sul file e l'altra per leggere il contenuto( le allego...)
codice:
Procedure ModificaFile(DirFile:String);
Var
Riga:string;
Procedi:boolean;
Pos:Integer;
FileExt1:text;
Begin
AssignFile(FileExt1,DirFile);
Procedi:=False;
Pos:=1;
Rewrite(FileExt1);
If IOResult = 0 Then
Procedi:=True
Else
begin
Procedi:=False;
MessageDlg('Impossibile accedere al file di setup ',mtError,
[mbOK],0);
end;
Riga:='';
If Procedi Then
repeat
Case Pos of
1:Riga:=U_Setup.F_Setup.DirectoryListBox1.Directory; //Memorizzo la directory dei Contratti
2:Riga:=U_Setup.F_Setup.DirectoryListBox2.Directory; //Memorizzo la directory dei Preventivi
End;
Writeln(FileExt1,Riga);
Riga:='';
Inc(Pos);
until Pos=3;
CloseFile(FileExt1);
end;
e
codice:
Procedure LetturaFile(DirFile:String);
Var
Riga:string;
Procedi:boolean;
Pos:Integer;
FileExt1:text;
Begin
AssignFile(FileExt1,DirFile);
Procedi:=False;
reset(FileExt1);
If IOResult = 0 Then
Procedi:=True
Else
begin
Procedi:=False;
MessageDlg('Impossibile accedere al file di setup ',mtError,
[mbOK],0);
end;
Pos:=1;
If Procedi Then
while not Eof(FileExt1) do
begin
Readln(FileExt1,Riga);
case Pos of
1:U_Setup.F_Setup.Edit1.Text:=Riga;//Leggo la directory dei Contratti
2:U_Setup.F_Setup.Edit2.Text:=Riga;//Leggo la directory dei Preventivi
end;
Inc(Pos)
end;
closeFile(FileExt1);
end;
Come potete notare passo come parametro il nome del file e fino qui tutto bene.
Ora il mio compito é quello di memorizzare nel file di testo il percorso di una cartella selezionata attraverso il componente TDirectoryListBox.
Naturalmente ho anche inserito il componente DriveListBox con la proprietà DirList uguale al nome del componente TDirectoryListBox!
Attraverso un bottone di conferma memorizzo in contenuto del file!
Ed ecco il problema: passando alle procedure la stringa 'setup.txt' il file vine letto correttamente mentre quando scrivo il file setup viene creato direttamente nella directory selezionata dal componente DirectoryListBox.!
Il file dovrebbe essere scritto nella cartella dove si trova l'eseguibile, invece no!
Come mai?
Ciao