Entwickler-Ecke
Dateizugriff - Fehler beim anlegen einer Textdatei
lemming - Mi 03.12.03 11:52
Titel: Fehler beim anlegen einer Textdatei
ICh will ganz einfach mit diesem Code eine Textdatei anlegen und sie mit Inhalt füllen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var F: TextFile; s1: String;
begin Base64.DecodeData(sFields[8, iRecordID], s1);
AssignFile(F, 'c:\print.htm'); Rewrite(F); Writeln(F, '<html><head></head><body>'); . . . |
Jeddoch bricht er beim Rewrite ab mit der Meldung "Kann Datei nicht finden". Sie ist aber da. Er hat sie eine Zeile zuvor erstellt. hab auch schon in anderen Verzeichnissen probiert.
Was hat der für ein Problem? Hab den Code schon 1000x verwendet.
lemming
[/code]
lemming - Mi 03.12.03 11:57
Ich habs bis jetzt so weit rekonstruieren können das es wohl an meinen Uses liegt. Das rewrite muss wohl von einer Unit überschrieben werden:
Quelltext
1: 2: 3:
| uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, uTbase64, Buttons, Jpeg, FileCtrl; |
Aber von welcher?
lemming - Mi 03.12.03 11:58
habs gefunden. Es war im FileCtrl.
Andi1982 - Mi 03.12.03 11:59
Ok :-) wollt gerade drauf antworten...
dkx - Di 20.01.04 21:04
Titel: HILFE !!!
Hallo, ich habe jetzt das selbe Problem -> allerdings werde ich aus diesem Topic nicht schlau.
Folgendes:
Delphi-Quelltext
1: 2: 3: 4: 5:
| FileListbox1.Directory := '../'; AssignFile(a, 'Data/pfad.dat'); Rewrite(a); WriteLn(a, 'Hallo Welt'); closefile(a); |
Ich habe auch schon auf einem anderen Formular Textdateien erzeugt und gefüllt.
Das Problem hängt irgendwie mit diesen Sachen zusammen (denke ich):
- FileListbox1
- falschem Directory
- FileCtrl
Ich habe von Delphi noch nicht die Ahnung und bin jetzt einfach nur ratlos.
Die Fehlermeldung lautet:
"Unit 'FileCtrl' ist plattformspezifisch."
Was soll ich machen???
Er beleibt immer bei diesem rewrite hängen !!!
Ich hoffe ihr könnt mir schnell helfen... bin grade so motiviert beim programmieren :)
Anton
Delete - Mi 21.01.04 01:33
Relative Pfade sind absolut tödlich. Gib mal den absoluten Pfad zur Datei an, dann sollte er sie auch finden.
dkx - Mi 21.01.04 15:20
Aber der absolute Pfad ist ja nicht immer gleich (jenachdem in welchem ordner der user später die programmdateien hat).
Und das Problem war ja eigentlich auch nicht das Finden der Datei, oder?
Im Prinzip hat er sie ja "gefunden" dachte ich - immerhin wurde die datei ja gerade davor erst erstellt!
dkx - Mi 21.01.04 19:41
ich glaube das problem hängt auch damit zusammen, dass ich den befehl:
Delphi-Quelltext
1:
| filelistbox1.Directory := 'blablabla'; |
angewendet habe.
ich wollte in der filelistbox nämlich nicht das verzeichnis anzeigen lassen in dem sich das programm befindet, sondern einen unterordner ('/unterordner').
Gibt es nicht eine andere Möglichkeit, mit der man sagen kann welches Verz. in der Filelistbox angezeigt werden soll ohne das für das ganze Programm die Directorys umgeändert werden?
Delete - Mi 21.01.04 20:43
| dkx hat folgendes geschrieben: |
| (jenachdem in welchem ordner der user später die programmdateien hat). |
Kuck dir mal
PARAMSTR und
EXTRACTFILEPATH in der Hilfe an. :roll:
dkx - Mi 21.01.04 21:06
Danke für deine Hilfe, Luckie.
Allerdings - wenn ich alles richtig verstanden habe - löst das noch nicht mein Problem:
Ich konnte im Prinzip alle Dateien (egal wo) richtig ansprechen (egal ob relativen oder absoluten pfad).
Dies geht nicht mehr seit dem ich eine filelistbox eingebaut habe und dieser dann ein anderes directory zugewiesen habe (standartmäßig wird ja immer das root-verzeichnis angezeigt).
Dies habe ich mit filelistbox1.directory := ... gelöst. gibt es keine andere methode dazu - ohne das für das komplette programm auswirkungen hat (sondern nur auf die filelistbox)?
Naja, ich bin in Delphi einfach noch nicht so weit um mit den ganzen Informationen aus der Hilfe richtig was anfangen zu können...
In der Schule haben wir in Informatik kaum mehr gemacht als Taschenrechner programmiert...
dkx - Do 22.01.04 17:01
ok, ich habe es nun geschafft das problem zu beseitigen - es lag wirklich an den pfaden (welche absolut sein müssen).
paramstr(0) hat mir dabei geholfen :)
Danke !
Delete - Do 22.01.04 17:05
Sag ich doch. ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!