Podprogramy i funkcje
Podprogramy i funkcje VBScript
Ta sekcja zawiera przegląd użycia podprogramów i procedur w skryptach VisualBasic w Altium Designer.
Przekazywanie parametrów do procedur
Gdy w skrypcie zdefiniowana jest funkcja lub podprogram (procedura/metoda), która może przyjmować parametry, zmienne można przekazać do funkcji lub podprogramu na dwa sposoby: przez referencję lub przez wartość, używając odpowiednio ByRef lub ByVal.
Aby zadeklarować sposób przekazywania parametrów do metody, użyj słów kluczowych ByRef lub ByVal na liście parametrów podczas definiowania funkcji lub podprogramu w instrukcji Sub lub Function. Na przykład poniższy fragment kodu definiuje podprogram, który przyjmuje dwa parametry. Pierwszy jest przekazywany przez wartość, a drugi przez referencję:
Sub Test (ByVal Param1 As Integer , ByRef B As String)
Różnica między tymi dwiema metodami polega na tym, że ByRef przekazuje referencję do zmiennej i pozwala podprogramowi/funkcji wprowadzać zmiany w rzeczywistej zmiennej przekazanej jako parametr. Jest to domyślna metoda przekazywania parametrów i jest stosowana, jeśli sposób nie został jawnie zadeklarowany.
ByVal przekazuje wyłącznie wartość zmiennej. Podprogram lub funkcja może użyć tej wartości, ale oryginalna przekazana zmienna nie zostaje zmieniona.
Poniższe przykłady ilustrują różnice między metodami. Główna procedura wygląda następująco:
Sub Main
Dim X, Y
X = 45 : Y = "Number"
Test X, Y ' Call to a subprocedure called Test.
MsgBox X
MsgBox Y
End Sub
Powyższa procedura zawiera wywołanie podprocedury Test — patrz poniżej.
Jeśli podprogram jest zdefiniowany następująco:
Sub Test (ByRef A, ByRef B)
B = B & " = " & A : A = 10*A
End Sub
Wówczas zmienne X i Y w głównej procedurze są bezpośrednio referencjonowane przez podprogram. W rezultacie wartości X i Y są modyfikowane przez podprogram, tak że po wykonaniu Test; X = 450 oraz Y = "Number = 45". Jest to domyślne zachowanie, gdy sposób nie jest jawnie zadeklarowany.
Jeśli jednak podprogram jest zdefiniowany następująco:
Sub Test (ByVal A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub
Wówczas po wykonaniu Test główna procedura zgłasza; X = 45 oraz Y = "Number" — czyli pozostają bez zmian.
Alternatywnie, jeśli podprogram jest zdefiniowany następująco (metody mieszane):
Sub Test (ByRef A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub
Wówczas po wykonaniu Test, X = 450 oraz Y = "Number", ponieważ Y został przekazany przez wartość, pozostaje bez zmian.
Możesz nadpisać ustawienie ByRef funkcji lub podprogramu, umieszczając nawiasy wokół nazwy zmiennej w instrukcji wywołania.
Wywołanie Test za pomocą następującej instrukcji:
Test (X), Y
...spowoduje przekazanie zmiennej X przez wartość, niezależnie od metody zdefiniowanej dla tego parametru w definicji procedury.
Procedury daty i czasu
Język VBScript obsługuje zestaw procedur daty/czasu, jak przedstawiono poniżej:
|
|
|
|
|
|
|
|
|
|
|
|
Procedury wejścia/wyjścia plików
Język VBScript obsługuje następujący zestaw procedur wejścia/wyjścia plików:
|
|
|
|
|
|
|
|
|
Procedury matematyczne
Język VBScript obsługuje następujący zestaw procedur matematycznych:
|
|
|
|
|
|
|
|
|
|
|
|
Procedury łańcuchów znaków
Język VBScript obsługuje zakres procedur dla łańcuchów znaków, jak przedstawiono poniżej:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Procedury procesu serwera
Procedury procesu serwera są używane podczas pracy z procesami w skryptach, szczególnie gdy istnieje potrzeba wyodrębnienia (pobrania) lub ustawienia łańcuchów znaków dla parametrów procesu.
Aby wykonywać procesy i parametry w skryptach, użyj następujących funkcji:
|
|
|
|
|
|
|
|
|
Useful functions
|
|
|
|
|
|
|
|
|
Useful Dialogs
|
|
|
|
|
|