Travailler avec des fichiers. - page 8

 
Si vous devez copier un fichier d'un dossier local vers un dossier partagé ou vice versa, utilisez les fonctions de lecture et d'écriture avec les drapeaux appropriés. Quelle autre réponse souhaiteriez-vous entendre ?
Документация по MQL5: Файловые операции / FileCopy
Документация по MQL5: Файловые операции / FileCopy
  • www.mql5.com
Файловые операции / FileCopy - Документация по MQL5
 
Rosh:

Si vous devez copier un fichier d'un dossier local vers un dossier partagé ou vice versa, utilisez les fonctions de lecture et d'écriture avec les drapeaux appropriés. Quelle autre réponse voulais-tu entendre ?
Encore une fois. J'utilise, comme vous pouvez le voir dans la correspondance, la fonction FileCopy(), et non les fonctions de lecture et d'écriture (dans ce cas). Cette fonction nécessite qu'un drapeau d'emplacement de fichier soit spécifié comme deuxième paramètre non par défaut. Cependant, il n'y a pas de drapeau indiquant l'emplacement du fichier comme "dans le dossier local". De plus, il n'y a aucune explication de cette situation dans la section d'aide correspondante. Par conséquent, j'aimerais avoir une réponse à ma question : "que dois-je spécifier entre la première et la deuxième virgule lorsque je remplis la liste des paramètres deFileCopy() dans le cas où le fichier se trouve dans le dossier local" et pourquoi n'y a-t-il aucune information à ce sujet dans le Handbook ?
 
Yedelkin:
Encore une fois. J'utilise, comme vous pouvez le voir dans la correspondance, la fonction FileCopy(), et non les fonctions de lecture et d'écriture (dans ce cas). Cette fonction nécessite qu'un drapeau d'emplacement de fichier soit spécifié comme deuxième paramètre non par défaut. Cependant, il n'y a pas de drapeau indiquant l'emplacement du fichier comme "dans le dossier local". De plus, il n'y a aucune explication de cette situation dans la section d'aide correspondante. Par conséquent, j'aimerais obtenir une réponse à ma question : "que dois-je spécifier entre la première et la deuxième virgule lorsque je remplis la liste des paramètres deFileCopy() dans le cas où le fichier est situé dans le dossier local" et pourquoi n'y a-t-il aucune information à ce sujet dans le manuel de référence ?

Que dites-vous de ça ? L'aide indique explicitement

[in] Flag définissant l'emplacement du fichier. Si common_flag=FILE_COMMON, alors le fichier se trouve dans le dossier commun de tous les terminaux clients. Sinon, le fichier se trouve dans le dossier local.

"Autrement" signifie toute autre valeur qui ne contient pas l'indicateur binaire FILE_COMMON.

 
stringo:

Que dites-vous de ça ? Le certificat indique clairement

Eh bien... En fait, ce n'est pas très juste. Je ne serais pas familier avec celui-ci :

[in] L'indicateur qui spécifie l'emplacement du fichier. Si common_flag=FILE_COMMON, le fichier est situé dans le dossier commun de tous les terminaux clients. Sinon, le fichier se trouve dans le dossier local.

On pourrait penserque le fichier pour FILE_COMMON serait dans le dossier partagé et pour disons FILE_COMMON + 1 dans le dossier local, bien que ce ne soit pas le cas.

Peut-on vraiment introduire une constante FILE_LOCAL == 0 ?

 
stringo:

Que dites-vous de ça ? L'aide indique explicitement

[in] Flag définissant l'emplacement du fichier. Si common_flag=FILE_COMMON, alors le fichier se trouve dans le dossier commun de tous les terminaux clients. Sinon, le fichier se trouve dans le dossier local.

"Autrement" signifie toute autre valeur qui ne contient pas l'indicateur binaire FILE_COMMON.

Peut-être que pour vous et les professionnels qui ont parlé ici, le sujet est clair. Mais regardez la même question à travers les yeux d'un utilisateur ordinaire non professionnel.

