So erstellen Sie eine „variable“ V-Liste (oder H-Liste)Leute,
Ich verwende den folgenden Ausdruck, um eine PowerPoint-Folie zu füllen. Normalerweise sind es drei Reihen, die vertikal ausgekleidet sind. Allerdings suchte ich nach mehr elegant Möglichkeit, eine bedingte Anweisung einzurichten, um die Elemente in der V-Liste variabel zu machen. Das heißt, manchmal möchte ich nur eine Zeile gegenüber drei. Oder vielleicht mehr als drei Reihen. Ich habe eine kommentierte "If"-Anweisung eingefügt, um zu visualisieren, wonach ich suche (offensichtlich funktioniert das nicht).
Letztendlich auf der Suche nach einer flexibleren Möglichkeit, nicht nur die V-Liste, sondern auch die H-Liste anzuordnen.
Danke vielmals
Neil
coltwin_1 = Expr( // Layout for surface orientation
V List Box(
H List Box(
sem1,
col1 ,
LT1 ,
spacer box(size(50,0))
),
//If (n > 1,
sp1 = Spacer Box( size(0, 100)),
H List Box(
sem2,
col2,
LT2,
),
sp2 = Spacer Box( size(0, 100)),
H List Box(
sem3,
col3,
LT3
)
//);
));SkripterstellungBetreff: Wie man eine "variable" V-Liste (oder H-Liste) erstelltIch habe meinen Fehler sofort gesehen, als ich die Antwort gesendet habe 
Das funktioniert einwandfrei, viel eleganter!
Nochmals vielen Dank für all die Hilfe.
coltwin_1 = V List Box();
For(i=1, i<=n, i++,
s = Open(SD1 || samplename2 || "_a" || Char(i) || ".jpg", jpg);
s << Scale(.15);
col = Open(SD1 || samplename2 || "_a" || Char(i) || "_filt.jpg", jpg);
col << Scale(.16);
LT = Open(SD1 || samplename2 || "_a" || Char(i) || "_L.jpg", jpg);
LT << Scale(.16);
H_list = H List Box(s, col, LT, spacer box(size(50,0)));
InsertInto(coltwin_1, H_list);
InsertInto(coltwin_1, sp = Spacer Box( size(0, 100)));
);
Betreff: Wie man eine "variable" V-Liste (oder H-Liste) erstelltVielen Dank für Antwort und Input. Ich arbeite daran, meinen unbeholfenen Ansatz zu überarbeiten und das einzuführen, was Sie vorgeschlagen haben. Ich habe den alten Ansatz "kommentiert", um zu veranschaulichen, was im statischen Modus funktioniert. Ich habe Bilddateisätze mit den Suffixen „a1“, „a2“ und „a3“. Ich bekomme jedoch immer noch eine Zeile (H-Liste), die angezeigt wird, und es ist der Satz "a3". Der Index hat sich um 1-3 erhöht, aber der letzte Bildsatz war der letzte Lesevorgang. Als ob a1- und a2-Sätze überschrieben würden.
Vielen Dank im Voraus für Ihre Hilfe.
For(i=1, i<=n, i++,
sem = Open(SD1 || samplename2 || "_a" || Char(i) || ".jpg", jpg);
sem << Scale(.15);
col = Open(SD1 || samplename2 || "_a" || Char(i) || "_16col_filt.jpg", jpg);
col << Scale(.16);
LT = Open(SD1 || samplename2 || "_a" || Char(i) || "_LtIm.jpg", jpg);
LT << Scale(.16);
coltwin_1 = V List Box();
H_list = H List Box(sem, col, LT, spacer box(size(50,0)));
InsertInto(coltwin_1, H_list);
);
//sem1 = Open(SD1 || samplename2 || "_a1.jpg", jpg);
//sem1 << Scale(.15);
//col1 = Open(SD1 || samplename2 || "_a1_16col_filt.jpg", jpg);
//col1 << Scale(.16);
//LT1 = Open(SD1 || samplename2 || "_a1_LtIm.jpg", jpg);
//LT1 << Scale(.16);
//sem2 = Open(SD1 || samplename2 || "_a2.jpg", jpg);
//sem2 << Scale(.15);
//sem3 = Open(SD1 || samplename2 || "_a3.jpg", jpg);
//sem3 << Scale(.15);
//col2 = Open(SD1 || samplename2 || "_a2_16col_filt.jpg", jpg);
//col2 << Scale(.16);
//col3 = Open(SD1 || samplename2 || "_a3_16col_filt.jpg", jpg);
//col3 << Scale(.16);
//LT2 = Open(SD1 || samplename2 || "_a2_LtIm.jpg", jpg);
//LT2 << Scale(.16);
//LT3 = Open(SD1 || samplename2 || "_a3_LtIm.jpg", jpg);
//LT3 << Scale(.16);
/*coltwin_1 = Expr(
V List Box(
H List Box(
sem1,
col1 ,
LT1 ,
spacer box(size(50,0))
),
sp1 = Spacer Box( size(0, 100)),
H List Box(
sem2,
col2,
LT2,
),
sp2 = Spacer Box( size(0, 100)),
H List Box(
sem3,
col3,
LT3
)
));*/
Betreff: Wie man eine "variable" V-Liste (oder H-Liste) erstelltJeder entwickelt seinen eigenen Stil, und hier ist einer:
NamesDefaultToHere(1);
tb = TextBox( "Hello world" );
n1 = 3;
vlb1 = VListBox();
for(i=1, i<=n1, i++, InsertInto(vlb1, tb));
NewWindow(Char(n1)|| " display boxes in a Vertical List Box", vlb1);
n2 = 5;
vlb2 = VListBox();
for(i=1, i<=n2, i++, InsertInto(vlb2, tb));
NewWindow(Char(n2)|| " display boxes in a Vertical List Box", vlb2);
Sie können sich auch 'LineUpBox()' ansehen.