RecipeDialog
RecipeDialog ( value BYREF Result, string BYREF strFile, value bOpenRecipeDialog = TRUE, string strRecipe = "", value dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITE , string strFilter = "" );
Rückgabewert
Keiner
Parameter
Result
Aktueller Zustand bzw. Rückgabewert des Dialoges.
Result | Bedeutung |
0 | Dateidialog ist momentan geöffnet. |
1 | Dateidialog wurde mit Öffnen- bzw. Speichern-Schaltfläche verlassen. |
2 | Dateidialog wurde mit Abbrechen-Schaltfläche verlassen |
strFile
Beinhaltet strFile beim Aufruf der Funktion eine gültige Rezepturdatei, so wird der Dateidialog mit diesen Daten vorgeladen. Wird der Dateidialog mit der Öffnen- bzw. Speichern-Schaltfläche verlassen, so wird in strFile der Rezepturdateiname inklusive Ordnerangabe zurückgegeben, ansonsten bleibt der Inhalt von strFile unverändert.
bOpenFileDialog
Entscheidet darüber ob ein Öffnen- oder ein Speichern-Dialog dargestellt wird.
bOpenFileDialog |
Bedeutung |
TRUE | Dateidialog im Datei öffnen Modus darstellen. |
FALSE |
Dateidialog im Datei speichern Modus darstellen. |
dwFlags
Nachfolgende Optionen können durch binäre Oder-Verknüpfungen kombiniert übergeben werden.
dwFlags |
Eigenschaft |
OFN_ALLOWMULTISELECT |
Gibt an, dass eine Mehfachauswahl möglich ist. |
OFN_CREATEPROMPT |
Gibt an, dass - falls die angegebene Datei nicht existiert - beim Benutzer nachgefragt werden soll, ob die Datei erstellt werden soll. |
OFN_ENABLESIZING |
Gibt an, dass der Dialog in seiner Größe verändert werden kann. |
OFN_EXPLORER |
Gibt an, dass der Dialog im Stil des Explorers dargestellt werden soll. |
OFN_EXTENSIONDIFFERENT |
Gibt an, ob ein Benutzer einen Dateinamen eingegeben darf, der von der/den vorgegebene/n Dateierweiterung/en abweicht. |
OFN_FILEMUSTEXIST |
Gibt an, dass der Benutzer nur Dateinamen von existierenden Dateien eingeben darf. Wird ein nicht existierender Dateiname eingetragen, erscheint eine entsprechende Mitteilung. |
OFN_HIDEREADONLY |
Gibt an, dass die "Schreibgeschützt öffnen"-Option ausgeblendet werden soll. |
OFN_NOCHANGEDIR |
Stellt das ursprüngliche Verzeichnis beim erneuten Öffnen wieder her, falls der Benutzer dieses z.B. in ein vorherigen Suche verändert hatte. |
OFN_NONETWORKBOTTON |
Gibt an, dass die Netzwerk-Schaltfläche ausgeblendet werden soll. |
OFN_NOREADONLYRETURN |
Gibt an, dass keine schreibgeschützte Datei geöffnet werden darf. |
OFN_NOTESTFILECREATE |
Gibt an, dass eine Datei erst dann angelegt werden soll, wenn der Dialog geschlossen wurde. |
OFN_NOVALIDATE |
Gibt an, dass der Dialog nicht überprüfen soll, ob für den Dateinamen ungültige Zeichen eingegeben wurden. |
OFN_NODEREFERENCELINKS |
Gibt an, dass nicht der Name einer Verknüpfung (*.lnk) zurückgeliefert werden soll, sondern der Name der Datei, auf den die Verknüpfung verweist. |
OFN_NOLONGNAMES |
Gibt an, dass "kurze" Dateinamen (8.3 Format) verwendet werden sollen. Der Dateidialog im "Explorer Stil" ignoriert dieses Flag. |
OFN_OVERWRITEPROMPT |
Gibt an, dass der Dialog beim Speichern einer schon bestehenden Datei einen Hinweis bringt, dass die Datei überschrieben werden soll. |
OFN_PATHMUSTEXIST |
Gibt an, dass nur gültige Pfad und Dateinamen eingegeben werden können, ansonsten erscheint eine Warnmeldung. |
OFN_READONLY |
Gibt an, dass die "Schreibgeschützt öffnen" -Option beim Öffnen des Dialogs bereits markiert ist. |
OFN_SHAREAWARE |
Gibt an, dass, falls ein Netzwerkfehler beim Öffnen der gewählten Datei auftritt, dieser Fehler ignoriert wird und der Dateiname zurückgeliefert wird. |
OFN_SHOWHELP |
Gibt an, dass der Dialog zusätzlich eine Hilfe-Schaltfläche anzeigt. |
strFilter
Der Dateiendungsfilter strFilter wird verwendet, um den Dateityp anzugeben, welcher im Listenfeld "Dateityp" erscheinen soll. Es können mehrere Filter vorgegeben werden, diese müssen mit einem '|' Zeichen getrennt werden. Die komplette Filterkette muss immer mit einem Doppelzeichen '||' abgeschlossen sein. Jeder Filter besteht aus einer Filterbeschreibung, die im Listenfeld eingetragen wird und dem tatsächlichen Filter. Die beiden Filterkomponenten werden mit einem '|' getrennt.
Bemerkung
Öffnet einen Dateidialog um Rezept-Dateien zu öffnen oder zu speichern. Beachten Sie, dass dies nur eine Dialogkontrollfunktion ist. D.h. wollen Sie eine Rezeptur aufgrund des Dialogergebnisses laden oder speichern, so müssen Sie diesen Vorgang explizit programmieren.
Wird die Funktion RecipeDialog aufgerufen, so wird ein eigenständiger Prozess gestartet, der den Dialog öffnet und den Status an die übergebenen Variablen weitergibt, und das Programm läuft ohne Verzögerung (warten auf das Dialogergebnis) weiter. Beim Verlassen des Dialogs bzw. beim Beenden der Anwendung wird dieser Prozess automatisch beendet.
Beispiel
//öffnet den "Speichern unter"-Dialog und übergibt den "Status" an die Variable Result sowie den ermittelten Rezepturnamen an die Variable strFile.
RecipeDialog (Result, strFile, FALSE);
//öffnet den "Öffnen"-Dialog und übergibt den "Status" an die Variable Result sowie den ermittelten Rezepturnamen an die Variable strFile.
RecipeDialog (Result, strFile, TRUE, OFN_HIDEREADONLY, "Standard (.rzp)|*.rzp|Spezielle Rezeptur|XX*.rxx||");
//RecipeDialog öffnet den "Öffnen"-Dialog und übergibt jede "Statusänderung" am Dialog an ResultRecipeLoad. Beim Verlassen des Dialoges mit der Öffnen-Schaltfläche wird die Rezeptur geladen.
if (buttonRecipeLoad)
RecipeDialog (ResultRecipeLoad, strFile);
end
if (ResultRecipeLoad == 1)
RecipeRead (strFile);
ResultRecipeLoad = 0;
end
//RecipeDialog öffnet den "Speichern unter"-Dialog und übergibt jede "Statusänderung" am Dialog an buttonRecipeSave. Beim Verlassen des Dialoges mit der Speichern-Schaltfläche wird die Rezeptur abgespeichert.
if (buttonRecipeSave)
RecipeDialog (ResultRecipeSave, strFile, FALSE);
end
if (ResultRecipeSave == 1)
RecipeWrite (strFile);
ResultRecipeSave = 0;
end
Siehe auch RecipeGetLast, RecipeRead, RecipeReadLast, RecipeWrite