GUI in crowdsourcing. Open beta testing. - pagina 5

 
Già... Mi chiedo se c'è almeno un controllo della correttezza di tale codice in fase di compilazione. Per esempio, se H_TAB è scritto al posto di _X2X ecc.
 
Alexey Navoykov:
Già... Mi chiedo se c'è almeno un controllo della correttezza di tale codice in fase di compilazione. Per esempio, se si scrive H_TAB invece di _X2X ecc.

Il controllo della correttezza è parzialmente disponibile. Per esempio, se scrivete h_tab invece di H_TAB o fate qualsiasi errore di ortografia in qualsiasi parola chiave. Tuttavia, se si scrive codice in modo errato, non c'è controllo. Proprio come nel solito editor.

Nell'esempio precedente, il gruppo sarà semplicemente posizionato in modo errato.

Ecco cosa è venuto fuori.

 
Реter Konow:

Tuttavia, se si scrive il codice in modo sbagliato, non ci sarà alcun controllo. Proprio come in un normale editor.

Intendi un editor di testo? Quei numerosi errori casuali (come mischiare i parametri, mancare qualcosa ecc.) che di solito sono controllati dal compilatore, devono essere catturati a run-time qui da voi.
Tutta questa scrittura di codice apparentemente laconica si rivela essere un inferno di problemi durante il debugging successivo: si risparmiano un centinaio di linee di codice e poi si spendono un centinaio di ore di lavoro per catturare anche gli errori più semplici. Questo è solo...
 
Alexey Navoykov:
Ti riferisci a un editor di testo? Quei numerosi errori casuali (come mischiare i parametri, mancare qualcosa, ecc.) che sono normalmente controllati da un compilatore, qui dovranno essere catturati a runtime.
Di conseguenza, tutta questa apparente brevità della scrittura del codice si trasforma in un inferno di problemi con il suo successivo debugging. Risparmiare un centinaio di linee di codice e poi spendere cento ore di lavoro per catturare gli errori più semplici. Questo è solo...

Guarda quante finestre ho incollato. E quanto velocemente li sto rivettando. Perché prendersi tutto questo disturbo? È tutto molto facile e veloce. Devi solo imparare le regole di base.

Guarda il codice. Catene di proprietà, e interi gruppi e finestre, possono essere semplicemente trasferiti da progetto a progetto. Nessuno vieta di creare una base di codice GUI libera da cui tutti possono prendere modelli già pronti.

Ogni finestra creata può diventare un prototipo per la prossima.

 

Grazie, Peter, ho scaricato il tuo codice, aggiornato alla versione 1.3, dopo aver cambiato il timeframe, la croce e la barra delle applicazioni in basso scompaiono, e non si clicca più nulla.

Inoltre per qualche motivo in tutte le schede viene visualizzato il testo, e dovrebbe essere solo nella scheda Hotkeys, e che tra virgolette "UP" e "DOWN" dovrebbe essere modificato,

e non mi è ancora chiaro cosa siano questi comandi, dovresti postare le istruzioni per i comandi e la sintassi, se non è ancora pronto, non ho fretta


 
Rafil Nurmukhametov:

Grazie, Peter, ho scaricato il tuo codice, aggiornato alla versione 1.3, dopo aver cambiato il timeframe, la croce e la barra delle applicazioni in basso scompaiono, e non si clicca più nulla.

Inoltre per qualche motivo in tutte le schede viene visualizzato il testo, e dovrebbe essere solo nella scheda Hotkeys, e che tra virgolette "UP" e "DOWN" dovrebbe essere modificato,

e ancora non mi è chiaro quali sono questi comandi, vorresti postare le istruzioni per i comandi e la sintassi, se non è ancora pronto, non ho fretta


Alcune precisazioni, Rafil.

1. Non c'è bisogno di cambiare i timeframe sul grafico del costruttore. Non è progettato per questo. Si modella l'interfaccia su di essa, e poi si stampano i suoi file: CORES e Internal_API. Collegate questi file alla vostra applicazione e questa otterrà la propria interfaccia grafica.

2. Si legano interi gruppi di oggetti alle schede:

