Erledigt: Kann GetExtensionPart nicht mit Leerzeichen umgehen?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
EmmJott
Beiträge: 66
Registriert: 25.10.2024 12:23

Erledigt: Kann GetExtensionPart nicht mit Leerzeichen umgehen?

Beitrag 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.
Zuletzt geändert von EmmJott am 27.10.2024 19:22, insgesamt 1-mal geändert.
Hauptsache: Niveau! Bin beim Pogrammieren seit Jahrzehnten konstant auf Anfängerniveau!
Benutzeravatar
mk-soft
Beiträge: 3902
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Kann GetExtensionPart nicht mit Leerzeichen umgehen?

Beitrag 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$)
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
EmmJott
Beiträge: 66
Registriert: 25.10.2024 12:23

Re: Kann GetExtensionPart nicht mit Leerzeichen umgehen?

Beitrag von EmmJott »

Hi,

danke für den eleganten Workaround. Meiner sah doch etwas "rustikaler" aus ...
Hauptsache: Niveau! Bin beim Pogrammieren seit Jahrzehnten konstant auf Anfängerniveau!
Antworten