![]() |
Warnmeldung beim Speichern einer Datei
Hallo miteinander,
ich habe ein Problem mit der Darstellung und Ausführung eines Meldungsfensters(Delphi Prof.2005). Folgender Sinn: Ich möchte eine Datei speichern. Wenn ich den Namen unter >>Dateiname<< eingetragen habe, sollte er überprüfen, ob der Name der Datei schon existiert. Wenn ja, dann sollte er ein MessageDialog- Fenster mit Warnmeldung ausgeben und auf Bestätigung des JA- Buttons das Speichern durchführen. Der Fehler wird schon in der Zeile "...=mrYes" angezeigt. Ich kann das Programm nicht starten. Wie muss ich den Code verändern? Vielleicht hat von euch jemand einen hilfreichen Rat.
Delphi-Quellcode:
Herzlichen Dank im Voraus
procedure TForm1.Button1_SpeichernClick(Sender: TObject);
var Messwert: TLeistung; i,anzahl: integer; Datei: TDatei; Dateiname: string; begin Savedialog1.Execute; Dateiname:= Savedialog1.FileName; AssignFile(Datei,Dateiname); if FileExists(Dateiname) then MessageDlg ('Der Dateiname ist bereits vorhanden! Soll dieser überschrieben werden!', mtWarning,[mbYes,mbNo,mbCancel],0)=mrYes; begin Rewrite(Datei); anzahl:=StrToInt(Edit3_Eingabe_anzahl.Text); for i:= 1 to anzahl do with Messwert do begin nr:= i; Spannung:= StrToFloat(StringGrid1.Cells[1,i]); Strom:= StrToFloat (StringGrid1.Cells [2,i]); Write (Datei,Messwert); lx:= StrToInt (Edit1_lx_eingabe.Text); end; CloseFile (Datei); end; Technikus |
Re: Warnmeldung beim Speichern einer Datei
Kann man ganz einfach mit String-Verknüpfungen machen:
Delphi-Quellcode:
und richtig muss es
'Der '+Dateiname+' ist bereits vorhanden! Soll dieser überschrieben werden!'
Delphi-Quellcode:
if FileExists(Dateiname) then
begin if MessageDlg ('Der Dateiname ist bereits vorhanden! Soll dieser überschrieben werden!', mtWarning,[mbYes,mbNo,mbCancel],0)=mrYes then begin Rewrite(Datei); anzahl:=StrToInt(Edit3_Eingabe_anzahl.Text); for i:= 1 to anzahl do with Messwert do begin nr:= i; Spannung:= StrToFloat(StringGrid1.Cells[1,i]); Strom:= StrToFloat (StringGrid1.Cells [2,i]); Write (Datei,Messwert); lx:= StrToInt (Edit1_lx_eingabe.Text); end; CloseFile (Datei); end; end; |
Re: Warnmeldung beim Speichern einer Datei
Hai Technikus,
Du musst bei deinem MessageDlg auch eine IF-Abfrage machen.
Delphi-Quellcode:
Zur Zeit hast Du diese ja nur für dein FileExists
if MessageDlg (...) = mrYes then
|
Re: Warnmeldung beim Speichern einer Datei
Hallo Technikus,
wenn du für die Ermittlung des Dateinamens die Komponente TSaveDialog verwendest, warum schaltest du dann nicht einfach die Option ofOverwritePrompt ein? Dann erledigt die Komponente für dich die Existenzprüfung und die Benachrichtigung des Benutzers. Grüße vom marabu |
Re: Warnmeldung beim Speichern einer Datei
Hallo,
ich habe es gerade geändert und siehe da, es funktioniert. Ich danke dir ganz herzlich Technikus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz