EBSILON®Professional Online Dokumentation
EbsScript / EbsScript Funktionen / Prozess/System
In diesem Thema
    Prozess/System
    In diesem Thema

    Process / System

    Name

    Zweck

    Argumente

    Rückgabewert

    Beispiel

    getCurrentDirectory

    Nicht mehr genutzt - abgelöst von GetFileName            

    keine

    String: vollständiger Dateiname einschließlich Pfad    

    var cd:string;
    cd := getCurrentDirectory ();

    getEnableProcessAffinity

    Info, ob "Setzen der Prozess-Affinität“ möglich ist -  siehe Allgemeine Einstellungen-> Berechnungen-> Multi-Threading 

    keine

    Boolean:
    true - aktiviert
    false - deaktiviert

    Boolaen: b;
    b := getEnableProcessAffinity ();

     getOMPProcessorCount

     Liefert Anzahl zur Verfügung stehender Kerne (für Open-MP) - siehe Allgemeine Einstellungen-> Berechnungen-> Multi-Threading

     keine             

     

     Integer: Anzahl der
     logischen Prozessoren

     var pc:integer;
     pc := getOMPProcessorCount ();

    getOMPThreadCount

    Liefert Anzahl Threads (für Open-MP) - siehe Allgemeine Einstellungen-> Berechnungen-> Multi-Threading

    keine

     

    Integer: Anzahl der zur Verfügung stehenden Threads   var tc:integer;           

    tc:= getOMPThreadCount ();

    getProcessAffinityMask

    Liefert die Prozessor-Affinität für die ersten 32 Kerne.

    keine

    Integer: 32 Bit, jedes Bit ist einem Kern zugeordnet

    Im Beispiel wird ausgegeben, ob Kern 5 aktiviert ist.           

    var i, pam32:integer;  
    pam32 := getProcessAffinityMask ();
     i := 5;
     c := integer (pow (2,i-1));
     print (((pam32 bitand  $00000010) = c) ? "1" : "0");

    getProcessAffinityMask64

    Liefert die Prozessor-Affinität (für 64 Kerne).

    Zwei Integer:

    1: 32 Bit, jedes Bit ist einem der Kerne 1 bis 32 zugeordnet
    2: 32 Bit, jedes Bit ist einem der Kerne 33 bis 64 zugeordnet

    keiner

    var pam32, pam64: integer;   getProcessAffinityMask64 (pam32, pam64);

    getProcessID

    Liefert die Prozess-ID des aktuellen EBSILONProfessional Prozesses

    keine

    Integer
    Process ID

    println ("GetProcessID  : ", getProcessID ());

    getSystemAffinityMask

    Anzahl der vom System zur Verfügung gestellter Kerne (aus dem Bereich Kern 1 bis Kern 32)

    keine         

     

    Ein Integer:
    32 Bit, jedes Bit ist einem der Kerne 1 bis 32 zugeordnet

    var pam32:integer;  
    pam32 := getSystemAffinityMask ();

    getSystemAffinityMask64

    Anzahl der vom System zur Verfügung gestellter Kerne (aus dem Bereich Kern 1 bis Kern 64)

    Zwei Integer:
    1: 32 Bit, jedes Bit ist einem der Kerne 1 bis 32 zugeordnet
    2: 32 Bit, jedes Bit ist einem der Kerne 33 bis 64 zugeordnet

    keiner

    var pam32, pam64:integer;   getSystemAffinityMask64 (pam32, pam64);

    isSystem64

    Gibt an, ob die Windows-Session (bzw. der Computer) bzw. der aufrufende (EBSILONProfessional-)Prozess ein 64-Bit System ist .

    Boolean
    true: Betriebssystem
    false: Prozess selbst

    Boolean: Angefragtes System ist
    true: 64-Bit-System
    false: 32-Bit-System

    println ("IsSystem64 OS : ", isSystem64 (true));
    println ("IsSystem64 EBS: ", isSystem64 (false));

    isUserControl

    Liefert true, wenn der EBSILON-Prozess von einem bestimmten Benutzer über die GUI gesteuert wird (im Gegensatz zum Prozess, der über die COM-Schnittstelle gesteuert wird)

    keine

    Boolean:
    true: unter Benutzereingabe
    false: sonst

    println ("IsUserControl : ", isUserControl ());

    setCurrentDirectory

    Nicht mehr genutzt - kann zusammen mit getCurrentDirectory als Text-Buffer verwendet werden

    String: zu setzendes Verzeichnis 

    Boolean: true, wenn Verzeichnis gesetzt werden konnte.

    var cd:string;
    c := "C:\\Temp";
    cd := setCurrentDirectory (c);

     setEnableProcessAffinity

     aktiviert oder deaktiviert die Möglichkeit, die Prozess- Affinität zu setzen

     Boolean:
     true - aktivieren
     false - deaktivieren

     keiner

     setEnableProcessAffinity (true)

    setOMPThreadCount

    Setzt Anzahl Threads (für Open-MP)

    Integer: Zahl der zu nutzenden Threads

     

    keiner

    setOMPThreadCount (20);

    setProcessAffinityMask

    Setzt Prozessor-Affinität (beeinflusst die ersten 32 Prozessor-Kerne; ruft WinAPI-Funktion „SetProcessAffinityMask“ für den aktuellen Prozess auf, wobei bei 64-Bit Systemen die oberen 32-Bit der 64-Bit Maske auf 0 gesetzt werden (siehe auch MSDN Dokumentation von „SetProcessAffinityMask“).

    Integer: 32 Bit, jedes Bit ist einem Kern zugeordnet

    Im Beispiel werden die Kerne 1, 2, 3, 7 und 8 aktiviert.

    keiner

    var pam32:integer; 
    pam32 := 199; // Bits 1 2 3 7 8
    setProcessAffinityMask (pam32);

    // 199 = 1 + 2 + 4 + 64 + 128

    setProcessAffinityMask64

    Setzt Prozessor-Affinität (bis zu 64 Kerne; ruft WinAPI-Funktion „SetProcessAffinityMask“ für den aktuellen Prozess auf. Für 32-Bit Systeme identisch zu zur EbsScript-Funktion setProcessAffinityMask. Siehe auch MSDN Dokumentation von „SetProcessAffinityMask“)

    Zwei Integer:

    1: 32 Bit, jedes Bit ist einem der Kerne 1 bis 32 zugeordnet
    2: 32 Bit, jedes Bit ist einem der Kerne 33 bis 64 zugeordnet

    keiner

    var pam32, pam64:integer;  
    setProcessAffinityMask64 (pam32, pam64);

    setUserControl

    Setzen, ob Ebsilon unter Benutzereingabe steht. Wenn nein, werden z. B. keine Message-Boxen ausgegeben.

    Boolean:
    true: Setzen
    false: Zurücksetzen

    keiner

     SetUserControl (false);