//--------------------------------------------------------------------------------------------------------------
//УСТАНАВЛИВАЕМ ЯВЛЕНИЕМ КАКИХ ГРУПП БУДУТ УПРАВЛЯТЬ ВКЛАДКИ (прописываем имена групп последовательно).--------------
//--------------------------------------------------------------------------------------------------------------
"Цветовые настройки",  IS_APPEARANCE_CONTROLLER,  "Группа вкладки цветовых настроек", ... продолжаем перечисление названий групп или объектов... END,
"Индикаторы",          IS_APPEARANCE_CONTROLLER,  "Группа вкладки индикаторы",        ... продолжаем перечисление названий групп или объектов... END,
"Горячие клавиши",     IS_APPEARANCE_CONTROLLER,  "Группа вкладки клавиш",            ... продолжаем перечисление названий групп или объектов... END,
//----------------------------------------------------------------------------------


//------------------------------------------------------------------------------------
//ИМЕНУЕМ ГРУППЫ КАК ИХ ПОДКЛЮЧАЛИ ВЫШЕ. И ТОГДА, ВКЛАДКИ БУДУТ УПРАВЛЯТЬ ИХ ЯВЛЕНИЕМ:
//------------------------------------------------------------------------------------
GROUP, "Группа вкладки цветовых настроек",  

....

END_GROUP,
//------------------------------------------------------------------------------------
GROUP, "Группа вкладки индикаторы"",  

....

END_GROUP,
//------------------------------------------------------------------------------------
GROUP, "Группа вкладки клавиш",  

....

END_GROUP,

Oggi stamperò le istruzioni per i comandi e le regole di base. Ci saranno più aggiornamenti, sto costantemente correggendo i bug.


NOTA:

1. NON SI POSSONO DARE NOMI IDENTICI A GRUPPI O OGGETTI ALL'INTERNO DELLA STESSA FINESTRA. SE IL NOME DI UN OGGETTO NON È ESSENZIALE, SI CHIAMA SEMPLICEMENTE "A" E VIENE CREATO AUTOMATICAMENTE.

2. NON SI POSSONO NOMINARE FINESTRE CON LO STESSO NOME.

 
Rafil Nurmukhametov:
... e ciò che è tra virgolette "UP" e "DOWN" deve essere modificato...


Spiega cosa significa editing, per favore.
 
Реter Konow:
Spiega cosa significa editing, per favore.

cioè ci deve essere un campo per inserire numeri e lettere

 
Rafil Nurmukhametov:

cioè ci deve essere un campo per inserire numeri e lettere

Ok. Ok, allora:

//---------------------------------------------
//НАЗВАНИЯ ПОЛЕЙ ВВОДА И ПОЛЯ ВВОДА.
//---------------------------------------------
GROUP, "Group name 1",  

__,BOARD,"ПОКУПКА ПО РЫНКУ  - ''UP''",   EDIT,"ПОКУПКА ПО РЫНКУ",  

GAP,20,

__,BOARD,"ПРОДАЖА ПО РЫНКУ  - ''DOWN''",EDIT,"ПРОДАЖА ПО РЫНКУ",    

END_GROUP,
//-----------------------------------
//ПОЗИЦИЯ ГРУППЫ ОТНОСИТЕЛЬНО ПРЯМОУГОЛЬНИКА R1 (тип привязки по оси х, имя объекта привязки, поправка. тоже самое для оси y).
//-----------------------------------
i, AT, _X2X,"R1",10, _Y2Y,"R1",30,
//-----------------------------------
//ПРИВЯЗЫВАЕМ ТЕКСТ ЭЛЕМЕНТОВ BOARD К ЛЕВОМУ КРАЮ И УСТАНАВЛИВАЕМ ДЛИННУ.
//-----------------------------------
i,BOARDS,  text, _A1_,_X2X,0,  W,200,  END,
//-----------------------------------
//УСТАНАВЛИВАЕМ ДЛИННУ ПОЛЕЙ ВВОДА.
//-----------------------------------
i,EDITS,   W,100,                      END,
//-----------------------------------

Mettilo al posto del gruppo precedente.

zy. ci sarà un aggiornamento in serata. sono stati risolti bug notevoli.


 
Aggiornata la versione. Stampato la lezione.