Trabajar con archivos. - página 6

 
Yedelkin:

Hace tiempo que no trabajo con operaciones de archivos... Mira, cuando usas FileOpen() tienes declarado un archivo de tipo CSV. Sirve para especificar que todos los elementos escritos se conviertan en cadenas unicode o ansi. ¿Tal vez aquí es donde está el perro?

¡¡Maldito Winnipuh!!

Ahí es donde está "enterrado" :) He añadido el parámetro FILE_ANSI y todo ha ido bien.

FileOpen("Etiqueta de precios "+Símbolo+tpl_ext,FILE_READ|FILE_CSV|FILE_ANSI,';',CP_ACP);


¡¡Yedelkin ,TheXpert gracias por el consejo!!:)

 

is_vale: 

...

A juzgar por lo que veo en el depurador (¡en la variable sTF lee el contenido del archivo como unicode! Al abrir el archivo he probado todas las páginas de código posibles, pero el resultado es el mismo :( El archivo en sí está escrito en codificación Windows.

¿Alguien tiene idea de dónde está el problema?

Por defecto está escrito en UNICODE. Por lo tanto, establezca la banderaFILE_ANSI:

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

 
tol64:

Por defecto se escribe en UNICODE. Por lo tanto, establezca la banderaFILE_ANSI:

Se lo pedimos con prontitud. )))
 
uint  FileReadArray(
   int   file_handle,               // handle файла
   void  array[],                   // массив для записи
   int   start_item=0,              // с какой позиции массива писать
   int   items_count=WHOLE_ARRAY    // сколько читать
   );
Pregunta sobre el tamaño del array[]: ¿debo establecer el tamaño del array[] antes de utilizarlo enFileReadArray() o el "terminal runtime" se encargará de su tamaño en este caso?
 
Yedelkin:
Pregunta sobre el tamaño del array[]: ¿debo establecer el tamaño del array[] antes de utilizarlo enFileReadArray() o el "sistema de ejecución del terminal" se encargará del tamaño en este caso?

No, la función distribuirá la memoria para la cantidad necesaria de datos en el archivo.

Por cierto, se pueden leer matrices de estructuras simples de la misma manera, si fueron escritas allí.

La función FileReadArray() no reconoce el tipo de datos guardados, así que tenga cuidado, esta es una de las características, puede guardar duplicados y leerlos como una colocación y parsearlos en bits.

 

Genial.

Urain:

La función FileReadArray() no reconoce el tipo de datos guardados, así que ten cuidado, esta es una de las características, puedes guardar duplicados y leerlos como punto flotante y parsearlos en bits.

Por lo tanto, las matrices deben ser del mismo tipo al guardar y leer, ¿no? ¿Es suficiente?

 
Yedelkin:

Genial.

Así que las matrices deben ser del mismo tipo al guardar y leer, ¿estoy en lo cierto? ¿Es suficiente?

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

La descripción dice:

common_flag

[in] Bandera que define la ubicación del archivo. Si common_flag=FILE_COMMON, el archivo está en la carpeta compartida de todos los terminales cliente. De lo contrario, el archivo se encuentra en la carpeta local.

Si el archivo fuente está en la carpeta compartida, entonces common_flag=FILE_COMMON, esto es comprensible. Pero si el archivo se encuentra en una carpeta local, ¿qué bandera debe especificarse? El parámetro common_flag no es predeterminado, lo que significa que se debe especificar algún valor de todos modos.
 
Yedelkin:

La descripción dice:

Si el archivo fuente está en una carpeta compartida, entonces common_flag=FILE_COMMON, está claro. Pero si el archivo se encuentra en una carpeta local, ¿qué bandera debe especificarse? El parámetro common_flag no es predeterminado, por lo que debe especificarse algún valor de todos modos.
Si no se especificaFILE_COMMON, el valor por defecto es en la carpeta local.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5