AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
27.07.21 - 08:16:10
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Domino 9 und frühere Versionen
| |-+  ND9: Entwicklung (Moderatoren: Axel, eknori, Thomas Schulte, koehlerbv, m3)
| | |-+  Dateiname auslesen mit sonderzeichen
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Dateiname auslesen mit sonderzeichen  (Gelesen 987 mal)
ronka
Senior Mitglied
****
Offline Offline

Beiträge: 329


Was macht der hier denn, muß der überall sein ?


WWW
« am: 31.01.21 - 21:55:13 »

Ich versuche gerade einen Dateiname auszulesen mit Sonderzeichen, und dann den Attribute dieser Datei zu holen.

Dieses schlägt fehl.

Der Dateiname wird geholt über einen einfache "Dir"
      DirName = Dir(path & SearchStr, 0 Or 2 Or 16)

Danach wird kontrolliert ob es ein verzeichnis ist mit
      If Getattr(path & DirName) And 16 Then

Und dort entsteht dann ein Error 53 - File not Found.

Der Dateiname der den Debugger her gibt ist
"1. Kot Filemon - Nazywam sie Filemon - YouTube (360p).mp4"

Der Tatsächliche Dateiname ist
"1. Kot Filemon - Nazywam się Filemon - YouTube (360p).mp4"

Dort ist also ein Sonderzeichen "ę" drin, der offenbar als solches nicht ausgelesen wird vom Dir statement.

Kennt jemand ein Workaround damit ich weiterhin diesen Datei abfragen kann ?

Ach ja, die Datei steht auf einen CD-ROM, ist also Read-Only, ich kann die Dateiname also nicht anpassen.

Falls jemand denkt das mann die "Normale" Dateien einfach nicht nehmen sollte ("0 or" weglassen), tja das funktioniert nicht.
Laut hilfe: "Dir$ always returns the names of normal files."
« Letzte Änderung: 31.01.21 - 22:08:08 von ronka » Gespeichert

das neueste von Domino 10 auf den AdminCamp in September -> www.AdminCamp.de
jBubbleBoy
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1221



« Antworten #1 am: 01.02.21 - 13:14:28 »

Die Zeile "If Getattr(path & DirName) And 16 Then" wird so aber nicht funktionieren Wink

Dateien mit Sonderzeichen können über Windows-Script korrekt ausgelesen werden. Hier mal LS-Funktionen für Ordner und Dateien, ggfs. reicht das schon:
Code:
Function getFiles_ByWFSO(folder_ As String) As Variant

Dim files(), i&, oFSO, oFolder, fileList, fo$

ReDim files(0)
fo = folder_
If right(folder_,1) <>"\" Then fo = fo + "\"
Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder(folder_)
Set fileList = oFolder.Files
ForAll objFile In fileList
ReDim preserve files(i)
files(i) =  fo + objFile.Name
i = i + 1
End ForAll

getFiles_ByWFSO = files

End Function

Function getFolders_ByWFSO(folder_ As String) As Variant

Dim files(), i&, oFSO, oFolder, fo$

ReDim files(0)
fo = folder_
If right(folder_,1) <>"\" Then fo = fo + "\"
Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder(folder_).SubFolders
ForAll folder In oFolder
ReDim Preserve files(i)
files(i) =  fo + folder.Name
i = i + 1
End ForAll

getFolders_ByWFSO = files

End Function
« Letzte Änderung: 01.02.21 - 13:52:36 von jBubbleBoy » Gespeichert

Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.11
--
Nur ein toter Bug, ist ein guter Bug!
ronka
Senior Mitglied
****
Offline Offline

Beiträge: 329


Was macht der hier denn, muß der überall sein ?


WWW
« Antworten #2 am: 01.02.21 - 13:52:21 »

Also den Funktion geht schon, NUR nicht bei diesen Sonderzeichen in Dateinamen.

Wenn ich einen CD/DVD verarbeite ohne sonderzeichen in den Dateinamen klappt das problemlos.

Diesen getFiles_ByWFSO oder CreateObject("Scripting.FileSystemObject") geht sicherlich nur wenn auf den OS dazu einen passenden object installiert ist, oder ?
Der Agent jetzt verwendet reine Lotusscript funktionalität, und würde auch unter linux und Mac funktionieren.
Das hier dann nicht mehr... oder ??
« Letzte Änderung: 01.02.21 - 13:55:00 von ronka » Gespeichert

das neueste von Domino 10 auf den AdminCamp in September -> www.AdminCamp.de
jBubbleBoy
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1221



« Antworten #3 am: 01.02.21 - 13:56:46 »

Bei einer Verwendung durch Linux- oder Mac-User würde ich dann auf Java umsteigen, mit LS kommt man hier schnell an seine Grenzen.
Gespeichert

Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.11
--
Nur ein toter Bug, ist ein guter Bug!
ronka
Senior Mitglied
****
Offline Offline

Beiträge: 329


Was macht der hier denn, muß der überall sein ?


WWW
« Antworten #4 am: 01.02.21 - 17:25:15 »

Wie gesagt, grundsätzlich funktioniert die routine, und liest dateien und verzeichnisse aus.

NUR wenn Dateien (nicht verzeichnisse) einen Umlaut haben springt der raus..
Als workaround habe ich jetzt auf die letzte 4 Zeichen kontroliert ob dort ein punkt drin ist, wenn ja, dann skipp ich den datei..

aber dann taucht das problem später in der routine (wo dann die Datei selber verarbeitet werden sollte) wieder erneut auf.

Kann der DIR() keine sonderzeichen ? muss ich dafür einen Ticket bei HCL eröffnen um das heraus zu finden ?
Gespeichert

das neueste von Domino 10 auf den AdminCamp in September -> www.AdminCamp.de
jBubbleBoy
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1221



« Antworten #5 am: 01.02.21 - 18:31:52 »

mir wäre keine Lösung bekannt  Ahnungslos

ein Ticket dazu gab es schon:
https://www.ibm.com/support/pages/apar/LO54603
Gespeichert

Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.11
--
Nur ein toter Bug, ist ein guter Bug!
ronka
Senior Mitglied
****
Offline Offline

Beiträge: 329


Was macht der hier denn, muß der überall sein ?


WWW
« Antworten #6 am: 01.02.21 - 20:42:28 »

Das war ja 8.5.1 und damit lange her..

man o man..

Naja, dann muss ich mal nachfragen bei HCL und IBM ob da jemals etwas gemacht würde.
Gespeichert

das neueste von Domino 10 auf den AdminCamp in September -> www.AdminCamp.de
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: