Sie können Analyseskripte für die Analyse-Automatisierung in Visual Basic Script oder Python erstellen. Die Analyse-Automatisierungsprozedur enthält ein Skript (Main.vbsa oder Main.py), in dem Sie Ihre Analysen definieren. In dieses Skript können Sie weitere Skripte einbinden, die Sie zur Analyse-Automatisierungsprozedur hinzufügen müssen. Das Analyseskript Main.vbsa oder Main.py enthält standardmäßig die folgenden Elemente.

Skript-Code Beschreibung
On_Initialize(oContext) Initialisiert die parallele Auswertung. Diese Methode wird vor der Datenverarbeitung einmal aufgerufen.
On_RunAnalysisProcedure(oContext) Führt die eigentliche Analyse der gefundenen Datenelemente durch.
  • Parallele Auswertung: Die Prozedur wird einmal für jedes gefundene Datenelement aufgerufen. In der DataLinks-Auflistung ist nur ein Datenelement verfügbar.
  • Vergleichende Auswertung: Die Methode wird nur einmal aufgerufen. In der DataLinks-Auflistung sind alle Datenelemente verfügbar.
On_Finalize(oContext) Beendet die parallele Auswertung. Die Methode wird einmalig nach Beendigung der Datenverarbeitung aufgerufen.

Der Austausch der Informationen zwischen der Analyse-Automatisierung und dem Analyseskript und der Zugriff auf die gefundenen Datenelemente erfolgen mit dem Übergabeparameter oContext.

Das Analyseskript main.py enthält zusätzlich folgende Elemente.

Skript-Code Beschreibung
Import DIAdem
dd = DIAdem.Application
Ermöglicht den Zugriff auf Befehle, Variablen und Objekte von DIAdem. Sie können die meisten DIAdem-Befehle auch in der Python-Umgebung verwenden, allerdings wurden nicht alle DIAdem-Befehle in Python getestet.

Die folgende Tabelle enthält die wichtigsten DIAdem-Befehle und -Methoden zur Verarbeitung von Daten.

Skript-Code Beschreibung
ApplicationSetLocale("german") Setzt länderspezifische Variablen und Größen, beispielsweise das Zeitformat, das Papierformat und die Randabstände.
oContext.DataLinks Enthält die gefundenen Datenelemente.
Navigator.LoadData Lädt Daten.
ChannelsToArray Wandelt DIAdem-Kanäle zur Verarbeitung in Python in Datenfelder um.
ArrayToChannels Wandelt Python-Datenfelder in DIAdem-Kanäle um.
DataFileSave Speichert Daten.

Folgende Befehle dürfen Sie in Analyseskripten nicht verwenden:

  • Befehle, die eine Interaktion erfordern.
  • Befehle, die die DIAdem-Oberfläche ansteuern.
  • Befehle, die das Modul VIEW ansteuern.
  • Befehle, die Microsoft Office oder andere Anwendungen ansteuern.

Das folgende Beispiel zeigt ein Analyseskript in Visual Basic Script. Die Prozedur On_Initialize prüft, ob der Ergebnispfad aus dem Übergabeparameter existiert. Die Prozedur On_Run_AnalysisProcedure lädt die zu analysierenden Elemente, führt Analysen durch und gibt die Ergebnisse als PDF aus. Die Prozedur On_Finalize prüft, ob die Prozeduren On_Initialize und On_Run_AnalysisProcedure erfolgreich waren:

Sub On_Initialize(oContext) 
  Call ApplicationSetLocale("english")
  Dim ResultsPath
  If oContext.Procedure.Arguments.Exists("ResultsPath") Then
    ResultsPath = oContext.Procedure.Arguments.Item("ResultsPath").Value
    Call oContext.LogResult("Results path: " & ResultsPath)
  Else
    Call oContext.LogError("Results path missing")
  End If
End Sub 
  
Sub On_Run_AnalysisProcedure(oContext) 
  Call ApplicationSetLocale("english")
  Dim ResultsPath
  ResultsPath = oContext.Procedure.Arguments.Item("ResultsPath").Value
  Dim oMyDataLinks, iCount
  Set oMyDataLinks = oContext.DataLinks
  For iCount = 1 To oMyDataLinks.Count
    Call Navigator.LoadData(oContext.DataLinks.Item(iCount))
    ' Enter your analysis commands    
  Next
  Call Report.LoadLayout(oContext.Procedure.ScriptPath & "MyLayout.tdr")
  Call Report.Sheets.ExportToPDF(ResultsPath & & "MyResult.pdf",FALSE)
End Sub 

Sub On_Finalize(oContext) 
    Call oContext.LogResult("Init ok: " & oContext.Status.On_Initialize_Succeeded)
    Call oContext.LogResult("Analysis ok: " & oContext.Status.On_Run_AnalysisProcedure_Succeeded)
End Sub