Bezeichnung
FileRequest -- öffnet ein Dateidialogfenster
Übersicht
f$ = FileRequest(title$[, t])
Frühere syntax
f$ = FileRequest(title$[, filter$, mode, defdir$, deffile$])
Beschreibung
Dieser Befehl öffnet die Dateiauswahl, die es dem Benutzer erlaubt, eine Datei auszuwählen. Sie können den Titel für das Dialogfenster durch die Zuordnung des Arguments title$ angeben.

Die Datei, die der Benutzer auswählt, wird in f$ zurückgegeben, einschließlich des Pfades, in dem sie sich befindet. Wenn der Benutzer den Dialog abbricht, bleibt die Zeichenfolge f$ leer.

FileRequest() unterstützt viele optionale Argumente. Vor Hollywood 9.0 mussten diese als optionale Parameter übergeben werden (siehe oben). Seit Hollywood 9.0 wird jedoch empfohlen, die neue Syntax zu verwenden, die ein einzelnes optionales Tabellenargument hat, mit dem ein oder mehrere optionale Argumente an FileRequest() übergeben werden können.

Die folgenden Tabellenfelder werden von diesem Befehl erkannt:

Mode:
Dieses Tabellenargument ermöglicht es Ihnen, das Dateidialogfenster in den Speicher- oder Mehrfachauswahlmodus zu setzen. Für den Speichermodus benutzen Sie #REQ_SAVEMODE und für den Mehrfachauswahlmodus #REQ_MULTISELECT. Im Mehrfachauswahlmodus wird dieser Befehl keine Zeichenkette sondern eine Tabelle zurückgeben. Sie enthält alle Dateien, die der Benutzer ausgewählt hat und endet mit einer leeren Zeichenkette. Ab Hollywood 6.0 können Sie mit #REQ_HIDEICONS *.info-Dateien unter AmigaOS verstecken. Beachten Sie, das dass #REQ_HIDEICONS mit anderen Modi durch Verknüpfung in einer Oder-Bitmaske '|' kombiniert werden kann. #REQ_HIDEICONS unterstützt nur AmigaOS. (V2.0)

Path:
Dieser Tabellen-Tag kann verwendet werden, um den Anfangspfad für das Dateidialogfenster anzugeben. (V3.0)

File:
Dieser Tabellen-Tag kann verwendet werden, um die Anfangsdatei für das Dateidialogfenster anzugeben. (V3.0)

Filters:
Mit diesem Tabellen-Tag können Sie Filter angeben, die definieren, welche Dateien im Dateidialogfenster angezeigt werden sollen. Dies kann entweder eine Zeichenkette oder eine Tabelle sein.

Wenn es sich um eine Zeichenkette handelt, muss sie die Erweiterungen der Dateien enthalten, die im Dateidialogfenster angezeigt werden sollen. Diese Erweiterungen müssen durch '|'-Zeichen getrennt werden. Zum Beispiel: "voc|wav|8svx|16sv|iff|aiff" zeigt nur Dateien an, die eine dieser Erweiterungen haben. Stellen Sie sicher, dass Sie nicht den . (Punkt) vor der Dateierweiterung einfügen, sondern nur die eigentliche Erweiterung. Der Standardwert ist "*", was bedeutet, dass alle Dateien angezeigt werden sollen.

Ab Hollywood 9.0 können Sie auch Filters auf eine Tabelle setzen, um einzelne Dateigruppen und eine Beschreibung für jede Gruppe zu definieren. Setzen Sie dazu Filters auf eine Tabelle, die eine beliebige Anzahl von Untertabellen enthält, von denen jede eine einzelne Gruppe von Dateien beschreibt. Jede Untertabelle muss die folgenden Elemente enthalten:

Filter:
Eine Zeichenkette, die die Dateierweiterungen dieser Gruppe enthält. Diese Zeichenkette muss das gleiche Format haben wie oben beschrieben, d.h. die einzelnen Erweiterungen müssen durch den senkrechten Strich (|) getrennt werden, zum Beispiel "jpg|jpeg".

Description:
Eine Zeichenkette zur Beschreibung der Filtergruppe, z.B. "JPEG-Bilder".

HideFilter:
Dieses Tabellenelement ist optional. Wenn Sie es auf True setzen, zeigt FileRequest() nicht die einzelnen Dateierweiterungen an, die zur Filtergruppe gehören, sondern nur deren Beschreibung. Beachten Sie, dass dies nicht von allen Plattformen unterstützt wird. Die Voreinstellung ist False.

X:
Anfängliche x-Position für das Dateidialogfenster auf dem Bildschirm. Nicht alle Plattformen unterstützen dies. (V9.0)

Y:
Anfängliche y-Position für das Dateidialogfenster auf dem Bildschirm. Nicht alle Plattformen unterstützen dies. (V9.0)

Width:
Anfangsbreite für das Dateidialogfenster. Nicht alle Plattformen unterstützen dies. (V9.0)

Height:
Anfangshöhe für das Dateidialogfenster. Nicht alle Plattformen unterstützen dies. (V9.0)

Eingaben
title$
Titel für das Dialogfenster; eine leere Zeichenfolge ("") verwendet den Standardtitel von @APPTITLE
t
optional: Tabelle mit weiteren Argumenten (siehe oben) (V9.0)
Rückgabewerte
f$
die Auswahl des Benutzers oder eine leere Zeichenkette, wenn der Dialog abgebrochen wurde; Wenn der Dialog im Mehrfachauswahlmodus geöffnet wurde, wird eine Tabelle mit allen ausgewählten Dateien zurückgegeben
Beispiel
f$ = FileRequest("Select a picture", {Filters = "png|jpg|jpeg|bmp"})
If f$ = ""
  Print("Requester cancelled!")
Else
  Print("Your selection:", f$)
EndIf
Der obige Code fragt den Benutzer nach einer Datei und gibt das Resultat aus.


files = FileRequest("Select some files", {Mode = #REQ_MULTISELECT})
If files[0] = ""
  Print("Requester cancelled!")
Else
  NPrint("Path:", PathPart(files[0]))
  NPrint("Files selected:", ListItems(files) - 1)
  While files[c] <> ""
    NPrint(FilePart(files[c]))
    c = c + 1
  Wend
EndIf
Der Code öffnet die Dateiauswahl im Mehrfachauswahlmodus und gibt alle Dateien aus, die der Benutzer ausgewählt hat.


f$ = FileRequest("Select file", {
  {Description = "Image files", Filter = "png|jpg|jpeg|bmp"},
  {Description = "Audio files", Filter = "wav|mp3|mp4"},
  {Description = "All files", Filter = "*"}
})
Der obige Code zeigt, wie Sie mehrere Filtergruppen mit Beschreibungen verwenden.

Navigation zeigen