function chkFilename lparameters tcDateiName, tlStrong local lcValue, lnI, lcZeichen lcValue = tcDateiName for lnI = 1 to 13 do case case lnI = 1 lcZeichen = [\] case lnI = 2 lcZeichen = [/] case lnI = 3 lcZeichen = [:] case lnI = 4 lcZeichen = [*] case lnI = 5 lcZeichen = [?] case lnI = 6 lcZeichen = ["] case lnI = 7 lcZeichen = [<] case lnI = 8 lcZeichen = [>] case lnI = 9 lcZeichen = [|] case lnI = 10 lcZeichen = [,] * 05.06.2013 : ToDoID: 11405: CR, LF und TAB dürfen auch nicht im Dateinamen vorkommen! case lnI = 11 * CR lcZeichen = chr(13) case lnI = 12 * LF lcZeichen = chr(10) case lnI = 13 * TAB lcZeichen = chr(9) endcase if lcZeichen $ lcValue lcValue = strtran(lcValue, lcZeichen) endif endfor * Noch strengere Überprüfung von Dateinamen ermöglicht. Es werden nur noch a-z, A-Z und 0-9 zugelassen! if tlStrong local lnlen, lcNeuerName, lcChar, lnASC lnlen = len(lcValue) lcNeuerName = "" for lnI = 1 to lnlen lcChar = substr(lcValue,lnI,1) lnASC = asc(lcChar) * "A -Z" "a-z" "0-9" " ", "-" if (lnASC >= 65 .and. lnASC <= 90) .or. (lnASC >= 97 .and. lnASC <= 122).or. (lnASC >= 48 .and. lnASC <= 57) .or. inlist(lnASC, 32, 45) lcNeuerName = lcNeuerName + lcChar else do case case lnASC = 246 * ö --> oe lcNeuerName = lcNeuerName + "oe" case lnASC = 214 * Ö --> Oe lcNeuerName = lcNeuerName + "Oe" case lnASC = 196 * Ä --> Ae lcNeuerName = lcNeuerName + "Ae" case lnASC = 228 * ä --> äe lcNeuerName = lcNeuerName + "ae" case lnASC = 220 * Ü --> Ue lcNeuerName = lcNeuerName + "Ue" case lnASC = 252 * ü --> ue lcNeuerName = lcNeuerName + "ue" case lnASC = 223 * ß --> ss lcNeuerName = lcNeuerName + "ss" otherwise * Kein erlaubtes Zeichen --> _ als Platzhalter benutzen lcNeuerName = lcNeuerName + "_" endcase endif endfor lcValue = lcNeuerName endif return lcValue endfunc