FlowFact - Entwicklungstools

zurück

Function - ReplacePlatzhalter
Alle Platzhalter ersetzen (ab Build133)

Diese Funktion ersetzt in einem Text alle Platzhalter, die z.B. mit {AD_NAME} gekennzeichnet sind. Diese Funktion steht in der Connectorinitialisierung nicht zur Verfügung. Diese Funktion steht erst ab FlowFact Build 133 zur Verfügung.
  Function ReplacePlatzhalter(ByVal strText As String, ByVal rs As ADODB.Recordset, ByVal strSQL As String, Optional ByVal blnHtml As Boolean = False, Optional ByVal strDefault As String = "") As String  
 


strText: Text mit Platzhalter
rs: Recordset; der Inhalt muß zu strSql passen
strSql Sql-Statement z.B. "Select * From Ad Where name='Karl Zufrieden'"


Public Function ReplacePlatzhalter(ByVal strText As String, ByVal rs As ADODB.Recordset, ByVal strSQL As String, Optional ByVal blnHtml As Boolean = False, Optional ByVal strDefault As String = "") As String
    Dim strResult As String
    Dim i As Long
    Dim blnStart As Boolean
    Dim blnEnd As Boolean
    Dim ch As String
    Dim strPlatzhalter As String
    Dim strPHRes As String

    strResult = ""

    For i = 1 To Len(strText)
        ch = Mid(strText, i, 1)

        '** Sonderbehandlung css in Html-Texten
        If blnStart And (ch = " " Or ch = Chr(13)) Then
            strResult = strResult & strPlatzhalter
            strPlatzhalter = ""
            blnStart = False
        End If

        '** Status bestimmen
        If blnStart = False And ch = "{" Then
            blnStart = True
        ElseIf blnStart = True And ch = "}" Then
            blnEnd = True
        End If

        '** Auswertung
        If blnStart = True And blnEnd = False Then
            strPlatzhalter = strPlatzhalter & ch
        ElseIf blnEnd = True Then
            blnStart = False
            blnEnd = False
            strPlatzhalter = Right(strPlatzhalter, Len(strPlatzhalter) - 1)
            strPHRes = GetSinglePlatzhalter(strPlatzhalter, rs, strSQL, blnHtml, strDefault)
            strResult = strResult & strPHRes
            strPlatzhalter = ""
        Else
            strResult = strResult & ch
        End If
    Next
    ReplacePlatzhalter = strResult
End Function