2.3  Odczyt parametrów uruchomienia skryptu

 

W momencie uruchomienia skryptu do funkcji Initialize przekazywana jest tablica aParameters, z której można odczytać wartości wszystkich parametrów wywołania. Mechanizm parametrów pozwala na pisanie uniwersalnych skryptów, których szczegóły działania zależą od sposobu wywołania. Typowe przykłady, to przekazanie nazwy zmiennej procesowej, identyfikatora alarmu, nazwy pliku itd..

Istnieją dwie metody odczytu parametrów wywołania. Pierwsza wykorzystuje przeglądanie wszystkich elementów tablicy parametrów. W drugiej stosowany jest dostęp do argumentu poprzez podanie jego numeru kolejnego.

 

C#

using System;
using
 System.Windows.Forms;
using
 Askom.AsixEvo.Scripting;
 

public
 class Argumenty : IScript
{
   
public bool Initialize(string[] aParameters, IApplication aApplication)
   {
      
int i = 0;
      
if (aParameters != null)
      {
         
foreach (string p in aParameters)
            aApplication.ReportMessage(EvoMessageType.Info,

                                       String.Format("Parametr {0} = {1}", ++i, p));
      }
 
      return true;
   }
 
   public void FinalizeScript()
   {
 
   }
}

 

 

VB

Imports System
Imports
 System.Windows.Forms
Imports
 Askom.AsixEvo.Scripting
 

Public
 Class ArgumentyVB
    
Implements IScript
 
    
Public Function Initialize(ByVal aParameters() As StringByVal aApplication _

        As IApplication) As Boolean Implements IScript.Initialize
 
        Dim i As Integer
        i = 0
 
        If (Not aParameters Is NothingThen
            For Each p As String In aParameters
                i += 1
                aApplication.ReportMessage(EvoMessageType.Info, _

                                           String.Format("Parametr {0} = {1}", i, p))
            Next p
        End If
 
        Return True
 
    End Function
 
    Public Sub FinalizeScript() Implements IScript.FinalizeScript
 
    End Sub
 
End
 Class

 

Powyższy kod pokazuje sposób iteracji po wszystkich elementach tablicy parametrów aParameters.

 

C#

using System;
using
 System.Windows.Forms;
using
 Askom.AsixEvo.Scripting;
 

public
 class Argumenty : IScript
{
   
public bool Initialize(string[] aParameters, IApplication aApplication)
   {

      if (aParameters == null || aParameters.Length < 2)
         aApplication.ReportMessage(EvoMessageType.Info, "Zbyt mało parametrów");
      else
      {
         aApplication.ReportMessage(EvoMessageType.Info, "Parametr 1 = " + aParameters[0]);
         aApplication.ReportMessage(EvoMessageType.Info, "Parametr 2 = " + aParameters[1]);
      }
 
      return true;
   }
 
   public void FinalizeScript()
   {
 
   }
}

 

VB

Imports System
Imports
 System.Windows.Forms
Imports
 Askom.AsixEvo.Scripting
 

Public
 Class ArgumentyVB
    
Implements IScript
 
    
Public Function Initialize(ByVal aParameters() As StringByVal aApplication As _

        IApplication) As Boolean Implements IScript.Initialize


        If (aParameters Is NothingThen
            aApplication.ReportMessage(EvoMessageType.Info, "Brak parametrów")
        ElseIf (aParameters.Length < 2) Then
            aApplication.ReportMessage(EvoMessageType.Info, "Zbyt mało parametrów")
        Else
            aApplication.ReportMessage(EvoMessageType.Info, "Parametr 1 = " + aParameters(0))
            aApplication.ReportMessage(EvoMessageType.Info, "Parametr 2 = " + aParameters(1))
        End If
 
        Return True
 
    End Function
 
    Public Sub FinalizeScript() Implements IScript.FinalizeScript
 
    End Sub
 
End
 Class

  

Powyższy kod pokazuje sposób odczytu parametru przez podanie indeksu elementu w tablicy  aParameters. Przed próbą odczytu należy koniecznie sprawdzić, czy do skryptu przekazano odpowiednią liczbę parametrów.