Hola,
Prueba agregando la bandera FILE_SHARE_READ, que tiene ese proposito
Quedaria asi:
Por cierto, no olvides que en el foro, se debe poner codigo en las etiquetas correctas
Saludos!
Prueba agregando la bandera FILE_SHARE_READ, que tiene ese proposito
Quedaria asi:
int file_handle=FileOpen("alga.txt",FILE_WRITE|FILE_TXT|FILE_COMMON|FILE_SHARE_READ );
Por cierto, no olvides que en el foro, se debe poner codigo en las etiquetas correctas
Saludos!
La bandera que te han dado debería funcionarte, sino tendrás que solicitar un soporte oficial.
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Buenos días. Tengo un script que escribe en un fichero(un bloc de notas txt) en la carpeta Common(C:\Users\Usuario\AppData\Roaming\MetaQuotes\Terminal\Common\Files) las cotizaciones de diferentes divisas. Sin embargo, cuando quiero leer ese archivo desde otro programa, como R, me da error.
El error únicamente se da cuando intento leer un archivo que ha sido manipulado por mql5, es decir, si en la carpeta Common me creo directamente un archivo bloc de notas y me escribo una matriz, o lo que sea, R me lo lee sin ningun problema. En cambio, cuando hago que mi script escriba en ese mismo archivo, o cuando el script crea un nuevo archivo, no puedo leerlo desde R, y estoy seguro de que me da error porque mql5 ha escrito en él. También me pasa en otras carpetas con archivos que hayan sido escritos por mql5.
Este es un código básico para hacer pruebas de escritura de ficheros
void OnStart()
{
int file_handle=FileOpen("alga.txt",FILE_WRITE|FILE_TXT|FILE_COMMON);
for(int i=0;i<3;i++){
FileWrite(file_handle,i+" "+(i+3)+" "+(i+6));
}
FileClose(file_handle);
}
Y este es el error que me da R:
Warning messages:
1: In read.table("C:/Users/Usuario/AppData/Roaming/MetaQuotes/Terminal/Common/Files/alga.txt", :
line 1 appears to contain embedded nulls
2: In read.table("C:/Users/Usuario/AppData/Roaming/MetaQuotes/Terminal/Common/Files/alga.txt", :
line 2 appears to contain embedded nulls
3: In read.table("C:/Users/Usuario/AppData/Roaming/MetaQuotes/Terminal/Common/Files/alga.txt", :
line 3 appears to contain embedded nulls
4: In read.table("C:/Users/Usuario/AppData/Roaming/MetaQuotes/Terminal/Common/Files/alga.txt", :
line 4 appears to contain embedded nulls
5: In read.table("C:/Users/Usuario/AppData/Roaming/MetaQuotes/Terminal/Common/Files/alga.txt", :
line 5 appears to contain embedded nulls
6: In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
embedded nul(s) found in input
Este es el codigo de R:
W<-read.table("C:/Users/Usuario/AppData/Roaming/MetaQuotes/Terminal/Common/Files/alga.txt",header=FALSE,sep="")
Como he dicho, esa misma linea de codigo me abre sin problemas archivos de la carpeta Common que no hayan sido manipulados por mql5, pero siempre que intento abrir algo manipulado por mql5 me da error. ¿Alguien sabe como puede arreglarse?
Gracias