Autor Beitrag
ak
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 240

Suse Windows 9 XP
D6 Professional
BeitragVerfasst: So 29.06.03 13:57 
Hallo Leute,

ich möchte eine Datei öffnen und etwas ans Ende reinschreiben. Das funktioniert mit folgendem Quelltext sehr gut:
ausblenden 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 user profile iconTino: Delphi-Tags hinzugefügt.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: So 29.06.03 14:04 
lies dir mal durch, was in der OH zu rewrite und append steht

mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
ak Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 240

Suse Windows 9 XP
D6 Professional
BeitragVerfasst: So 29.06.03 14:07 
was bedeutet OH ?
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: So 29.06.03 14:20 
OH, die - Online Hilfe, die, über F1 zu erreichen ;)

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
ak Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 240

Suse Windows 9 XP
D6 Professional
BeitragVerfasst: So 29.06.03 15:49 
hehe...bin leider etwas im Stress

ich habs jetzt so gemacht...
ausblenden 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 user profile iconTino: Code- durch Delphi-Tags ersetzt.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: 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.

ausblenden 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 user profile iconTino: Quote-Tags hinzugefügt.

_________________
Viele Wege führen nach Rom.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: 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

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
MAlsleben
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: 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.

_________________
Viele Wege führen nach Rom.