È possibile emettere testo su più righe in un oggetto OBJ_TEXT? - pagina 2

 
Farkhat Guzairov:

Beh, sarebbe lo stesso che con un normale oggetto di testo. Comunque, userò la tua soluzione per altri scopi, grazie!

Non è affatto la stessa cosa.
 
Poco sapeva Pushkin che i pezzi del suo poema sarebbero stati stampati da una macchina sconosciuta su una strana grafica, tramite una specie di iCanvas... È come se, tra 250 anni, gli indicatori di Nicholas fossero stati impressi sulle rocce marziane da alieni del sistema Proxima.
 
Nikolai Semko:
Non è affatto la stessa cosa.

Scusa, non stavo prestando attenzione, ho visto questa costruzione e poi l'ho inventata io :), devo provarla. È per MQL5?

    Canvas.Comm("Ты гульлива и вольна;");
    Canvas.TextPosY+=20;                                // увеличиваем Y координату на 20 пикселей
 
Farkhat Guzairov:

Scusa, non stavo prestando attenzione, ho visto questa costruzione e poi l'ho inventata io :), devo provarla. È per MQL5?

Kanvas (e non solo Kanvas) è 10 volte più veloce su MQL5. Ma tutto funziona anche per MQL4.

iCanvas per MQL4 -https://www.mql5.com/en/code/23840

Per MQL5

- https://www.mql5.com/ru/code/22164

 
Rimuovo la domanda, avete un'implementazione per entrambe le piattaforme, grazie.
 
Nikolai Semko:
Kanvas (e non solo Kanvas) è 10 volte più veloce di MQL5. Ma tutto funziona anche per MQL4.

iCanvas per MQL4 -https://www.mql5.com/en/code/23840

Per MQL5

- https://www.mql5.com/ru/code/22164

Per chiarire ogni dubbio, ci sono 3 diversi frammenti di testo nell'esempio che hai postato. Per essere onesti, non so se è possibile modificare (cancellare) il secondo frammento di testo, ecc.

 
Farkhat Guzairov:

Per chiarire ogni dubbio, dall'esempio che hai postato, ci sono 3 opzioni per il frammento di testo. Ad essere onesti, non capisco se è possibile modificare (cancellare) il secondo frammento di testo, ecc.

Tutto è possibile con la tela. Non ci sono limitazioni. Ma questo è un codice completamente diverso.
Leggete la documentazione, imparate e provate.
La cosa principale da capire è che la tela è un array uint con dimensione Height*Width, che Erase() rimuove tutto, riempiendo lo sfondo con un colore, e Update() mostra la tela corrente sullo schermo. Nel mio esempio c'è solo una tela per tutto lo schermo, ma ce ne può essere un numero qualsiasi e di qualsiasi dimensione.
Ed è molto veloce.
La cancellazione richiede meno di un millisecondo per visualizzare tutto lo schermo.
Aggiornamento in circa un millisecondo.
La generazione dell'immagine è tipicamente 0-5 millisecondi a seconda della complessità.
 
Nikolai Semko:
Leggete la documentazione, imparate e provate.

Esilarante )), seguirà il consiglio!!! :)

 
Реter Konow:
Pushkin non sapeva che i pezzi del suo poema sarebbero stati stampati da una macchina sconosciuta su una strana grafica, attraverso una specie di iCanvas... È come se, tra 250 anni, gli indicatori di Nicholas fossero stati impressi sulle rocce marziane da alieni del sistema Proxima.

Uh-huh, avrebbero dovuto essere i decreti di maggio del Luminary.... )) Così che 250 anni dopo i discendenti diranno - non è mai stato fatto nulla di loro.

 
Nikolai Semko:

è più facile usare Kanvas con la mia classe iCanvas:



Per visualizzare questo tipo di cose usando oggetti, il codice sarebbe molto più grande.

Nikolai, c'è un'opzione per allineare il testo nell'angolo in alto a destra. Ho lottato per mezza giornata... L'angolo destro è allineato, ma il testo è allineato solo a sinistra. Puoi darmi un suggerimento?