Ups - da war Ferengi-Master wohl schneller…
Eins hat Ferengi-Master vergessen zu erwähnen:
Du musst beim Objekt ExecImage auch den Objekt-Namen des TAB-Sheet-Controls angeben, und zwar im Parameter IPSYMID, sonst geht das nicht!
Hallo
Vielleicht kann ich dir da helfen:
- Weiterhin muss du dem Objekt welches Objekt?? ein IPSSYMID vergeben. Einfaches Beispiel wäre „JUMP_TAB_2“
Gemeint ist der Button oder das Bildchen, das du auch schon mit dem Skript TAB-CONTROL verlinkt hast.
- Weiterhin musst du ein Tab-Form im Designer erstellen mit mindestens 2 Tabs ist klar, wobei dieser Button sich eben auf dem 1. Tab befindet
Auch hier ist der Button oder das Bildchen aus Schritt 3 gemeint.
Also jetzt müsstest du in deinem Designer folgende Objekte haben:
- Ein TAB-Form mit 2 Tabs.
- Ein Button, der entweder außerhalb der TAB-Form liegt (dann ist er immer sicht- und bedienbar) oder auf der ersten Seite des TAB-Forms.
In den Objekten sollten folgende Eigenschaften (im Objektinspektor im Designer einzustellen) und Verknüpfungen (ein Doppelklick auf das entsprechende Objekt öffnet den Verknüpfungseditor) eingestellt sein:
Im Objekt 1 (TAB-Form):
- Eine Verknüpfung der Eigenschaft TabIndex mit der Variable TAB-CONTROL
- Eine Verknüpfung des Ereignis OnChange mit der Variable TAB-CONTROL
Im Objekt 2 (Button):
- Die Eigenschaft IPSYMID sollte den Wert „2“ haben.
- Eine Verknüpfung des Ereignis OnClick mit dem Skript TAB-CONTROL
Wenn diese Voraussetzungen erfüllt sind muss nur noch das Skript „TAB-CONTROL“ die Variable TAB-CONTROL entsprechend zuweisen.
Folgenden Basis-Skript würde die Aufgabe erledigen:
<?
if (!isset($IPS_COMPONENT)) {
$IPS_COMPONENT = "1"; // Wert falls z.B. via Execute gestartet
}
$NewPage = (int)$IPS_COMPONENT; // String mit TAB-Nr. nach INT
$NewPage -= 1; // Die TABs beginnen bei 0 zu zählen!
// Bitte anstatt 12345 die korrekte ID der Variable TAB-CONTROL eintragen!
SetValue(12345, $NewPage);
?>
Wenn du jetzt im Designer auf den Button klickst, wird das Tab-Sheet auf Seite 2 wechseln. Du kannst jetzt den Button z.B. kopieren und den Wert der Eigenschaft IPSYMID im Objektinspektor auf 1 anpassen. Damit würde dann das Tab-Sheet auf Seite 1 wechseln usw.
Hoffe das die Umsetzung jetzt klappt. Wenn nicht einfach noch mal fragen…
(Tabs fangen immer mit 0 an, also 0,1,2,3,…) Dann muss du in den Eigenschaften dieses Tab-Form mit der Tab-Index und OnChange Funktion mit der TAB-CONTROl Variable verknüpfen.
6. Im Skript muss du dann die Abfrage eben machen, dass wenn eben diese IPS_COMPONENT ‚JUMP_TAB_2‘ auftritt, eben die Integer Variable TAB-CONTROL auf den Wert ‚1‘ gesetzt wird.( Was ja Tab 2 dann wäre)
[/quote]
Vorteil: Man kann z.B. ein automatischen Seitenwechsel nach x Minuten einbauen (wenn man soetwas benötigt…). Bei Bedarf könnte ich da auch ein entsprechendes Skript zur verfügung stellen.
Nachteil: Die Lösung via ExecButton ist viel viel viel viel einfacher