Fare un progetto in crowdsourcing su Canvas - pagina 3

 
o_O:

Direi che è una bellezza).

La velocità è molto buona. tutto è abbastanza adeguato in termini di tempo di rendering e di controllo.

Vedete il problema: è tutto figo e groovy, ma non tutte le persone possono scrivere come nei codici allegati.

Sarei felice di partecipare, ma non ho conoscenze, e non lo fanno, non perché non imparo e non voglio imparare non lo fanno, perché non è da nessuna parte per insegnare bene.

Ho sollevato molte volte la questione di una buona formazione competente, come programmare correttamente e come non programmare correttamente, cos'è OOP e come usarlo.

Ora solo quelli che hanno studiato programmazione negli istituti e hanno molte conoscenze e capiscono molto possono rispondere alla tua chiamata, ma quanti ne vedi?

Per esempio, io non capisco affatto queste cose:

class A { public:
              A *operator<<( int )       { return &this; }
        const A *operator>>( int ) const { return &this; }
};
void OnStart()
{
        A a;
        a >> 0 << 0;                       //нет сообщения об ошибке
        a.operator>>( 0 ).operator<<( 0 ); //error: правомерно

Mostratemi nella documentazione o altrove dove posso imparare e capire dove applicare questo e come capirlo in generale...

Volete scrivere cose fresche e utili e questo è molto buono, ma chi lo scriverà l'avete preparato? Hai insegnato alla gente? O di nuovo una buona idea morirà perché 1,5 persone vi prenderanno parte...

Pensando ad alta voce, il progetto più necessario e necessario sarebbe un progetto per insegnare la programmazione (buona, semplice, utile, competente) dalle basi agli esempi come ho mostrato sopra. Lo farei ma non sono un professionista, non so come farlo bene!

E l'uso per tutti sarà centomila volte superiore a quello del progetto in cui 1,5 ragazzi intelligenti inventeranno cose fighe (secondo loro)...

 
o_O:
hmm, qual è il problema con la modifica?
Il problema principale e più importante è la stringa di input limitata o è cambiato qualcosa?
 
Vladimir Pastushak:
Volete scrivere cose fresche e utili e questo è molto buono, ma chi lo scriverà l'avete preparato? Ha insegnato alla gente? O ancora, una buona idea morirà perché 1,5 persone vi prenderanno parte...

A volte 0,5 persone sono sufficienti, se è un genio nello sviluppo)


Pensando ad alta voce, il progetto più necessario e richiesto sarebbe un progetto di formazione...

questo è un argomento per un altro thread.

E il beneficio per tutti sarà cento o mille volte maggiore di un progetto in cui 1,5 ragazzi intelligenti scriveranno cose fighe (secondo loro)...


Non sarà una cosa figa. sarà solo un must have. e non è fatto per persone intelligenti, ma per persone come te, per il freelance, per il mercato.
 
Zorro:
Il problema più importante e principale è la stringa di input limitata o è cambiato qualcosa?

(-) quindi non usiamo un oggetto grafico di MT.

Dobbiamo fare il nostro Edit, con il blackjack ecc.
Disegnato su una bitmap generica dell'applicazione,

 

Un'etichetta e un giro con una stringa illimitata è già un vantaggio di per sé )

E sì, è Anatoly che dovrebbe essere nel thread.

 

Ora che abbiamo più o meno capito cosa fare, suggerisco di aggiungere una clausola di architettura di classe di base al primo compito (per tutti i controlli futuri, non solo i pulsanti)

----
In generale, vedo l'intero progetto nella seguente direzione

1. Stiamo per scrivere un pulsante e renderlo su canvas. Con i suoi eventi. Perciò entriamo all'inizio e testiamo il modello gui bitmap.

2. Creare una classe che combini un gruppo di elementi della GUI con gli eventi (questo serve per tenere conto dello zorder durante il rendering e degli eventi)

Questi sono due passi complicati, si spera che ci siano alcune opzioni, noi ne sceglieremo una.
Dopodiché, eseguirò il progetto open source in bitbucket. E passare alla terza fase.

3. Quando l'architettura diventa chiara, allora tutti possono già prenderla e fare controlli di base: Edit, Static, Droplist, ecc. Per ora mi limito a questi elementi, perché saranno sufficienti per il primo compito pratico.

Non discuto che alcune modifiche architettoniche saranno necessarie nella fase di sviluppo del controllo. Questo sarà risolto in un paio di iterazioni

 
o_O:

Non sarà una cosa figa. sarà semplicemente un must have. e non è fatto per persone intelligenti, ma per persone come te, per il freelance, per il mercato.

1 - Non mi fido delle cose/codici che non capisco

2 - Per quanto mi ricordo Kanvas non funziona nello strategy tester, il che per molti è un enorme svantaggio, specialmente quando si testano prodotti a pagamento dal mercato, semplicemente non funzioneranno.

3 - Vi auguro buona fortuna...

ZS: E non capisco cosa significa"deve avere"...

 
Vladimir Pastushak:
...

ZS: E non capisco cosa significa"deve avere"...

Solo "deve avere" ...
 
Комбинатор:

Un'etichetta e un giro con una stringa illimitata sono già un vantaggio di per sé )

