Autor Beitrag
Pow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Borland Delphi 7
BeitragVerfasst: So 06.06.10 20:10 
Hallo,

ich habe folgende Situation: (falls von Interesse, ich arbeite mit Borland Delphi 7)
Ich möchte etwas in eine Textdatei schreiben, das ich an anderen Stellen wieder auslesen möchte.
Dazu erstelle ich also auf C: die Textdatei.
Seltsamerweise sehe ich sie im Ordner nicht, im Programm kann es jedoch verwendet werden - wie kann das sein?

folgender Quellcode:
Zum schreiben
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TF_Konfig.Button2Click(Sender: TObject);

var       Druckername : TextFile;
          TempS: String;

begin
  ...
  AssignFile(Druckername, 'C:\Druckername.txt');
  Rewrite(Druckername);
  write(Druckername, TempS);
  CloseFile(Druckername);
  ...
end;


Zum auslesen
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
  ..
  var TFDruckername : TextFile;
  ...
  AssignFile(TFDruckername, 'C:\Druckername.txt');
  FileMode := fmOpenRead;
  Reset(TFDruckername);
  readln(TFDruckername, TempS1);
  PDruckername := PChar(TempS1);
  CloseFile(TFDruckername);
  ...


Dem ersten Quellcode zufolge müsste man die Textdatei doch im Ordner vorfinden können oder?

Ach ja und wenn es diese Textdatei nicht gibt, möchte ich eine Aufforderung ausgeben:
ausblenden Delphi-Quelltext
1:
2:
3:
if not FileExists('C:\Druckername.txt'then
     F_Konfig.ShowModal;
     ShowMessage('Bitte Drucker auswählen!');


Diese Fehlermeldung erscheint dann jedes Mal, obwohl das Programm irgendwo Druckername aus einer Textdatei auslesen kann.

Wie kommts also, dass ich die Datei nicht finde? :s
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 06.06.10 20:15 
Unter c:\ direkt hast du keine Schreibrechte, dementsprechend käme bei Windows 2000 und XP ein Fehler in deinem Delphiprogramm, bei Windows Vista und 7 wird die Datei in den VirtualStore in den Anwendungsdaten umgeleitet:
ausblenden Quelltext
1:
C:\Users\[User]\AppData\Local\VirtualStore					


Denn genau in die Anwendungsdaten gehören solche Dateien eben (oder in das Tempverzeichnis).
Pow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Borland Delphi 7
BeitragVerfasst: So 06.06.10 20:42 
Ach soo.. gut zu wissen - programmieren tu ich nämlich auf Win7 und das Programm selbst sollte auf XP lauffähig sein.

Wenn ich jetzt aber das Laufwerk auf z.B. N: wechsel, gibt er mir eine Fehlermeldung, mit der ich leider nicht so viel anfangen kann.. und egal welche andere Festplatte ich angebe, der gleiche Fehler immer
Hat das etwas mit Schreibrechten zutun?
Einloggen, um Attachments anzusehen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 06.06.10 20:55 
Was bringt es irgendein Laufwerk anzugeben, benutze die Anwendungsdaten, dann hast du auch keine Probleme... :roll:
www.delphi-library.d...ewtopic.php?p=548600

Mit dem Fehler hat das aber vermutlich nichts zu tun. Da hast du eher ein Objekt nicht erzeugt oder so.
Pow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Borland Delphi 7
BeitragVerfasst: So 06.06.10 22:05 
Danke für den Hinweis :)