AGB  ·  Datenschutz  ·  Impressum  







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

OpenFileDialog kastrieren?

Ein Thema von Phoenix · begonnen am 12. Feb 2007 · letzter Beitrag vom 12. Feb 2007
Antwort Antwort
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#1

OpenFileDialog kastrieren?

  Alt 12. Feb 2007, 14:09
Jo,

ich will den System.Windows.Forms.OpenFileDialog kastrieren. Genauer: Ich will genau einen Pfad vorgeben, und es darf nur eine Datei aus exakt diesem Pfad ausgewählt werden.

Irgendwie find ich aber keine Eigenschaften, um den Folderwechsel zu verbieten. Gibts da irgendwo schon was, bin ich blind, oder muss ich mir meinen eigenen "OpenFileFromSpecifiedFolderDialog" schreiben?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#2

Re: OpenFileDialog kastrieren?

  Alt 12. Feb 2007, 14:40
Nutze doch die Delphi-Referenz durchsuchenFileDialog-Klasse. Jürgen

PS. Es ist in der Tat oft schwierig, bei den Tausenden Klassen die passende zu finden.
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#3

Re: OpenFileDialog kastrieren?

  Alt 12. Feb 2007, 15:52
Zitat von Jürgen Thomas:
Nutze doch die Delphi-Referenz durchsuchenFileDialog-Klasse. Jürgen
PS. Es ist in der Tat oft schwierig, bei den Tausenden Klassen die passende zu finden.
Erm. Das ist eine abstrakte Klasse - die Taugt nur zum Ableiten.

Und da die Ableitungen OpenFileDialog und SaveFileDialog in der einzigen abstrakten Methode "RunFileDialog" einen Call auf NativeMethods absetzen - was ich aufgrund des ProtectionLevels in einer eigenen Ableitung nicht darf - bringt mir das rein gar nichts
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#4

Re: OpenFileDialog kastrieren?

  Alt 12. Feb 2007, 16:02
Kleiner Tipp: Vergiss es einfach. Die Dateidialoge auch nur böse anzuschauen kann ernsthafte Konsequenzen für die Verwendbarkeit einer .Net App haben.
Wenn deine app zum Bleistift über ein Netzwerk gestartet wird, dann ist OpenFileDialog.OpenFile() die einzige Möglichkeit für dich an eine lokale Datei zu kommen. Genau die gleiche Methode liefert dir einen schreibfähigen Stream beim SaveFileDialog. Du solltest möglichst nie versuchen den Dateinamen eines der beiden Dialoge zu lesen.
Ich kann dir also nur empfehlen hier nicht zu schlau zu werden, da du sonst einige IMO sehr sinnvolle Sicherheitsmechanismen für ein wenig Schnickschnack komplett nutzlos machst.
Deine App würde Fulltrust brauchen.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#5

Re: OpenFileDialog kastrieren?

  Alt 12. Feb 2007, 16:07
Der User hat ausschliesslich eine einzelne Datei aus einem vorher vom Admin definierten Verzeichnis auszuwählen (InitialDirectory). Aber da darf er über den Dialog ausbrechen.

Der OpenFileDialog bietet dem User daher viel zu viel zu viele Rechte - und die will muss ich einschränken.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#6

Re: OpenFileDialog kastrieren?

  Alt 12. Feb 2007, 17:07
Sorry, bei OpenFile-Dialog hatte ich nicht weiter gelesen.

Aber wäre bei Deinen Bedingungen nicht eine ListBox - evtl. in einem kleinen Formular - das einfachste? Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#7

Re: OpenFileDialog kastrieren?

  Alt 12. Feb 2007, 17:51
Naja, so Ansatzweise.

Ich denke ich werde einfach alle Images die in dem Verzeichnis liegen in eine Grid packen (mit Preview) und den User da auswählen lassen. Dann brauch ich mich nicht mit dem Dialog rumärgern
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  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:20 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