Hallo Boris
Vorweg einmal was anderes.
Du solltest die eigentlichen Skriptzeilen in CodeTags setzen. Lässt sich besser lesen. Und längere Skripts nehmen auch nicht soviel Platz
auf dem Bildschirm weg.
Oberhalb des Texteingabefeldes den Button "</>" anklicken.
Aber nun zu deinen Fragen...
Wie Baxxy schon angedeutet hat, kann das ganze verkürzt werden, wenn sich in dem Gewerk "BA" auch NUR deine HM-LC-Sw4-WM befinden:
Code: Alles auswählen
var bpo;
var i = dom.GetObject("BA");
string itemID;
foreach(itemID, i.EnumUsedIDs())
{
var item = dom.GetObject(itemID);
if (item.DPByHssDP("STATE").Value())
{
bpo = item.Address();
break;
}
}
WriteLine(bpo.Type());
string seriennr = "Die SerienNr ist: " # bpo;
WriteLine( seriennr);
if (bpo <>"" )
{
WriteLine("Aktor gefunden");
!oder mach was
}
else
{
WriteLine("kein Aktor gefunden");
!oder mach was anderes.
}
Die Anweisung
break bewirkt das Verlassen der Schleife. (zB nach dem ersten Fund)
Es gibt auch
continue - da wird nur der Rest der Schleife übersprungen .
mit
quit kannst du sogar das Skript verlassen.
Die ermittelte Serien-Nr. ist von Haus aus vom Typ String. - To.String() ist also unnötig.
Du kannst die Skriptvariable
bpo abfragen wie gezeigt.
Natürlich auch in ein Systemvariable übertragen.
Was meinst du mit
BDO hat geschrieben: ↑18.11.2021, 17:15
wie kann ich die vorgenannte Datei später leeren?