also ich habe tausende von Dateien auf der externen Platte und in dem ein oder anderen Dateinamen sind eben keine deutschen Buchstaben sondern sowas wie :
Ê
î
Ô
Û
â
ê
î
ô
û
eben Sonderzeichen. Nun lasse ich meine Festplatte durchsuchen und lasse per FindString im Dateinamen nach diesen Zeichen suchen. Dummerweise findet das Programm nicht das Ê sondern es findet ein ganz normales E.
Kann mir jemand helfen, wie man diese Zeichen genau identifiziert ??
PB 6.10LTs / Windows 11 64Bit 25H2
... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Directory$ = "D:\" ; Listet alle Einträge im Windows-Verzeichnis auf (ohne die Inhalte aus Unterverzeichnissen)
If ExamineDirectory(0, Directory$, "*.*")
While NextDirectoryEntry(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
CurrentFileName$ = DirectoryEntryName(0)
Debug CurrentFileName$
If FindString(CurrentFileName$, "Ê")
Debug "''Ê'' ist im Dateinamen vorhanden."
Else
Debug "Kein Ê gefunden."
EndIf
Debug "--------------"
EndIf
Wend
FinishDirectory(0)
EndIf
Ausgabe:
TestETest.txt
Kein Ê gefunden.
--------------
TestÊTest.txt
''Ê'' ist im Dateinamen vorhanden.
--------------
WriteLines.txt
Kein Ê gefunden.
--------------
Oder meinst du was Anderes? Poste bitte mal deinen Code.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Danke, mein Code sieht ungefähr so aus, jedoch findet er angeblich die Bustaben in den Dateinamen, obwohl es ein normales E oder O ist...
Wenn ich alles Sonderzeichen in den Editor eingebe, macht er aus vielen ein nicht erkennbares Zeichen, liegts evtl daran ? Kopier mal die Sonderzeichen in den Editor :
Haste Deinen Source auch im UTF-8 Format erstellt? Compileroption Unicode wäre auch sinnvoll.
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.
Naja, bei solchen Zeichen wäre Chr() besser, weil einige spezielle Zeichen im (reinen) Editor nicht erkannt werden. Ansonsten hilft UTF-8
Entweder Chr() nutzen oder du erstellst am besten eine RegEx-Anweisung, womit du überprüfen kannst, ob im Dateiname die folgenden Zeichen vorhanden sind: a-z, A-Z, 0-9 und zusätzlich einige Sonderzeichen. Dann brauchst du nicht nach allen Sonderzeichen zu suchen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.