GUI in crowdsourcing. Open beta testing. - pagina 35

 
Alexandr Andreev:

In questo caso, è necessario conoscere a memoria i nomi di tutti gli elementi, ma qui nel file tutto è già generato

Come si può vedere dal video, è necessario conoscere i nomi degli elementi in ogni caso. In linea di principio, questo è logico.

Ma non capisco come si possa dare da soli dei nomi significativi ai controlli. Apparentemente non c'è modo.

 
Alexandr Andreev:

Beh, è più facile ricordare le proprie variabili che imparare quelle di qualcun altro.

In generale, ilcodice dovrebbe avere un minimo di variabili globali tutte implementate passando pezzi di memoria ed elaborando più valori in una volta. Ha senso che ..... .... .... HH ha cercato di tagliare le parole che si collegano direttamente agli oggetti.

In generale, è più facile usare i colback regolari.

Il video ha mostrato che Petr ha costruito TUTTI con variabili globali.

La funzione di elaborazione dei messaggi è l'unica per tutto il programma e solo il valore viene inviato ad essa.

Questa singola funzione controlla i cambiamenti in tutti i controlli disponibili che si trovano nell'array globale. E il deterioramento di questa funzione crescerà all'aumentare del numero di elementi del modulo.

Peter ha dichiarato che non dovrete scavare nel suo codice: beh, questo è esattamente il casino in cui dovrete scavare molto seriamente. Questo potrebbe essere facilmente evitato se su ogni caso Peter generasse un metodo di evento predefinito passando il tipo, il nome e il valore del controllo. Poi il tutto sarebbe facilmente gestibile nel corpo dell'EA principale.

 
Алексей Барбашин:

Come si può vedere dal video, è necessario conoscere comunque il nome degli elementi. Questo ha senso in linea di principio.

Ma non capisco come puoi dare tu stesso dei nomi significativi ai controlli. Apparentemente non c'è modo.

Gli elementi che hanno del testo su di loro - i pulsanti per esempio, puoi scrivere i nomi direttamente su di essi (doppio clic), o nel secondo campo di inserimento in alto nel pannello delle proprietà. Altro - solo nel campo del nome sul pannello delle proprietà. Lì potete anche specificare il nome delle finestre (campo superiore).
 
Реter Konow:
E cosa intende per ambiente?

linguaggio di markup

 

Il video ha mostrato chiaramente che non si può ottenere un valore da un particolare controllo in un particolare posto. Il valore può essere recuperato solo al momento di un evento di cambiamento in quel grande foglio. E tutto questo perché non c'è nulla a cui fare riferimento in quanto non ci sono oggetti...

Pyotr ha detto che ci vorrebbe almeno un anno per modificare almeno leggermente il suo codice... Non ne sono così sicuro. La modifica regolare dei testi, che è ciò che sono i pezzi di codice, vi permetterà di sostituire una cosa con un'altra in essi molto rapidamente. Ma questa è una canzone completamente diversa...

 
Per nominare un elemento nella casella delle proprietà, l'elemento deve essere a fuoco. Semplicemente, deve essere cliccato e tutte le sue proprietà saranno visualizzate nel pannello delle proprietà e saranno disponibili per la modifica. Questo è l'approccio classico dei redattori di vis.
 
Реter Konow:
Elementi che hanno del testo su di loro - pulsanti per esempio, puoi scrivere il nome direttamente su di essi (doppio clic), o nel secondo campo di inserimento in alto nel pannello delle proprietà. Altri elementi - solo nel campo del nome sul pannello delle proprietà. Lì potete anche specificare il nome delle finestre (campo superiore).

Ho rivisto il video - sì, è vero, scusa se non l'ho notato subito. È davvero un approccio classico. Il nome dell'elemento e il testo su di esso (contenuto) possono non essere gli stessi.

 
Алексей Барбашин:

Il video ha mostrato chiaramente che non si può ottenere un valore da un particolare controllo in un particolare posto. Il valore può essere recuperato solo al momento di un evento di cambiamento in quel grande foglio. E tutto questo perché non c'è nulla a cui fare riferimento in quanto non ci sono oggetti...

Pyotr ha detto che ci vorrebbe almeno un anno per modificare almeno leggermente il suo codice... Non ne sono così sicuro. La modifica regolare dei testi, che è ciò che sono i pezzi di codice, vi permetterà di sostituire una cosa con un'altra in essi molto rapidamente. Ma questa è un'altra storia...

Eh, credo che dovrò fare un altro video... Ho dimenticato di mostrare come recuperare i valori degli elementi. La stessa chiamata, solo con le parentesi vuote, restituisce il valore attuale dell'elemento.

C'è anche la possibilità, con la stessa chiamata, di cambiare i colori e gli stati dell'elemento.

Oggi farò una piccola demo in una gifka.
 
Реter Konow:
Eh, credo che dovrò fare un altro video... Ho dimenticato di mostrare come l'EA ottiene il valore degli elementi. La stessa chiamata, solo con le parentesi vuote, restituisce l'elemento corrente.

Quando si apre l'editor, non capisco perché non si "allargano" i pannelli "editor delle proprietà" e "libreria degli elementi" fino ai bordi del grafico, e perché si sovrappongono l'uno all'altro? È una piccola cosa nel flusso globale, certo, ma è qualcosa che cattura l'attenzione.

 
Реter Konow:
Eh, credo che dovrò fare un altro video... Ho dimenticato di mostrare come l'Expert Advisor ottiene il valore degli elementi. La stessa chiamata, solo con le parentesi vuote, restituisce il valore attuale dell'elemento.

È anche possibile cambiare i colori e gli stati di un elemento con la stessa chiamata.

Oggi farò una piccola demo in una gif.

Ah, beh, sì, potevi immaginarlo... sono stato muto. Poiché tutto nel vostro programma è basato su variabili globali e non c'è il concetto di contesto, ovviamente qualsiasi cosa può essere ottenuta da qualsiasi cosa in qualsiasi punto del programma.

Motivazione: