EVENT_WINDOWACCEPT - Sonderzeichen
Übersicht

SoraBetreff: EVENT_WINDOWACCEPT - Sonderzeichen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Habe schon wieder ein kleines Problem: ![]() So sieht ja der grundlegende Aufbau einer Drag/Drop Application aus, jedoch kommt das Programm so nicht mit Sonderzeichen in Dateinamen klar (die Windows aber erlaubt). Heute hatte ich in einem Dateinamen z.B ein ☆, also filename☆blabla.endung, so etwas dürfte zwar äußerst selten vorkommen, aber ich wollte mich trotzdem mal erkundigen, ob es eine Methode gibt, in der Bmax damit klar kommt. Code: [AUSKLAPPEN] Import MaxGui.Drivers
SuperStrict Local window:TGadget =CreateWindow("",100,140,300,300,Null,WINDOW_TITLEBAR|WINDOW_ACCEPTFILES) While True WaitEvent Select EventID() Case EVENT_WINDOWCLOSE End Case EVENT_WINDOWACCEPT Print EventExtra().ToString() 'Drag&Drop Dateiname End Select Wend |
||
jsp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also die Windows Sonderzeichen funktionieren eigentlich ohne Probleme, aber der * gehoert nicht zu den erlaubten Sonderzeichen als Dateiname!
\/:*?<>| sind soweit ich weiss nicht gestattet und koennen auch nicht ueber den "normalen" Weg (Requester,Copy-Paste,Rename) eingegeben werden. Es kann natuerlich vorkommen das man Sonderzeichen von anderen Betriebssysteme reinbekommt (grosses Netzwerk mit Windows, Mac und Unix Maschinen), aber dafuer gibt es eigentlich extra Konverterprogramme, sonst kommt es zu den abenteuerlichsten Verhalten, je nach System und Zeichen. Da das Zeichen unter Windows eigentlich nicht gestattet ist, weiss ich nicht ob man darauf wirklich achten sollte, habs auch noch nicht probiert. |
||
Logic Gui Professional a Gui Designer for MaxGui |
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jsp hat Folgendes geschrieben: Also die Windows Sonderzeichen funktionieren eigentlich ohne Probleme, aber der * gehoert nicht zu den erlaubten Sonderzeichen als Dateiname!
\/:*?<>| sind soweit ich weiss nicht gestattet und koennen auch nicht ueber den "normalen" Weg (Requester,Copy-Paste,Rename) eingegeben werden. Es kann natuerlich vorkommen das man Sonderzeichen von anderen Betriebssysteme reinbekommt (grosses Netzwerk mit Windows, Mac und Unix Maschinen), aber dafuer gibt es eigentlich extra Konverterprogramme, sonst kommt es zu den abenteuerlichsten Verhalten, je nach System und Zeichen. Da das Zeichen unter Windows eigentlich nicht gestattet ist, weiss ich nicht ob man darauf wirklich achten sollte, habs auch noch nicht probiert. also ich kann unter Vista dieses Zeichen problemlos eingeben. Dies war auch das erste Zeichen, bei dem ich es bemerkt habe. /\:*?"|<> etc. sind ja, wie du schon geschrieben hast, nicht erlaubt. |
||
jsp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Interessant, bis einschliesslich XP funktionierte das nicht (wahrscheinlich um Abwaertskompatibel zu bleiben). Waere von daher dann ein echtes Problem. Sind die anderen Sonderzeichen auch moeglich? | ||
Logic Gui Professional a Gui Designer for MaxGui |
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jsp hat Folgendes geschrieben: Interessant, bis einschliesslich XP funktionierte das nicht (wahrscheinlich um Abwaertskompatibel zu bleiben). Waere von daher dann ein echtes Problem. Sind die anderen Sonderzeichen auch moeglich?
Jo, gerade mal willkürlich durchprobiert ې۞بѺ͜♥▲ﭺﻲϚ etc. geht alles. Nur /\:*?"|<> werden nach wie vor blockiert. |
||
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sora hat Folgendes geschrieben: Nur /\:*?"|<> werden nach wie vor blockiert.
Das sind auch alles genau die Zeichen, die man bei Windows/NTFS nicht für Dateinamen verwenden darf. Bei dem Slash / und Backslash \ ist das ja auch klar, warum das nicht erlaubt ist. Wenn du eine Datei in z.B. / umbennen willst, taucht bei mir (Win XP) direkt der Hinweis auf, dass man diese Zeichen nicht verwenden darf. MfG #Reaper |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
jsp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Scheinbar wurde in Vista der Unicode gebrauch weiter geoeffnet.
Dazu ein Artikel von der CT' http://www.heise.de/newsticker...dung/96455 Tja, Fluch oder Segen... |
||
Logic Gui Professional a Gui Designer for MaxGui |
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
#Reaper hat Folgendes geschrieben: Sora hat Folgendes geschrieben:
Nur /\:*?"|<> werden nach wie vor blockiert.
Das sind auch alles genau die Zeichen, die man bei Windows/NTFS nicht für Dateinamen verwenden darf. Bei dem Slash / und Backslash \ ist das ja auch klar, warum das nicht erlaubt ist. Wenn du eine Datei in z.B. / umbennen willst, taucht bei mir (Win XP) direkt der Hinweis auf, dass man diese Zeichen nicht verwenden darf. MfG #Reaper das ist durchaus klar, um diese Zeichen geht es hier auch nicht,...da man sie nicht verwenden kann, stellen sie folglich auch kein Problem dar. ![]() jsp hat Folgendes geschrieben: Scheinbar wurde in Vista der Unicode gebrauch weiter geoeffnet.
Dazu ein Artikel von der CT' http://www.heise.de/newsticker...dung/96455 Tja, Fluch oder Segen... hm ja, dann müssen wir wohl warten, bis das offiziell in bmax irgendwann vielleicht gefixed wird. Naja, gibt schlimmeres^^ |
||
- Zuletzt bearbeitet von Sora am Sa, Dez 06, 2008 1:24, insgesamt einmal bearbeitet
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sora hat Folgendes geschrieben: das ist durchaus klar, um diese Zeichen geht es hier auch nicht,...da man sie nicht verwenden kann, stellen sie folglich auch kein Problem dar.
![]() Ubs, ok. Hatte es so verstanden, dass du es weiterhin als Problem ansiehst. Sorry. ![]() |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So, da ich nun doch Drag&Drop möchte, welches auch mit Sonderzeichen korrekt arbeitet, habe ich versucht die WinApi Funktion dafür zu nutzen.
Edit: Ach hat sich erledigt, habe gerade bemerkt, dass AcceptFile ans ich schon funktioniert, nur blitzmax danach nichts mit diesem String einfangen kann, da Unicode Unterstützung fehlt.. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group