AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TFileSaveAs und Execute abbrechen

Ein Thema von DevilsCamp · begonnen am 26. Feb 2007 · letzter Beitrag vom 27. Feb 2007
Antwort Antwort
DevilsCamp
(Gast)

n/a Beiträge
 
#1

TFileSaveAs und Execute abbrechen

  Alt 26. Feb 2007, 13:39
Ich benutze in einem Projekt eine TFileSaveAs-Action.

Nun würde ich gerne im Ereignis prüfen ob eine bestimmte Bedingung erfüllt ist, bevor ich den Save-Dialog aufpoppen lasse. Ist diese Bedingung nicht erfüllt, so soll der Dialog nicht angezeigt werden. Leider habe ich keine Möglichkeit gefunden, die Anzeige des Dialogs zu verhindern.

Gibt es diese Möglichkeit überhaupt?
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TFileSaveAs und Execute abbrechen

  Alt 27. Feb 2007, 10:08
Hi,

im Ereignis BeforeExecute:

Delphi-Quellcode:
procedure TForm1.FileSaveAs1BeforeExecute(Sender: TObject);
begin
  if not <Bedingung> then
    Abort;
end;
Cu, Frank
Frank Reim
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#3

Re: TFileSaveAs und Execute abbrechen

  Alt 27. Feb 2007, 10:19
Danke, das funktioniert
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: TFileSaveAs und Execute abbrechen

  Alt 27. Feb 2007, 10:26
Hmm,

ich muss gestehen, ich verstehe den Sinn nicht ganz. Normalerweise rufe ich doch an irgendeiner Stelle das Execute in meinem Programm-Source auf, also in etwa so:
Delphi-Quellcode:
if not meine_Bedingung and SaveAsDialog.Execute() then begin
...irgendwas...
end;
Warum braucht man da diesen Event???

Klär mich doch bitte mal einer auf.
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#5

Re: TFileSaveAs und Execute abbrechen

  Alt 27. Feb 2007, 10:42
Zitat von hsg:
Hmm,

ich muss gestehen, ich verstehe den Sinn nicht ganz. Normalerweise rufe ich doch an irgendeiner Stelle das Execute in meinem Programm-Source auf, also in etwa so:
Delphi-Quellcode:
if not meine_Bedingung and SaveAsDialog.Execute() then begin
...irgendwas...
end;
Warum braucht man da diesen Event???

Klär mich doch bitte mal einer auf.
Folgende drei Events existieren:
OnBeforeExecute: Wird aufgerufen BEVOR der Save-Dialog geöffnet wird. Man kann dort also noch Dinge erledigen, wie Daten sortieren, formatieren, usw.
OnAccept: Ich habe auf "Speichern" geclickt.
OnCancel: Ich habe auf "Abbrechen" geclickt.

1. Da es sich um eine Action handelt, brauche ich mir SaveAsDialog nicht mehr selber aufrufen UND ich kann diese Action an unterschiedlichen Teilen des QuellCodes verwenden.
2. Durch die Unterteilung in diese drei Events ist der QuellCode aufgeräumter (finde ich jedenfalls positiv).
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: TFileSaveAs und Execute abbrechen

  Alt 27. Feb 2007, 11:38
Ich sehe gerade: ich habe übersehen, dass es sich um eine Action handelt, dort hast du natürlich recht und dort sind die Events auch entsprechend sinnvoll.

Ich merke, meine Brille bedarf dringend einer gründlichen Reinigung.
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#7

Re: TFileSaveAs und Execute abbrechen

  Alt 27. Feb 2007, 11:45
Zitat von hsg:
Ich merke, meine Brille bedarf dringend einer gründlichen Reinigung.
*gg*

Das Problem kenne ich
Gibt es eigentlich schon Brillengläser, die schmutzabweisend sind?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz