Wie aktualisiere ich getrennte Werte in einem Bedienfeld?Hallo zusammen,
Ich möchte aktualisieren Textbearbeitungsfelder in einer Panelbox. Ich habe versucht, das mit zu tun Gegenstände einstellen (was zum Beispiel für ein Bedienfeld funktionieren sollte) oder aber das scheint zu funktionieren, wenn ein Listenfeld und keine getrennten Werte von der Liste oder den anzuzeigenden Werten an verschiedenen Stellen in einem Bedienfeld vorhanden sind. Ich würde mich über Hinweise zur Lösung dieses Problems freuen. Freundliche Grüße.
//example values that will be updated each time when certain process is selected from the list (not shown here)
param1 = 1;
param2 = 2;
param3 = 3;
param4 = 4;
data_to_display = evallist({param1, param2, param3, param4}); //list of values to be displayed
infos = Panel Box("Module Infos",
V List Box(
H List Box(
V List Box(
Text Box( "Param1:" ),
Spacer Box(Size(10, 6)),
Text Box( "Param2:" ),
),
Spacer Box(Size(15, 5)),
V List Box(
Text Edit Box( Char( data_to_display[1] ), << Set Width( 130 ) ),
Spacer Box(Size(10, 3)),
Text Edit Box( Char( data_to_display[2] ), << Set Width( 130 ) ),
),
Spacer Box(Size(40, 5)),
V List Box(
Text Box( "Param3:" ),
Spacer Box(Size(10, 6)),
Text Box( "Param4:" ),
),
Spacer Box(Size(15, 5)),
V List Box(
Text Edit Box( Char( data_to_display[3] ), << Set Width( 100 ) ),
Spacer Box(Size(10, 3)),
Text Edit Box( Char( data_to_display[4] ), << Set Width( 100 ) ),
),
),
),
),
),
infos << Set items( data_to_display );
Betreff: Wie aktualisiere ich getrennte Werte in einem Bedienfeld?Nachrichten gehen die Kette hoch, nicht runter. Die Nachricht an das Objekt, auf das mit Infos verwiesen wird, geht verloren. Sie müssen die Referenz speichern, die von der aufgerufenen Funktion zum Erstellen der Textfelder zurückgegeben wurde, und dann die Variable verwenden, um die Set () - Nachricht direkt an dieses Feld zu senden.
tb1 = Text Box( "Param1:" )
tb1 << Set( ... );
Betreff: Wie aktualisiere ich getrennte Werte in einem Bedienfeld?Bedienfelder enthalten nur andere Objekte. Sie können den Titel des Bedienfelds festlegen, aber das war's auch schon. Der Skriptindex ist ideal, um herauszufinden, welche Methoden für welche Anzeigeobjekte funktionieren.
Betreff: Wie aktualisiere ich getrennte Werte in einem Bedienfeld?Vielen Dank für die Antworten. Es gelingt mir, die Textbearbeitungsfelder zu aktualisieren. In meinem Fall hängt der anzuzeigende Text davon ab, was zuvor in einem Listenfeld ausgewählt wurde. Da ich zu Beginn der Anwendung leere Textfelder haben wollte, habe ich die Aktualisierung der Textfeldvariablen vor das Bedienfeld verschoben, in dem Textbearbeitungsfelder angezeigt werden befinden sich und unmittelbar nachdem die Option aus dem Listenfeld ausgewählt wurde. Und ich habe den gewünschten Effekt erzielt. Freundliche Grüße
new window("example",
H List Box(
Panel Box("Params",
params = List Box(
unique_param_list,
max selected( 1 ),
//todo..
//and then update of variables
t1 << set text(var1);
t2 << set text(var2);
t3 << set text(var3);
t4 << set text(var4);
),
),
Panel Box("Module Infos",
V List Box(
H List Box(
V List Box(
Text Box( "Param1:" ),
Spacer Box(Size(10, 6)),
Text Box( "Param2:" ),
),
Spacer Box(Size(15, 5)),
V List Box(
t1 = Text Edit Box( " ", << Set Width( 130 ) ),
Spacer Box(Size(10, 3)),
t2 = Text Edit Box( " ", << Set Width( 130 ) ),
),
Spacer Box(Size(40, 5)),
V List Box(
Text Box( "Param3:" ),
Spacer Box(Size(10, 6)),
Text Box( "Param4:" ),
),
Spacer Box(Size(15, 5)),
V List Box(
t3 = Text Edit Box( " ", << Set Width( 100 ) ),
Spacer Box(Size(10, 3)),
t4 = Text Edit Box( " ", << Set Width( 100 ) ),
),
),
),
),
);