E sì, Anatoly è presumibilmente chiamato all'argomento

Originariamente avevo pianificato di sviluppare la mia libreria nella stessa direzione, come suggerito in questo thread. Ho volutamente iniziato con semplici primitive standard, per lavorare di schema, perché all'inizio è più facile. Ora praticamente tutto il materiale è stato pubblicato in articoli. La prima fase rispetto al mio piano originale è quasi fatta. Ci sarà un altro articolo principale così come un paio di articoli con aggiornamenti su richiesta degli utenti interessati e ho anche fatto qualche ottimizzazione del codice e degli schemi, che ha ridotto un po' il consumo di risorse della CPU.

Lo schema attualmente assomiglia a quello mostrato nella figura qui sotto. Questa non è la versione finale e sarà ripetutamente modificata durante lo sviluppo della libreria. Ma non escludo nemmeno forti cambiamenti, se si trova una variante che dà vantaggi e nuove caratteristiche che non sono disponibili nella versione attuale.

Tutti i materiali pubblicati sono disponibili e siete liberi di usarli nei vostri progetti o versioni di librerie simili. È per questo che tutto è stato pubblicato. Man mano che ogni parte della serie viene pubblicata, puoi rintracciare l'evoluzione della biblioteca.

Avevo intenzione di implementare tutti i controlli completamente disegnati su tela (alcuni di loro sono già stati implementati). Questa è la seconda fase di sviluppo della biblioteca. Cioè, per ogni controllo ci sarà un oggetto separatodi tipo OBJ_BITMAP_LABEL. Il numero di oggetti grafici diventerà molto inferiore, il che a sua volta ridurrà anche le risorse della CPU. Di nuovo, tutto dipende da come sarà implementato. Ci sono sempre alcune varianti. È consigliabile provarle tutte, se è la prima volta in questo ambiente e non si è sicuri che l'opzione scelta sia inequivocabilmente la migliore.

E solo dopo il piano era di passare alla terza fase, quando tutti gli elementi dell'interfaccia grafica dovevano essere disegnati sullo stesso kanvas. Per quanto riguarda le librerie per la creazione di interfacce grafiche, questo è il massimo. Ed è un lavoro molto grande per una sola persona. Totale astrazione e immersione nel progetto. Massima concentrazione per un lungo periodo. E penso che se avete intenzione di diventare un programmatore professionista, dovete passare attraverso questo. Il fatto è che questa esperienza può tornare utile in seguito in qualsiasi ambiente di programmazione. Ma se si mette insieme una squadra, forse lo sviluppo può essere completato molto più velocemente.

Penso che questo progetto sia molto interessante e utile, sia per gli altri che per me stesso. Con grande interesse guarderò lo sviluppo e studierò i materiali pubblicati qui. In ogni caso continuerò a sviluppare la mia versione della biblioteca e a pubblicare articoli. Mi piace il formato in cui sto lavorando attualmente. Che questa sia la mia partecipazione. Le idee e i codici saranno a disposizione di tutti e potranno essere utilizzati. Ho dei requisiti molto rigorosi per il design e la descrizione del codice. Tutto deve essere dettagliato, ordinato, presentato in schemi, comprensibile a tutti e perfetto il più possibile. Altrimenti, non funzionerà nulla e si rischia di finire nel nulla, come è stato ripetutamente su questo forum per molte idee diverse e molto interessanti, anche se le discussioni hanno coinvolto gli sviluppatori più professionali presenti su questo sito. Spero che questo non sia il caso e che avremo una buona libreria per la creazione di interfacce grafiche per i terminali MetaTrader, e l'interminabile periodo della sua assenza sarà dimenticato come un brutto sogno.

 
o_O:

Saluti ai codificatori.

C'è un interessante compito di fare qualcosa di veramente utile...

----

Quindi, compito uno e di base.

1. Dobbiamo fare una classe di pulsante (diciamo GButton, con il prefisso G per non confondersi con quelli esistenti).

Penso che dopo gli articoli di Anatoly creare di nuovo le stesse uova nel profilo sia almeno uno strano passatempo. La grafica non è affatto un argomento caldo per MT.

  • Gli utenti non hanno bisogno di interfacce grafiche. Di conseguenza, è impossibile monitorare la GUI e il suo sviluppo non darà mai frutti.
  • Se vuoi aumentare le competenze, è meglio trovare subito un lavoro da qualche parte junior. Così almeno comincerai a fare un po' di soldi subito e aumenterai le tue capacità lentamente.
  • Un pubblico troppo ristretto. Chi ha bisogno delle biblioteche? - Assolutamente nessuno, tranne una manciata di programmatori, che hanno scritto da tempo tutte le librerie di cui hanno bisogno. Per esempio, ho due librerie grafiche di mia proprietà.

Non voglio insegnare a nessuno qui, ma posso darvi un consiglio: ragazzi, annusate la polvere. Imparare a lavorare con gli utenti. Impara la loro psicologia. Imparare a controllare le loro idee. Poi scendete rapidamente sulla terra e ragionerete in un modo completamente diverso. Anch'io una volta credevo in alcune idee speciali e belle, ma tutte queste sciocchezze non funzionano. Quello che state discutendo qui non serve a nessuno se non a voi.