Interfaccia utenteCiao,
Ho creato un'interfaccia utente e vorrei apportarvi alcune modifiche. Questo è mostrato di seguito:
Mi piace spostare "OK" e "Annulla" nella parte inferiore della finestra e in "Seleziona nome prodotto" scegliere solo il prodotto (combinare destra e sinistra). Mi piacerebbe anche sapere come scegliere queste opzioni e inserirle in una variabile da utilizzare per ulteriori script.
Ho allegato lo script vero e proprio.
Grazie mille per il vostro aiuto.

Oggetto: interfaccia utenteGrazie mille.
Oggetto: interfaccia utenteÈ possibile catturare il prodotto selezionato nel codice per il pulsante OK.
okb = button box("OK",
one_product = rb1 << get selected;
),Oggetto: interfaccia utenteCredo che se comprendi il codice che ti è stato fornito, dovresti essere in grado di estendere l'interfaccia utente per acquisire il nome della variabile da solo.
Oggetto: interfaccia utenteGrazie. Funziona bene ora. E la scelta dell'utente per il nome del prodotto? Come posso catturarlo come nome di variabile e usarlo dopo che la finestra è stata chiusa.
Apprezzo il vostro aiuto. Grazie
Oggetto: interfaccia utentePoiché stai utilizzando una finestra modale, devi spostare il comando group all'interno della nuova finestra():
)
rb1 << group(rb2),
);
Oggetto: interfaccia utenteIl problema è che stai usando una finestra modale.Non elaborerò quella riga che raggruppa le scatole radio finché non chiudi la finestra.
Puoi farlo e mantenere la finestra modale:
panel box("Choose Product:",
hlist box(
rb1 = radio box(list1),
rb2 = radio box(list2)
),
rb1 << group(rb2);
),
Oggetto: interfaccia utenteCiao,
Grazie. Il tuo script funziona come previsto. Ma quando lo combino con lo staff in cima a "Scegli prodotto", vedo l'immagine sotto:

Ho allegato lo script dopo le modifiche. Grazie per l'aiuto.
Oggetto: interfaccia utenteAh ah mi hanno insegnato molto su JSL a Hogwarts.
Ma in realtà la salsa segreta è lo Script Index.Usalo sempre.
Oggetto: interfaccia utente
@pmroz ha scritto:
Se usi il metodo di gruppo << puoi avere caselle radio affiancate che agiscono come una casella radio, cioè può essere selezionata solo un'opzione.Ecco un esempio:
list1 = {"AAA", "BBB", "CCC", "DDD"};
list2 = {"XXX", "YYY", "ZZZ"};
nw = new window("Combine Radio boxen",
panel box("Choose Product:",
hlist box(
rb1 = radio box(list1),
rb2 = radio box(list2)
),
),
panel box("Actions",
hlist box(
okb = button box("OK",
one_product = rb1 << get selected;
print("Product Selected: " || one_product);
nw << close window;
),
canb = button box("Cancel",
nw << close window;
),
),
)
);
rb1 << group(rb2);
Amico, c'è della stregoneria lì.Bel consiglio!Grazie.
Oggetto: interfaccia utenteSe usi il metodo di gruppo << puoi avere caselle radio affiancate che agiscono come una casella radio, cioè può essere selezionata solo un'opzione.Ecco un esempio:
list1 = {"AAA", "BBB", "CCC", "DDD"};
list2 = {"XXX", "YYY", "ZZZ"};
nw = new window("Combine Radio boxen",
panel box("Choose Product:",
hlist box(
rb1 = radio box(list1),
rb2 = radio box(list2)
),
),
panel box("Actions",
hlist box(
okb = button box("OK",
one_product = rb1 << get selected;
print("Product Selected: " || one_product);
nw << close window;
),
canb = button box("Cancel",
nw << close window;
),
),
)
);
rb1 << group(rb2);

Oggetto: interfaccia utenteUna cosa che consiglierei è di spostare le righe che impostano i formati per str1 e str2 al di fuori della funzione New Window().È possibile definire tutte le caselle di visualizzazione prima all'interno di New Window(), quindi modificare tali caselle di visualizzazione.Ciò manterrà il tuo codice un po 'più pulito.
Successivamente, è possibile spostare la parentesi di chiusura V List Box alla fine dell'elenco delle caselle di visualizzazione.La casella di riepilogo H che contiene i pulsanti OK e Annulla è nidificata nella stessa casella di riepilogo H che contiene le caselle del pannello con i pulsanti di opzione.È sufficiente spostare la casella di riepilogo H contenente OK e Annulla all'esterno del contenitore principale della casella di riepilogo H corrente e renderla di pari livello rispetto alla casella di riepilogo H all'interno del contenitore principale della casella di riepilogo V.Ciò sposterà quei pulsanti in basso.
Avere più colonne in un campo di pulsanti di opzione è complicato e non sono sicuro che valga la pena.Ne avrai bisogno 2 come hai ora (anche se li metterei entrambi nella stessa scatola del pannello invece di quelli separati).Il problema è che non puoi avere una scatola radio che non ha qualcosa selezionato.Pertanto, sarebbe impossibile cancellare un box radio in modo che ci sia solo 1 selezione su entrambi i box radio.Considera invece una casella di riepilogo in modo da poterla mantenere compatta con una barra di scorrimento e impostando il numero di righe da visualizzare.
Ecco il risultato con i miei suggerimenti:
Clear Log();
// Time filtering //
defuplim = Today();
deflowlim = Today() - In Days( 150 );
ww = New Window( "Pick Your Dates in yyyy-mm-dd format",
//<<MODAL></MODAL>lb << Set Max Selected(1);
Per accedere alle informazioni nelle caselle di visualizzazione da parte dell'utente, è sufficiente definire una funzione per il pulsante OK che faccia ciò.Vedere l'indice di scripting nel menu Aiuto.Se cerchi "casella di modifica del numero" e modifichi il menu a discesa da "Tutte le categorie" a "Casella di visualizzazione" puoi vedere tutti i messaggi che puoi inviare a una casella di modifica del numero.Uno di questi è "Ottieni".C'è un messaggio simile per ogni casella di visualizzazione con l'input dell'utente.
La tua funzione per il pulsante OK potrebbe essere simile a questa:
Ok_btn << Set Script(On OK());
On OK = Function({},
start_date = str1 << Get;
end_date = str2 << Get;
Print(start_date, end_date);
);