Seite 1 von 1

XbpFileDialog einstellen [Erledigt]

Verfasst: Fr, 07. Aug 2009 22:56
von Jan
Gibt es eine Möglichkeit, beim Öffnen des File-Dialoges festzulegen, in welchem Verzeichnis der geöffnet werden soll? Standardmäßig wird da immer das zuletzt gewählte genommen.

Jan

Re: XbpFileDialog einstellen

Verfasst: Fr, 07. Aug 2009 23:05
von AUGE_OHR
Jan hat geschrieben:Gibt es eine Möglichkeit, beim Öffnen des File-Dialoges festzulegen, in welchem Verzeichnis der geöffnet werden soll? Standardmäßig wird da immer das zuletzt gewählte genommen.
:open( [<cDefaultFile>] ?
Ist in <cDefaultFile> kein Pfad angegeben, wird ...

Re: XbpFileDialog einstellen

Verfasst: Fr, 07. Aug 2009 23:14
von Jan
Hallo Jimmy,

oops. :roll: :shock: :idea:

:open() hab ich mir nicht näher angesehen, weil die Überschrift mir nicht zusagte. Aber es ist genau das, was ich gesucht habe. Danke für den Tipp!

Jan

Re: XbpFileDialog einstellen [Erledigt]

Verfasst: Mo, 01. Feb 2021 18:11
von Manfred
hm,
irgendwie klappt es aber nicht. Egal was ich angebe, es wird immer das letzte Verzeichnis angewählt. War da nicht mal was? Ich suche schon hier die ganze Zeit, finde aber nichts dazu.

Re: XbpFileDialog einstellen [Erledigt]

Verfasst: Mo, 01. Mär 2021 22:07
von flanelli
Manfred hat geschrieben: Mo, 01. Feb 2021 18:11 hm,
irgendwie klappt es aber nicht. Egal was ich angebe, es wird immer das letzte Verzeichnis angewählt. War da nicht mal was? Ich suche schon hier die ganze Zeit, finde aber nichts dazu.
:open( [<cDefaultFile>], ;
[<lCenter>], ;
[<lAllowMultiple>],;
[<lCreateNewFiles>] ) --> cFileName | aFileNames | NIL

Für den Parameter <cDefaultFile> kann eine optionale Zeichenkette übergeben werden.
Wird eine Zeichenkette übergeben und enthält sie einen gültigen Pfad,
wird das entsprechende Verzeichnis als voreingestelltes Verzeichnis angezeigt.
Enthält die Zeichenkette zusätzlich einen gültigen Dateinamen (mit oder ohne Pfadangabe),
wird der Dateiname als Standarddateiname für die zu öffnende Datei gesetzt und im
Eingabefeld "Dateiname:" angezeigt.

Win32 - Unter Windows wird das im Dialog angezeigte Vorgabeverzeichnis
unter Umständen durch das Betriebssystem ausgewählt.

Windows 2000-, XP- und 2003 Server-Systeme - Ist in <cDefaultFile> kein Pfad angegeben
und wurde in der Vergangenheit bereits ein Dateiauswahldialog geöffnet,
wird das zuletzt ausgewählte Verzeichnis als Vorgabeverzeichnis verwendet.
Informationen über das zuletzt verwendete Verzeichnis werden für einen
bestimmten Zeitraum vorgehalten. Ist diese Periode abgelaufen oder wurde
noch kein Dateidialog geöffnet, wird stattdessen das aktuelle Verzeichnis verwendet,
wenn es Dateien des benötigten Typs enthält.
Andernfalls wird das Verzeichnis "Eigene Dateien" als Vorgabeverzeichnis im Dialog angezeigt.

Windows 98-, ME-Systeme - Ist in <cDefaultFile> kein Pfad angegeben, wird das aktuelle
Verzeichnis als Vorgabeverzeichnis verwendet, wenn es Dateien des benötigten Typs enthält.
Andernfalls wird das Verzeichnis "Eigene Dateien" als Vorgabeverzeichnis im Dialog angezeigt.

Alle anderen Windows-Plattformen - Ist in <cDefaultFile> kein Pfad angegeben,
wird das aktuelle Verzeichnis als Vorgabeverzeichnis verwendet.


Zu beachten wäre auch die Instanzvariable :restoreDir
Die Instanzvariable :restoreDir bestimmt, wie das aktuelle Verzeichnis der Anwendung
durch die Methoden :open() und :saveAs() beeinflußt wird.
Enthält die Eigenschaft den Wert .T., wird das aktuelle Anwendungsverzeichnis
wiederhergestellt, sobald der Dateidialog geschlossen wird.
Enthält sie den Wert .F., wird das aktuelle Verzeichnis der Anwendung auf das
Verzeichnis gesetzt, das die vom Benutzer ausgewählten Dateien enthält.


ich habe mit dem nachstehenden Schema noch nie Probleme mit den Pfaden gehabt.
<template_pool> ist lediglich eine Variable für das jeweilige Rootverzeichnis

c_act_CurDir:=CurDir()+"\"
c_act_CurDir := CurDrive() + ":\" + CurDir() + "\" // ** lässt sich auch via :restoreDir lösen
file_Path:= template_pool + "EXPEDIT"
a_fileFilter := { {"Import Templates Expedit", "*.PEX"} }

oDlg := XbpFileDialog():new():create()
oDlg:title:="Generieren Ausfolgescheine"
oDlg:Filefilters:=a_fileFilter
oDlg:center:=.T.
oDlg:defExtension:="PEX"

c_impFile :=oDlg:open( file_Path,.t.,.f.,.F.)
c_impFile:= iif(c_impFile==NIL," ",c_impFile)

c_addon_Dir:=CurDir()+"\"
oDlg:destroy()
CurDir(c_act_CurDir) // ** lässt sich auch via :restoreDir lösen

beste grüße aus dem süden wo schon in den gärten die ersten blumen blühen :-)