Pour un utilisateur médiocre comme moi, il y a une logique simple :

  1. si un paramètre n'a pas de valeur par défaut, il doit être spécifié explicitement ;
  2. la liste des drapeaux qui s'appliquent au paramètre common_flag est spécifiée explicitement à l' aide du lien "Flag" ;
  3. il n'y a pas d'indicateur pour le dossier local dans cette liste ;
  4. la phrase "Sinon..." n'est pas du tout claire. "Autrement" est lorsque le drapeau FILE_COMMON n'est pas spécifié. Cela signifie que l'indicateur ne doit pas être spécifié du tout. Mais cela contredit la clause 1. Quant à la possibilité de spécifier d'autres drapeaux/valeurs, il y a un vide total dans la description.

Donc, si quelque chose est spécifié "explicitement" dans le manuel, ce n'est évidemment pas pour tous :)

 
Yedelkin:

Il est peut-être clair pour vous et pour les professionnels qui ont parlé ici de quoi il s'agit. Mais regardez la même question à travers les yeux de l'utilisateur moyen non professionnel.

Pour un utilisateur médiocre comme moi, il y a une logique simple :

  1. si un paramètre n'a pas de valeur par défaut, il doit être spécifié explicitement ;
  2. la liste des drapeaux qui s'appliquent au paramètre common_flag est spécifiée explicitement à l' aide du lien "Flag" ;
  3. il n'y a pas d'indicateur pour le dossier local dans cette liste ;
  4. la phrase "Sinon..." n'est pas du tout claire. "Autrement" est lorsque le drapeauFILE_COMMON n'est pas spécifié. Cela signifie que l'indicateur ne doit pas être spécifié du tout. Mais cela contredit la clause 1. Quant à la possibilité de spécifier d'autres drapeaux/valeurs, il y a un vide total dans la description.

Donc si quelque chose est spécifié "explicitement" dans le manuel, il est évident que ce n'est pas pour tout le monde :)

L'absence d'un drapeau est le bit 0. C'est comme la "Prière du Père", désolé.

Pourquoi ne pas demander les règles de multiplication dans la documentation, et la table de multiplication en même temps ?

 
TheXpert:

Peut-être devrions-nous vraiment introduire la constante FILE_LOCAL == 0 ?

Il existe une blague sur un programmeur Pascal. Le programmeur pose un verre d'eau sur la table de chevet lorsqu'il a soif la nuit. Il met aussi un verre vide s'il n'a pas soif.
 
stringo:

L'absence d'un drapeau est le bit 0. C'est comme la "Prière du Père", désolé.

Pourquoi ne pas demander les règles de multiplication dans la documentation et la table de multiplication en même temps ?

Je vois, vous ne voulez pas regarder le problème à travers les yeux d'un utilisateur médiocre. Merci à tous pour l'astuce du zéro. Comme on dit, laissons les autres non-professionnels s'en rendre compte par eux-mêmes lorsqu'ils en auront connaissance.
 
Yedelkin:
Je vois, vous ne voulez pas regarder le problème à travers les yeux d'un utilisateur médiocre. Merci à tous pour le conseil sur le zéro. Comme on dit, laissons les autres non-professionnels s'en rendre compte par eux-mêmes lorsqu'ils en auront connaissance.

C'est ici que nous communiquons pour que les "non-professionnels" puissent apprendre quelque chose. N'est-ce pas ?

Et il est peu probable que nous inscrivions de tels détails dans la documentation. Je vous en ai déjà parlé une fois. Et j'ai donné mes raisons.

 
stringo:

C'est ici que nous communiquons pour que ces "non-professionnels" puissent apprendre quelque chose. N'est-ce pas ?

Absolument. Et je l'ai souligné à plusieurs reprises. Mais si la documentation comportait une phrase courte et compréhensible sans ambiguïté, il n'y aurait pas de communication :)

stringo:

Et nous ne mettrons guère de tels détails dans la documentation. Je vous en ai déjà parlé une fois. Et j'ai donné mes raisons.

Un tel sujet reviendra plus d'une fois. Pendant la discussion de ce problème particulier, j'ai pu trouver 20 secondes pour corriger 2-3 mots dans la documentation. Mais c'est une question de perspective, comme je le vois :)