Seite 1 von 1

Erledigt: Kann GetExtensionPart nicht mit Leerzeichen umgehen?

Verfasst: 25.10.2024 12:32
von EmmJott
Hallo Allerseits!

bin gerade darüber gestolpert, dass GetExtensionPart Probleme mit Extensions mit Leerzeichen hat.

Code: Alles auswählen

ext$ = GetExtensionPart("c:\abcdefg.1 2")
Debug ext$
Debug Len(ext$)

ext$ = GetExtensionPart("c:\abcdefg.  2")
Debug ext$
Debug Len(ext$)

Hat das so seine Richtigkeit? Zumindest lässt mein Windows11 solche Dateinamenserweiterungen zu.

Re: Kann GetExtensionPart nicht mit Leerzeichen umgehen?

Verfasst: 25.10.2024 12:40
von mk-soft
Es sollten keine Leerzeichen oder Punkte in Dateinamen verwendet werden (Empfehlung)
Hier ist auch die Frage ob es sich um einen Süfix handelt.

Workaround ...

Code: Alles auswählen

;-TOP my mk-soft, v1.01.0, 25.10.2024

Procedure.s MyGetExtensionPart(FullPathName$)
  Protected cnt
  cnt = CountString(FullPathName$, ".")
  If cnt
    ProcedureReturn StringField(FullPathName$, cnt + 1, ".")
  Else
    ProcedureReturn ""
  EndIf
EndProcedure

Macro GetExtensionPart(FullPathName)
  MyGetExtensionPart(FullPathName)
EndMacro

ext$ = GetExtensionPart("c:\abcdefg.1 2")
Debug ext$
Debug Len(ext$)

ext$ = GetExtensionPart("c:\abcdefg.  2")
Debug ext$
Debug Len(ext$)

Re: Kann GetExtensionPart nicht mit Leerzeichen umgehen?

Verfasst: 27.10.2024 19:22
von EmmJott
Hi,

danke für den eleganten Workaround. Meiner sah doch etwas "rustikaler" aus ...