OpenFileRequester

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

OpenFileRequester

Beitrag von sen-me »

Ich glaube jetzt nicht das es ein Bug ist, aber ich würde es besser finden wenn man eine Abfrage einbauen würde, die schaut ob die ausgewählte Datei auch die selbe Extension hat wie vorgegeben.
Z.B.

Code: Alles auswählen

OpenFileRequester("Bli wählen...", file, "Bli (*.bli)|*.bli", 0)
Würde ich jetzt in einen Ordner gehen wo auch eine bla.blub vorhanden ist und unten in die Textbox bla.blub eingeben würde, dann aktzeptiert er das, obwohl nur *.bli gesucht sind.

So muss man immer selber abfragen ob es erlaubt ist...
Hab mir zwar ne eigene Procedure geschrieben die das OpenFileRequester ersetzt (also ne Procedure die aber die ausgewählte Datei über ihre Richtigkeit prüft), aber es wäre echt nützlich, vor allem im Bughandling von Programmen ^^
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Des Rätsels Lösung ist SelectedFilePattern() oder GetFileExtension()
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

soweit ich weiß , ist es kein bug, da erstens der requester von windows kommt, und zweitens er zwar nur die dateien mit der endung anzeigt, aber die anderen existiern trotzdem noch :wink:
beim speichern musst du ja auch selber gucken, ob die endung überhaupt an den namen angehängt wurde
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Stimmt, man muss selber aufpassen.
Ich verarsche manche Programme ja auch, indem ich z. B. ein Bild wähle, das nicht mit den vorgegebenen Pattern übereinstimmt. :mrgreen: Trotzdem schaffen sie es irgendwie, die Datei immer richtig zu öffnen.

Übrigens: In deinem BLI-Requester kann man problemlos alle anderen Dateien auch öffnen, auch, wenn du als Pattern nur *.bli vorgibst. Bei Dateinamen einfach einen *Stern* eingeben und EIngabe drücken, dann werden alle Dateien angezeigt und ich kann auch nicht-BLI-Dateien auswählen.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

yo das ist völlig normal und auch vollkommen logisch.

du kannst z.b. in Paint ein JPG öffnen, wenn das anzeigepattern auf BMP steht.

ich persönlich fände es komplett sinnwidrig, wenn das irgendwie beschränkt würde.

das pattern dient nur dazu, dein in diesem mini-fenster angezeigte verzeichnis übersichtlicher zu gestalten.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

Wenn es aber um eigene Extensionen geht und falls der Benutzer ein anderes lädt kann es passieren, das ohne Abfrage diese Datei beschädigt wird...
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Deswegen solltest du, wenn du ein eigenes Dateiformat hast, am Anfang der
Datei einen Header einbauen, an dem du dein Dateiformat erkennen kannst,
auch wenn die Dateierweiterung nicht stimmt.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

sen-me hat geschrieben:Wenn es aber um eigene Extensionen geht und falls der Benutzer ein anderes lädt kann es passieren, das ohne Abfrage diese Datei beschädigt wird...
deswegen solltest du rückgaben von User immer ganz ganz ganz genau prüfen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Kann ich auch mal eine Frage zum OpenFilerequester() stellen?

Wie maaachen manche Programme das, das eine zusätzliche CheckBoxGadget da reinkommt, die lautet immer "Schreibgeschützt öffnen".

Geht das, wenn ja wie?
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Geht das, wenn ja wie?
Mit der GetOpenFileName-API, solltest Du eigentlich selber finden können.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Gesperrt