使用中间函数的BizTalk脚本Functoid

使用中间函数的BizTalk脚本Functoid,biztalk,biztalk-mapper,Biztalk,Biztalk Mapper,我是BizTalk新手,正在寻找如何在脚本functoid中使用vb.net mid函数的示例 我始终建议首先在常规Visual Studio中编写和测试函数,然后如果需要,将函数复制到映射functoid中。原因是充分利用了intellisense(自动完成)、调试、sytnax检查等功能“小映射”functoid框中缺少所有这些 注意:您还可以将Visual Studio中的模块另存为.DLL,并从functoid调用.DLL。然后可以为所有映射functoid构建越来越大的.DLL自定义库

我是BizTalk新手,正在寻找如何在脚本functoid中使用vb.net mid函数的示例

我始终建议首先在常规Visual Studio中编写和测试函数,然后如果需要,将函数复制到映射functoid中。原因是充分利用了intellisense(自动完成)、调试、sytnax检查等功能“小映射”functoid框中缺少所有这些

注意:您还可以将Visual Studio中的模块另存为.DLL,并从functoid调用.DLL。然后可以为所有映射functoid构建越来越大的.DLL自定义库

Visual Studio中的示例:

Module Module1

    Sub Main()
        Dim demoString As String = "abcdef"
        Console.WriteLine("result=" & DemoFunction1(demoString))
        Console.WriteLine("result=" & DemoFunction2(demoString))

    End Sub

    Function DemoFunction1(ByVal textin As String) As String
        Dim textout As String
        textout = Mid(textin, 3, 4)
        Return textout
    End Function

    Function DemoFunction2(ByVal textin As String) As String
        Dim textout As String
        textout = textin.Substring(2, 4)
        Return textout
    End Function

End Module
Function DemoFunction1(ByVal textin As String) As String
    Dim textout As String
    textout = Mid(textin, 3, 4)
    Return textout
End Function
例如,如果您传递一个值“abc”,函数将爆炸。因此,这可能表明您需要在执行MID功能之前测试字段的长度

您可以使用老式的MID函数,也可以使用较新的VB.NET.Substring函数。我已经在上面的示例中显示了这两种情况。子字符串函数具有零偏移,但MID具有1偏移

要复制到functoid中的代码块是:

Module Module1

    Sub Main()
        Dim demoString As String = "abcdef"
        Console.WriteLine("result=" & DemoFunction1(demoString))
        Console.WriteLine("result=" & DemoFunction2(demoString))

    End Sub

    Function DemoFunction1(ByVal textin As String) As String
        Dim textout As String
        textout = Mid(textin, 3, 4)
        Return textout
    End Function

    Function DemoFunction2(ByVal textin As String) As String
        Dim textout As String
        textout = textin.Substring(2, 4)
        Return textout
    End Function

End Module
Function DemoFunction1(ByVal textin As String) As String
    Dim textout As String
    textout = Mid(textin, 3, 4)
    Return textout
End Function