[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 385

 
nadya:
Bien sûr que c'est possible, si votre variable est du type approprié.
Une cellule. Mais comme ça, seulement avec des constantes : " Les tableaux sont initialisés avec une séquence unidimensionnelle de constantes listées séparées par des virgules. La séquence est entourée d'accolades. "
 
kifa911:
Bonjour, j'ai une question sur l'initialisation des tableaux. Il est écrit dans le tutoriel que : Un tableau ne peut être initialisé qu'avec des constantes du type approprié. Les tableaux unidimensionnels et multidimensionnels sont initialisés avec une séquence unidimensionnelle de constantes énumérées et séparées par des virgules. La séquence est entourée d'accolades. Dans ce cas, le mot "constant" me laisse perplexe. On ne peut pas attribuer une valeur à un certain indice de tableau via une variable.

est possible, mais pas pendant l'initialisation.

C'est-à-dire la situation :

int aaa = 4;
int bbb[5] = {0, 1, 2, 3, 0};
bbb[4] = aaa;

autorisé

Et la situation

int aaa = 4;
int bbb[5] = {0, 1, 2, 3, aaa};

provoquera une erreur

 
nadya:
Bien sûr que oui, si votre variable a le type approprié.

Voici une question. Une fonction doit transmettre deux tableaux de données par référence, par exemple :

void SomeFunction(int& firstmassive[][3],double& secondmassive[][3])

{

 int iCount=-1,

      ifirst,isecond,ithird;

 double dfirst,dsecond,dthird;

...

 iCount++;

  firstmassive[iCount][0]=ifirst;firstmassive[iCount][1]=isecond;firstmassive[iCount][2]=ithird;

  secondassive[iCount][0]=dfirst;secondmassive[iCount][1]=dsecond;secondmassive[iCount][2]=dthird;

  print("iCount= "+iCount+" firstmassive_2= "+firstmassive[iCount][1]+" isecond= "+isecond);

...

return(0);

}

Lorsque je libère cette fonction pour qu'elle fonctionne, l'onglet "experts" dans le termenal messages tels que :

iCount= 0 firstmassive_2= 0 isecond= =15
iCount= 1 firstmassive_2= 0 isecond= =25
Il s'avère qu'aucune valeur de la variable n'est passée au tableau, bien que ce dernier ait une valeur. Qu'est-ce que j'ai fait de mal ?
 
artmedia70:

Le nom du fichier du plug-in est : GetExstremumZZZPrice.mqh ? ???

Il se trouve dans le dossier Terminal_folder/experts/include ? ??


Le nom est le même, il était dans le dossier libraries, maintenant il est dans le dossier includ, mais le résultat est le même.
 
kifa911:

Voici une question. Une fonction doit transmettre deux tableaux de données par référence, par exemple :

Lorsque je libère cette fonction pour qu'elle fonctionne, l'onglet "experts" dans le thermique affiche des messages de ce type, par ex :

Il s'avère qu'aucune valeur de variable n'est passée au tableau, même si ce dernier a une valeur. Qu'est-ce que j'ai fait de mal ?

Je ne vois pas l'erreur. Peut-être que quelqu'un d'autre peut vous aider.
 
Encore une fois, veuillez expliquer les opérations sur les fichiers. Après avoir écrit certaines informations dans un fichier , est-il possible de les supprimer partiellement du fichier ? Disons que vous avez écrit quelques lignes dans un document texte et que vous pouvez ensuite supprimer les lignes inutiles ou les corriger en utilisant les fonctions d'opérations sur les fichiers ?
 
fore-x:
Encore une fois, veuillez expliquer les opérations sur les fichiers. Après avoir écrit certaines informations dans un fichier, est-il possible de les supprimer partiellement du fichier ? Disons que vous avez écrit quelques lignes dans un document texte et que vous pouvez ensuite supprimer les lignes inutiles ou les corriger en utilisant les fonctions d'opérations sur les fichiers ?
Tu peux.
 
Zhunko:
Tu peux.
  if(text != " ") 
    {
    handle = FileOpen(filename,FILE_CSV|FILE_READ|FILE_WRITE, ';'); //открыл файл
    FileSeek(handle,0,SEEK_SET );                               //переместил указатель   
    while(FileIsEnding(handle)==false)                              
      {
      pos = StringFind(FileReadString(handle),symb, 0);             //нашел нужную строку...  
      if(pos >= 0)break;                                   //...файловый указатель в конце строки
      if(FileIsEnding(handle)==true) break;                            
      }
                                 
      ?????????????????? //тут что делать, как удалить или перезаписать выбранную строку
    
    FileWrite(handle,text);     //записываем новую строку
    FileClose(handle);          //закрываем файл
    }  
Veuillez me guider. Que dois-je faire maintenant, aller au début de la ligne ? Et puis quoi ?
 
kifa911:
Bonjour, j'ai une question sur l'initialisation des tableaux. Dans le tutoriel, il est écrit que : Un tableau ne peut être initialisé que par des constantes du type approprié. Les tableaux unidimensionnels et multidimensionnels sont initialisés avec une séquence unidimensionnelle de constantes énumérées et séparées par des virgules. La séquence est entourée d'accolades. Dans ce cas, le mot "constant" me laisse perplexe. On ne peut pas attribuer une valeur à un certain indice de tableau via une variable.

Vous devez donc faire la distinction entre : initialiser et assigner.
 
Vinin:
Et si vous fixiez la ligne pour hier ou demain ?

Je vous remercie de votre attention, mais je ne comprends pas votre question. La ligne peut être fixée à n'importe quelle date, et lorsque le graphique l'atteint, l'EA se déclenche ? Ou peut-être que je ne comprends pas quelque chose, si vous voulez bien me l'expliquer.
Raison: