 Private Function _CustomizeParametrics(ByVal sFile As String, ByVal dDateTime As DateTime) As String

        Dim i As Integer, j As Integer, iMax As Integer, iValue As Integer
        Dim iBegin As Integer, iEnd As Integer, k As Integer
        Dim sValueRet As String = sFile
        Dim sFind As String = ""
        Dim vAny() As String = {"yyyy", "yy", "M", "MM", "MMM", "MMMM", "dddd", "ddd", "dd", "d", "HH", "H", "mm", "m", "ss", "s", "dw", "DW"}
        Dim vFind(vAny.Length - 1) As String
        Dim vFindIndexAny(vAny.Length - 1) As Integer

        iMax = -1
        For j = 0 To 2
            For i = 0 To vAny.Length - 1

                Select Case j
                    Case 0
                        sFind = "<" & vAny(i) & "+"
                    Case 1
                        sFind = "<" & vAny(i) & "-"
                    Case 2
                        sFind = "<" & vAny(i) & ">"
                End Select  // sFind = <yyyy+

                iValue = 0
                iBegin = sValueRet.IndexOf(sFind) // trova l'indice di <yyyy+
                If iBegin >= 0 Then // se lo trova
                    If j <= 1 Then
                        iEnd = sValueRet.IndexOf(">", iBegin) //iBegin <yyyy+1> iEnd
                        k = iBegin + 1 + vAny(i).Length // <yyyy+ num caratteri
                        iValue = Val(sValueRet.Substring(k, iEnd - k)) // num giorni da sottrarre o sommare 
                        sFind = sValueRet.Substring(iBegin, iEnd - iBegin + 1)
                    End If
                    iMax += 1 //0
                    vFind(iMax) = sFind
                    vFindIndexAny(iMax) = i
                    If iValue <> 0 Then
                        Select Case vAny(i) //aggiungere il numero di giorni specificato a dDateTime 
                            Case "yyyy", "yy"
                                dDateTime = dDateTime.AddYears(iValue)
                            Case "M", "MM", "MMM", "MMMM"
                                dDateTime = dDateTime.AddMonths(iValue)
                            Case "dddd", "ddd", "dd", "d"
                                dDateTime = dDateTime.AddDays(iValue)
                            Case "HH", "H"
                                dDateTime = dDateTime.AddHours(iValue)
                            Case "mm", "m"
                                dDateTime = dDateTime.AddMinutes(iValue)
                            Case "ss", "s"
                                dDateTime = dDateTime.AddSeconds(iValue)
                        End Select
                    End If
                End If
            Next
        Next
        Try
            For i = 0 To iMax
                Select Case vAny(vFindIndexAny(i)) // sostituzione
                    Case "M"
                        sValueRet = sValueRet.Replace(vFind(i), dDateTime.Month.ToString("#0"))
                    Case "d"
                        sValueRet = sValueRet.Replace(vFind(i), dDateTime.Day.ToString("#0"))
                    Case "H"
                        sValueRet = sValueRet.Replace(vFind(i), dDateTime.Hour.ToString("#0"))
                    Case "m"
                        sValueRet = sValueRet.Replace(vFind(i), dDateTime.Minute.ToString("#0"))
                    Case "s"
                        sValueRet = sValueRet.Replace(vFind(i), dDateTime.Second.ToString("#0"))
                    Case "dw", "DW"
                        sValueRet = sValueRet.Replace(vFind(i), DirectCast(dDateTime.DayOfWeek, Integer).ToString("0"))
                    Case Else
                        sValueRet = sValueRet.Replace(vFind(i), dDateTime.ToString(vAny(vFindIndexAny(i))))
                End Select
            Next
        Catch ex As Exception
        End Try

        
        
        _CustomizeParametrics = sValueRet

        Erase vAny, vFind, vFindIndexAny
