Entwickler-Ecke
Dateizugriff - Probleme mit "writeln" und einer vorhandenen Datei
ak - So 29.06.03 13:57
Titel: Probleme mit "writeln" und einer vorhandenen Datei
Hallo Leute,
ich möchte eine Datei öffnen und etwas ans Ende reinschreiben. Das funktioniert mit folgendem Quelltext sehr gut:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| if opendialog1.Execute=True then dateiname := opendialog1.FileName;
assignfile(d,dateiname); rewrite(d); WriteLn(d,'hallo'); closefile(d); |
aber ohne die Befehlszeile "rewrite(d);", die ja eine neue Datei erstellt und eine alte evtl. schon vorhandene Datei löscht, bekomme ich immer eine Fehlermeldung. Weiss jemand warum? Ich möchte auch an eine schon vorhandene Datei etwas anhängen.
Gruß AK
Moderiert von
Tino: Delphi-Tags hinzugefügt.
Keldorn - So 29.06.03 14:04
lies dir mal durch, was in der OH zu rewrite und append steht
mfg Frank
ak - So 29.06.03 14:07
was bedeutet OH ?
Tweafis - So 29.06.03 14:20
OH, die - Online Hilfe, die, über F1 zu erreichen ;)
ak - So 29.06.03 15:49
hehe...bin leider etwas im Stress
ich habs jetzt so gemacht...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| if opendialog1.Execute=True then dateiname := opendialog1.FileName;
assignfile(d,dateiname); append(d); WriteLn(d,'hallo'); Flush(d); closefile(d); end; |
Gruß AK
Moderiert von
Tino: Code- durch Delphi-Tags ersetzt.
Delete - So 29.06.03 16:29
Öhm, was passiert, wenn der Benutzer beim dateiöffnendialog auf Abbrechen Klickt? dann dürfte dein programm abstürzen, da dann die Variable "dateiname" einen ubestimmten Wert hat.
MAlsleben - Mo 30.06.03 08:25
Hi,
Luckie, das Programm dürfte eigentlich nicht abstürzen, da die Bedingung in der If -Schleife nicht erfüllt wird. Auszug aus Delphi -Hilfe:
Delphi-Hilfe hat folgendes geschrieben: |
Die Methode Execute zeigt das Dialogfeld zur Dateiauswahl an.
Delphi-Quelltext 1:
| function Execute: Boolean; override; |
Beschreibung
Execute öffnet das Dialogfeld zur Auswahl von Dateien und gibt True zurück, wenn der Benutzer eine Datei ausgewählt und auf OK geklickt hat. Klickt der Benutzer auf Abbrechen, liefert Execute False zurück. |
Gruß Micha
Moderiert von
Tino: Quote-Tags hinzugefügt.
Keldorn - Mo 30.06.03 08:48
@MAlsleben
ja und? ak hat aber ein begin und end vergessen. Sowie der Code jetzt dasteht, werden die Daten immer geschrieben, egal, was der User im Opendialog geklickt hat.
2. möglicher Fehler (je nachdem was das Prog machen soll, bzw. wie der opendialog eingestellt ist)
was passiert, wenn der user eine Datei auswählt, die noch gar nicht existiert?
onlinehilfe zu Append hat folgendes geschrieben: |
Ist die Datei mit dem angegebenen Namen nicht vorhanden, tritt ein Fehler auf.
|
Mfg Frank
MAlsleben - Mo 30.06.03 09:38
Keldorn,
da hast Du natürlich recht, ich habe nur am Schluß das "end"gesehen und hab' übersehen , das der ganze Block in Begin und end muß. Eben nicht genau hingeschaut.
Das die Options entsprechend eingestellt werden, ist selbstverstänlich.
Gruß Micha.
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!