Allgemeine Frage zu IPS/Scripting

Hallo,

ich habe eine Frage, wenn ich hier Scripte anschaue, dann werden häufig functionen ausgelagert und via include eingebunden. Wie das geht und was das bedeutet ist mir völlig klar. was ich nicht verstehe ist, warum meine scripte alle nur als ID.ips.php gespeichert werden, die eingebundenen scripte aber mit namen bezeichnet werden.

beispiel:

include („Fritz_function.ips.php“);

müsste bei mir

include („40843.ips.php“);

heissen. Kann man das irgendwo umstellen, dass die Scripte anders gespeichert werden? Oder muss ich die Scripte direkt im Explorer anlegen unter entsprechenden Namen, nicht aus IPS heraus?

Danke,

MfG
Sven

Du findest im Skripteditor in der Menüleiste den Punkt „umbenennen“.

Nur darüber dürfen Skripte umbenannt werden.

Gruß

Burkhard

perfekt danke!!!

Oder man verwendet in einem Skript die entsprechende IPS-Funktion IPS_SetName

Das ändert aber nicht den Dateinamen vom Script.
Siehe:
https://www.symcon.de/service/dokumentation/befehlsreferenz/skriptverwaltung/ips-setscriptfile/

Allgemein brauchen Scripte welche IPS nie direkt ausführt; wie z.b. ein Script welches ausschließlich per include eingebunden wird, gar nicht in IPS angelegt werden.
Es reicht wenn das Script im Dateisystem liegt.
Michael

Ohjeh, da hab ich wirklich daneben gegriffen :banghead:

Es ist aber praktisch, sie auch im IPS-Editor bearbeiten zu können und sie deshalb in IPS zu „registrieren“.

Bei der Anlegung der Objekte mittels eines Konfigurations-Skriptes verwende ich daher für Skripte die folgende Sequenz (nur gekürzt wiedergegeben):


...
    $ObjId = IPS_CreateScript (0);
    $FileExt = $FileName . '.' . $Extension;

    rename (IPS_GetKernelDir () . '/scripts/' . IPS_GetScript ($ObjId)['ScriptFile'], IPS_GetKernelDir () . '/scripts/' . $FileExt);
    IPS_SetScriptFile ($ObjId, $FileExt);
...

Viele Grüsse
Harald