Seite 1 von 1

CheckExtensionFromFile

Verfasst: 11.07.2010 21:43
von X360 Andy
Hallo,

hier ein kleiner Code zum Überprüfen ob der Dateiname eine Dateiendung hat, wenn nicht setzt er diese.
Kann man denke ich immer mal wieder gebrauchen, da es dies ja nicht im Window Explorer integriert ist ( zum Glück )

Der Code macht aus einem Pfad wie diesem
C:\test

einen Pfad wie diesen wenn als Extension z. B. "txt" angegeben worden ist.
C:\test.txt

Code: Alles auswählen

Procedure.s CheckExtensionFromFile(FileName$, Extension$)
  If Not UCase(GetExtensionPart(FileName$)) = UCase(Extension$)
    Filename$ + "." + Extension$
  EndIf
  ProcedureReturn FileName$
EndProceduree
Gruß Andreas

Re: CheckExtensionFromFile

Verfasst: 11.07.2010 21:50
von ts-soft
Das Define ist vollkommen überflüssig, da die Variablen ja bereits als Parameter bekannt gemacht werden.
Ich hab es mal umgearbeitet, wobei die passende PB-Funktion genutzt wird und der Vergleich
nicht mehr Casesensitiv ist.

Code: Alles auswählen

Procedure.s CheckExtensionFromFile(FileName$, Extension$)
  If Not UCase(GetExtensionPart(FileName$)) = UCase(Extension$)
    Filename$ + "." + Extension$
  EndIf
  ProcedureReturn FileName$
EndProcedure
Gruß
Thomas

Re: CheckExtensionFromFile

Verfasst: 11.07.2010 22:00
von X360 Andy
Stimmt ich depp ... pb hat ja die Funktion GetExtensionPart (Diese benütz ich auch sonst immer :lol: )

Hab dein Code mal übernommen

Re: CheckExtensionFromFile

Verfasst: 11.07.2010 23:17
von STARGÅTE
Naja n zimlich kleiner "Trick" ^^

Da der Code für "meine Ansprüche" nicht ausreichend ist. habe ich ihn etwas verändert.

- Punkte am Ende des Namens werden automatisch Ge-Trim't
- mehrere mögliche Dateiänderungen werden zugelassen.

Code: Alles auswählen

Procedure.s CheckExtensionFromFile(FileName$, Extension$)
  Protected i = 1
  While StringField(Extension$, i, "|")
    If UCase(GetExtensionPart(FileName$)) = UCase(StringField(Extension$, i, "|"))
      ProcedureReturn FileName$
    EndIf
    i + 1
  Wend
  ProcedureReturn Trim(Filename$, ".") + "." + StringField(Extension$, 1, "|")
EndProcedure 

Debug CheckExtensionFromFile("Test.pb", "pb|pbi")
Debug CheckExtensionFromFile("Test.pbi", "pb|pbi")
Debug CheckExtensionFromFile("Test.", "pb|pbi")
Debug CheckExtensionFromFile("Test", "pb|pbi")