EVENT_WINDOWACCEPT - Sonderzeichen

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Sora

Betreff: EVENT_WINDOWACCEPT - Sonderzeichen

BeitragFr, Dez 05, 2008 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe schon wieder ein kleines Problem: Mad

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

BeitragSa, Dez 06, 2008 0:32
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Dez 06, 2008 0:33
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Dez 06, 2008 0:42
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Dez 06, 2008 1:05
Antworten mit Zitat
Benutzer-Profile anzeigen
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.
 

#Reaper

Newsposter

BeitragSa, Dez 06, 2008 1:15
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Dez 06, 2008 1:20
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Dez 06, 2008 1:21
Antworten mit Zitat
Benutzer-Profile anzeigen
#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. Wink

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
 

#Reaper

Newsposter

BeitragSa, Dez 06, 2008 1:24
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Wink


Ubs, ok. Hatte es so verstanden, dass du es weiterhin als Problem ansiehst. Sorry. Wink
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

BeitragSo, März 29, 2009 13:24
Antworten mit Zitat
Benutzer-Profile anzeigen
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..

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group