Travailler avec des fichiers. - page 6

 
Yedelkin:

Je n'ai pas travaillé avec des opérations de fichiers depuis longtemps... Regardez, en utilisant FileOpen() vous avez un fichier de type CSV déclaré. Il permet de spécifier que tous les éléments écrits sont convertis en chaînes unicode ou ansi. Peut-être que c'est là que se trouve le chien ?

Putain de Winnipuh ! !!

C'est là qu'il est "enterré" :) J'ai ajouté le paramètre FILE_ANSI et tout s'est bien passé !

FileOpen("Étiquette de prix\\"+Symbole+tpl_ext,FILE_READ|FILE_CSV|FILE_ANSI,';',CP_ACP) ;


Yedelkin ,TheXpert, merci pour le tuyau !!!:)

 

is_vale: 

...

D'après ce que je peux voir dans le débogueur (dans la variable STF, il lit le contenu du fichier en unicode ! En ouvrant le fichier, j'ai essayé toutes les pages de code possibles, mais le résultat est le même :( Le fichier lui-même est écrit en encodage Windows.

Quelqu'un a-t-il une idée de l'origine du problème ?

Par défaut, il est écrit en UNICODE. Il faut donc activer le drapeauFILE_ANSI:

int handle=FileOpen("Price Label\\"+_Symbol+tpl_ext,FILE_READ|FILE_CSV|FILE_ANSI,';',CP_ACP);

 
tol64:

Par défaut, il est écrit en UNICODE. Par conséquent, définissez le drapeauFILE_ANSI:

Rapidement demandé. )))
 
uint  FileReadArray(
   int   file_handle,               // handle файла
   void  array[],                   // массив для записи
   int   start_item=0,              // с какой позиции массива писать
   int   items_count=WHOLE_ARRAY    // сколько читать
   );
Question sur la taille des tableaux[] : dois-je définir la taille des tableaux[] avant de les utiliser dansFileReadArray() ou le "terminal runtime" s'occupera-t-il de leur taille dans ce cas ?
 
Yedelkin:
Question sur la taille des tableaux[] : dois-je définir la taille des tableaux[] avant de les utiliser dansFileReadArray() ou le "système d'exécution du terminal" s'en chargera-t-il?

Non, la fonction distribuera la mémoire pour la quantité nécessaire de données dans le fichier.

À propos, vous pouvez lire des tableaux de structures simples de la même manière, s'ils ont été écrits là.

La fonction FileReadArray() ne reconnaît pas le type de données sauvegardées, donc faites attention, c'est une des caractéristiques, vous pouvez sauvegarder des doublons et les lire comme une collocation et les analyser en bits.

 

Cool.

Urain:

La fonction FileReadArray() ne reconnaît pas le type de données sauvegardées, donc faites attention, c'est une des caractéristiques, vous pouvez sauvegarder les doublons et les lire comme un point flottant et les analyser en bits.

Les tableaux doivent donc être du même type lors de la sauvegarde et de la lecture, n'est-ce pas ? Est-ce suffisant ?

 
Yedelkin:

Cool.

Les tableaux doivent donc être du même type lors de la sauvegarde et de la lecture, ai-je raison ? Est-ce suffisant ?

Oui.
 
Urain:
Oui.
Gracias muchas !
 
bool  FileCopy(
    string  src_filename,       // имя файла-источника
    int     common_flag,        // место действия
    string  dst_filename,       // имя файла назначения
    int     mode_flags          // способ доступа
    );

La description dit :

common_flag

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

Si le fichier source se trouve dans le dossier partagé, alors common_flag=FILE_COMMON, cela est compréhensible. Mais si le fichier est situé dans un dossier local, quel drapeau doit être spécifié ? Le paramètre common_flag n'est pas par défaut, ce qui signifie qu'une valeur doit être spécifiée de toute façon.
 
Yedelkin:

La description dit :

Si le fichier source est dans un dossier partagé, alors common_flag=FILE_COMMON, c'est clair. Mais si le fichier est situé dans un dossier local, quel drapeau doit être spécifié ? Le paramètre common_flag n'est pas par défaut, donc une valeur doit être spécifiée de toute façon.
Si FILE_COMMON n'est pas spécifié, le dossier par défaut est le dossier local.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5