Errori, bug, domande - pagina 2537

 

Se la funzione ::Print() emette una stringa lunga (più di 260 caratteri) nella finestra Toolbox/Experts, sarà troncata a 256 caratteri copiando la stringa con la funzione PCM/Copy.


Se invece lo si copia con PCM/Review/Copy, non viene troncato.

Qual è la differenza?

 
A100:

Lo vedo.

#define  MACRO( ТОЛЬКО_НЕ_void )    Print( "OK" )
void OnStart() { MACRO(); }

Hmm, è complicato...... Salutate l'EEJAMS!

#define    test(int) for(int i=0;i<10;i++) Print("OK");
//+------------------------------------------------------------------+
void OnStart()
  {
  test();
  }

'i' - identificatore non dichiarato tst.mq5 16 3

L'opzione del vuoto funzionerà senza problemi, ma ricordatevi di togliere la pellicola.
 
A100:

Lo vedo.

#define  MACRO Print( "OK" )
void OnStart() { MACRO; }

Le parentesi dopo la macro ti fanno sentire meglio?

E sì, l'uso di parole riservate nella dichiarazione dei parametri macro è amore per le precondizioni di enormi bug. Beh, ognuno decide da solo come sparare via le gambe, buona cosa, gli sviluppatori non ci hanno davvero assicurato da questa azione emozionante, e dovrebbero essere congratulati))))

Infine, capire cosa è il parametro macro e come viene utilizzato.

 
Igor Makanu:

hmm, è complicato per te...... Salutate i ricci!

'i' - identificatore non dichiarato tst.mq5 16 3

La variante void funzionerà senza problemi, ma dovreste saperlo meglio.
void OnStart()
  {
  for(i=0;i<10;i++) Print("OK");;
  }

Questo è ciò che il preprocessore vi restituisce.

PS due ; - questo non è un mio errore di battitura, sarà davvero dopo il preprocessore.
 
Igor Makanu:

La versione vuota funzionerà senza problemi, ma tu lo sai meglio, non dimenticare di togliere la pellicola.

In questo caso particolare funzionerà, ma non nel caso generale. Nessuno ha bisogno delle peggiori soluzioni per i casi speciali. Il vuoto implica qualsiasi parola chiave, nel caso in cui non abbiate ancora capito

 
Vladimir Simakov:

Le parentesi dopo una macro ti fanno sentire meglio?

Ma sì, l'uso di parole riservate nella dichiarazione dei parametri macro è amore per i presupposti di fare enormi bug. Beh, ognuno decide da solo come sparare via le gambe, buona cosa, gli sviluppatori non sono del tutto assicurati da questa azione eccitante, per quello che rispettano))))

Infine, capire cosa è il parametro macro e come viene utilizzato.

Ho un argomento di ferro per voi: "Tutto funziona bene in C++". Ha qualcosa da rispondere? No? - Allora tieni per te i tuoi insegnamenti morali. E fareste meglio a capirlo - se non capite perché le parentesi sono lì.

P.S. È statoIgor Makanua suggerirlo- scrivete a lui
 
A100:

In questo caso particolare funzionerà, ma non nel caso generale. Soluzioni del caso peggiore per casi speciali - nessuno ne ha bisogno. vuoto significava qualsiasi parola chiave, se ancora non capisci

Va bene, vai avanti, non è piacevole parlare con te. Sono sempre attratto dalle personalità, sono più interessato agli argomenti tecnici in questo forum

Vladimir Simakov:

Questo è ciò che il preprocessore vi ha mostrato.

PS due ; - non è il mio refuso, sarà davvero dopo il preprocessore.

So di cosa si tratta;

la domanda era puramente tecnica - come ottenerlo correttamente

Ho usato qualsiasi tipo, mi aspettavo qualche stronzata - ha funzionato bene, lo uso raramente (per lo più scrivo l'ordine di invio come BUY(doppio lotto) o semplice macro BUY()) - Ho sempre usato void qui - non ci sono stati problemi e non dovrebbero esserci

 
A100:

Ho un argomento di ferro per voi: "Tutto funziona bene in C++". Ha qualcosa per contraddirlo?

E poi c'è C#, JS e tutto il resto. Solo qui c'è mql, e ha questo.
 
Igor Makanu:

Va bene, tenetevi occupati, non è piacevole parlare con voi. Hai sempre la tendenza a saltare alle personalità, io sono più interessato a questo forum su argomenti tecnici.

Non è piacevole? Argomenti tecnici di interesse? A giudicare dal tuo messaggio capisco che sei più interessato al tema del sadomaso. Io comunico con voi - nella vostra lingua - usando il vostro vocabolario

 
Vladimir Simakov:
E poi c'è C#, JS e tutto il resto. Solo qui c'è mql, e va così.

Cosa c'entrano C#, JS e tutto il resto? Leggi la documentazione MQL - pagina 1:

"La sintassi di MQL5 è simile a quella di C++".

https://www.mql5.com/ru/docs/basis.

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...