2010-07-07 24 views

Répondre

1

Je suggère toujours d'écrire et de tester votre fonction dans Visual Studio d'abord, puis, si vous le souhaitez, copiez la fonction dans le fonctoid de mappage. La raison en est l'utilisation complète d'intellisense (auto-complétion), le débogage, la vérification de sytnax, etc ... - tout ce qui manque dans la petite boîte de functoïde de mappage.

REMARQUE: vous pouvez également enregistrer le module dans Visual Studio en tant que fichier .DLL et appeler le fichier .dll à partir du functoid. Ensuite, vous pouvez créer une bibliothèque personnalisée .DLL de plus en plus grande pour tous vos functoids de mappage.

Exemple dans 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 

Par exemple, si vous passez une valeur de "abc", la fonction bombe. Cela peut indiquer que vous devez tester la longueur du champ avant d'effectuer la fonction MID. Soit vous utilisez la fonction MID à l'ancienne, soit la nouvelle fonction .Substring VB.NET. J'ai montré les deux dans l'échantillon ci-dessus. La fonction de sous-chaîne a un décalage d'origine, mais MID a un décalage de 1.

Le morceau de code que vous copierez dans votre functoid est:

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