WINAPI
busca en el foro hay muchos ejemplos
qjol:
WINAPI
busca en el foro hay muchos ejemplos
Hola, gracias por tu respuesta pero quiero escribir los datos en formato csv y todos los ejemplos que veo son para formato de texto, ¿puedes ayudarme a conseguirlo?
ankityadav:
Hola, gracias por su respuesta, pero quiero escribir los datos en formato csv y todos los ejemplos que veo es para el formato de texto puede usted por favor ayudar a hw para conseguir que?
Hola, gracias por su respuesta, pero quiero escribir los datos en formato csv y todos los ejemplos que veo es para el formato de texto puede usted por favor ayudar a hw para conseguir que?
Haz que funcione primero. Entonces sabrás que hacer después.
deysmacro:
Primero haz que funcione. Entonces sabrá qué hacer a continuación.
Primero haz que funcione. Entonces sabrá qué hacer a continuación.
Gracias por su respuesta, pero no está funcionando cuando estoy tratando de leer el archivo de la carpeta diferente y escribir el archivo
//+------------------------------------------------------------------+ //| File Read Write.mq4 | //| Copyright © 2008, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" // êîíñòàíòû äëÿ ôóíêöèè _lopen #define OF_READ 0 #define OF_WRITE 1 #define OF_READWRITE 2 #define OF_SHARE_COMPAT 3 #define OF_SHARE_DENY_NONE 4 #define OF_SHARE_DENY_READ 5 #define OF_SHARE_DENY_WRITE 6 #define OF_SHARE_EXCLUSIVE 7 #import "kernel32.dll" int _lopen (string path, int of); int _lcreat (string path, int attrib); int _llseek (int handle, int offset, int origin); int _lread (int handle, string buffer, int bytes); int _lwrite (int handle, string buffer, int bytes); int _lclose (int handle); #import // _lopen : Îòêpûâàåò óêàçàííûé ôàéë. Âîçâpàùàåò: îïèñàòåëü ôàéëà. // _lcreat : Ñîçäàåò óêàçàííûé ôàéë. Âîçâpàùàåò: îïèñàòåëü ôàéëà. // _llseek : Óñòàíàâëèâàåò óêàçàòåëü â îòêpûòîì ôàéëå. Âîçâpàùàåò: // íîâîå ñìåùåíèå óêàçàòåëÿ. // _lread : Ñ÷èòûâàåò èç îòêpûòîãî ôàéëà óêàçàííîå ÷èñëî áàéò. // Âîçâpàùàåò: ÷èñëî ñ÷èòàííûõ áàéò; 0 - åñëè êîíåö ôàéëà. // _lwrite : Çàïèñûâàåò äàííûå èç áóôåpà â óêàçàííûé ôàéë. Âîçâpàùàåò: // ÷èñëî çàïèñàííûõ áàéò. // _lclose : Çàêpûâàåò óêàçàííûé ôàéë. Âîçâpàùàåò: 0. //  ñëó÷àå íåóñïåøíîãî çàâåpøåíèÿ âñå ôóíêöèè âîçâðàùàþò çíà÷åíèå // HFILE_ERROR=-1. // path : Ñòpîêà, îïpåäåëÿþùàÿ ïóòü è èìÿ ôàéëà. // of : Ñïîñîá îòêðûòèÿ. // attrib : 0 - ÷òåíèå èëè çàïèñü; 1 - òîëüêî ÷òåíèå; 2 - íåâèäèìûé èëè // 3 - ñèñòåìíûé. // handle : Ôàéëîâûé îïèñàòåëü. // offset : ×èñëî áàéò, íà êîòîpîå ïåpåìåùàåòñÿ óêàçàòåëü. // origin : Óêàçûâàåò íà÷àëüíóþ òî÷êó è íàïpàâëåíèå ïåpåìåùåíèÿ: 0 - // âïåpåä îò íà÷àëà; 1 - ñ òåêóùåé ïîçèöèè; 2 - íàçàä îò êîíöà ôàéëà. // buffer : Ïpèíèìàþùèé/çàïèñûâàåìûé áóôåp. // bytes : ×èñëî ñ÷èòûâàåìûõ áàéò. // Ñïîñîáû îòêðûòèÿ (ïàðàìåòð of): // int OF_READ =0; // Îòêðûòü ôàéë òîëüêî äëÿ ÷òåíèÿ // int OF_WRITE =1; // Îòêðûòü ôàéë òîëüêî äëÿ çàïèñè // int OF_READWRITE =2; // Îòêðûòü ôàéë â ðåæèìå çàïèñü/÷òåíèå // int OF_SHARE_COMPAT =3; // Îòêðûâàåò ôàéë â ðåæèìå îáùåãî // ñîâìåñòíîãî äîñòóïà.  ýòîì ðåæèìå ëþáîé ïðîöåññ ìîæåò îòêðûòü äàííûé // ôàéë ëþáîå êîëè÷åñòâî ðàç. Ïðè ïîïûòêå îòêðûòü ýòîò ôàéë â ëþáîì äðóãîì // ðåæèìå, ôóíêöèÿ âîçâðàùàåò HFILE_ERROR. // int OF_SHARE_DENY_NONE =4; // Îòêðûâàåò ôàéë â ðåæèìå îáùåãî äîñòóïà // áåç çàïðåòà íà ÷òåíèå/çàïèñü äðóãèì ïðîöåññàì. Ïðè ïîïûòêå îòêðûòèÿ // äàííîãî ôàéëà â ðåæèìå OF_SHARE_COMPAT, ôóíêöèÿ âîçâðàùàåò HFILE_ERROR. // int OF_SHARE_DENY_READ =5; // Îòêðûâàåò ôàéë â ðåæèìå îáùåãî äîñòóïà ñ // çàïðåòîì íà ÷òåíèå äðóãèì ïðîöåññàì. Ïðè ïîïûòêå îòêðûòèÿ äàííîãî ôàéëà // ñ ôëàãàìè OF_SHARE_COMPAT è/èëè OF_READ èëè OF_READWRITE, ôóíêöèÿ // âîçâðàùàåò HFILE_ERROR. // int OF_SHARE_DENY_WRITE=6; // Òîæå ñàìîå, òîëüêî ñ çàïðåòîì íà çàïèñü. // int OF_SHARE_EXCLUSIVE =7; // Çàïðåò òåêóùåìó è äðóãèì ïðîöåññàì íà // äîñòóï ê ýòîìó ôàéëó â ðåæèìàõ ÷òåíèÿ/çàïèñè. Ôàéë â ýòîì ðåæèìå ìîæíî // îòêðûòü òîëüêî îäèí ðàç (òåêóùèì ïðîöåññîì). Âñå îñòàëüíûå ïîïûòêè // îòêðûòèÿ ôàéëà áóäóò ïðîâàëåíû. //+------------------------------------------------------------------+ //| ïðî÷èòàòü ôàéë è âåðíóòü ñòðîêó ñ ñîäåðæèìûì | //+------------------------------------------------------------------+ int start() { //---- string buffer=ReadFile("C:\Documents and Settings\Administrator\My Documents\Downloads\test.txt"); int count=StringLen(buffer); Print("Ïðî÷èòàíî áàéò:",count); WriteFile("C:\Documents and Settings\Administrator\My Documents\Downloads\test2.txt",buffer); //---- return(0); } string ReadFile (string path) { int handle=_lopen (path,OF_READ); if(handle<0) { Print("Îøèáêà îòêðûòèÿ ôàéëà ",path); return (""); } int result=_llseek (handle,0,0); if(result<0) { Print("Îøèáêà óñòàíîâêè óêàçàòåëÿ" ); return (""); } string buffer=""; string char1="x"; int count=0; result=_lread (handle,char1,1); while(result>0) { buffer=buffer+char1; char1="x"; count++; result=_lread (handle,char1,1); } result=_lclose (handle); if(result<0) Print("Îøèáêà çàêðûòèÿ ôàéëà ",path); return (buffer); } //+------------------------------------------------------------------+ //| çàïèñàòü ñîäåðæèìîå áóôåðà ïî óêàçàííîìó ïóòè | //+------------------------------------------------------------------+ void WriteFile (string path, string buffer) { int count=StringLen (buffer); int result; int handle=_lopen (path,OF_WRITE); if(handle<0) { handle=_lcreat (path,0); if(handle<0) { Print ("Îøèáêà ñîçäàíèÿ ôàéëà ",path); return; } result=_lclose (handle); } handle=_lopen (path,OF_WRITE); if(handle<0) { Print("Îøèáêà îòêðûòèÿ ôàéëà ",path); return; } result=_llseek (handle,0,0); if(result<0) { Print("Îøèáêà óñòàíîâêè óêàçàòåëÿ"); return; } result=_lwrite (handle,buffer,count); if(result<0) Print("Îøèáêà çàïèñè â ôàéë ",path," ",count," áàéò"); result=_lclose (handle); if(result<0) Print("Îøèáêà çàêðûòèÿ ôàéëà ",path); } //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+
C:\Documents and Settings\Administrator\My Documents\Downloads\test.txtSólo tienes que cambiar el directorio a C:\Ny asegurarte de que test.txt ha sido creado por ti.
deysmacro:
Sólo tienes que cambiar el directorio a C:\Ny asegurarte de que test.txt ha sido creado por ti.
Sólo tienes que cambiar el directorio a C:\Ny asegurarte de que test.txt ha sido creado por ti.
No entiendo lo puse en la carpeta de descarga y he creado los dos archivos, pero no funciona y no entiendo lo que está diciendo? Es necesario poner el archivo en la carpeta c:?
Tal vez sea mejor usar: https://c.mql5.com/mql4/forum/2014/03/WinFile_v600.mqh
Gracias pero no entiendo antes estoy usando kernel y ahora Winfile ????
gooly:
¿Lo has mirado? Busca kernel32.
¿Lo has mirado? Busca kernel32.
Gracias, ya he buscado esto, pero ¿podría decirme un ejemplo de operación de lectura y escritura en un archivo csv en cualquier carpeta?
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
Hola a todos, ¿podéis ayudarme a leer y escribir archivos desde carpetas externas, podéis mostrarme un pequeño código para que lo entienda?
Muchas gracias