FRAGE:
Kann ich bestimmte Aktionen abhängig von der Berechtigungsstufe des eingeloggten Bedieners durchführen?
ANTWORT:
In der folgenden Funktion wird abgefragt, ob Sie eine Berechtigung für die höherwertige Prozeßbedienung haben. Abhängig davon sollen Sie die Hintergrundfarbe eines E/A-Feldes beeinflussen können. Die Funktion können Sie auf ein beliebiges Signal triggern.
Beispiel:
Bildanzeige, Variable.....
Beispielscript für Berechtigungsabfrage:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
BOOL HighPerm;
HighPerm=PASSCheckAreaLevelPermission("OS_unten",6);
// if higher permission available
if (HighPerm==1)
// then set background to white
SetBackColor("Zustandsanzeige.Pdl","EA-Feld3",16777215);
else
// else set background to light-grey
SetBackColor("Zustandsanzeige.Pdl","EA-Feld3",12632256);
}
Beispielscript zur Ermittlung der Hintergrundfarbe:
Die nachfolgende Funktion ermittelt die Hintergrundfarbe eines Bildelementes. Mit ihr können Sie den zahlenmäßigen Wert einer Farbe ermitteln.
Beispiel:
weiß = 16777215 oder
hellgrau = 12632256
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
int color;
color=GetBackColor("Zustandsanzeige.Pdl","EA-Feld3");
printf("%d\n",color);
}
|