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:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

Procedury wejścia/wyjścia plików

Język VBScript obsługuje następujący zestaw procedur wejścia/wyjścia plików:

Dir

FileLen

FileTimeDate

FileCopy

Kill

Name

RmDir

MkDir

 

Procedury matematyczne

Język VBScript obsługuje następujący zestaw procedur matematycznych:

Abs

Atn

Cos

Exp

Log

Not

Oct

Rnd

Sin

Sqn

Tan

 

Procedury łańcuchów znaków

Język VBScript obsługuje zakres procedur dla łańcuchów znaków, jak przedstawiono poniżej:

Asc

Chr

Format

InStr

InStrRev

LCase

Len

Left

Mid

Right

Str

Trim

LTrim

RTrim

UCase

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:

AddColorParameter

AddIntegerParameter

AddLongIntParameter

AddSingleParameter

AddWordParameter

GetIntegerParameter

GetStringParameter

ResetParameters

RunProcess

Useful functions

SetCursorBusy

ResetCursor

CheckActiveServer

GetActiveServerName

GetCurrentDocumentFileName

RunApplication

SaveCurrentDocument

 

 

Useful Dialogs

ConfirmNoYes

ConfirmNoYesCancel

ShowError

ShowInfo

ShowWarning

 

 
AI-LocalizedTłumaczenie SI
Jeśli znajdziesz błąd, zaznacz tekst/obraz i naciśnij Ctrl + Enter aby wysłać nam wiadomość.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.

Content