Entwickler-Ecke
Dateizugriff - Textdatei nicht zu finden - im Programm aber verwendbar (?)
Pow - So 06.06.10 20:10
Titel: Textdatei nicht zu finden - im Programm aber verwendbar (?)
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
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
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:
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 - 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:
Quelltext
1:
| C:\Users\[User]\AppData\Local\VirtualStore |
Denn genau in die Anwendungsdaten gehören solche Dateien eben (oder in das Tempverzeichnis).
Pow - 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?
jaenicke - So 06.06.10 20:55
Was bringt es irgendein Laufwerk anzugeben, benutze die Anwendungsdaten, dann hast du auch keine Probleme... :roll:
http://www.delphi-library.de/viewtopic.php?p=548600
Mit dem Fehler hat das aber vermutlich nichts zu tun. Da hast du eher ein Objekt nicht erzeugt oder so.
Pow - So 06.06.10 22:05
Danke für den Hinweis :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!