WINAPI
포럼을 검색하십시오 많은 예가 있습니다
qjol :
WINAPI
포럼을 검색하십시오 많은 예가 있습니다
안녕하세요 답장을 보내주셔서 감사합니다만 csv 형식으로 데이터를 작성하고 싶습니다. 제가 보는 모든 예는 텍스트 형식에 대한 것입니다. 어떻게 얻을 수 있도록 도와주시겠습니까 ???
ankityadav :
안녕하세요 답장을 보내주셔서 감사합니다만 csv 형식으로 데이터를 작성하고 싶습니다. 제가 보는 모든 예는 텍스트 형식에 대한 것입니다. 어떻게 얻을 수 있도록 도와주시겠습니까 ???
안녕하세요 답장을 보내주셔서 감사합니다만 csv 형식으로 데이터를 작성하고 싶습니다. 제가 보는 모든 예는 텍스트 형식에 대한 것입니다. 어떻게 얻을 수 있도록 도와주시겠습니까 ???
먼저 작동하도록 합니다. 그러면 다음에 무엇을 해야 하는지 알게 될 것입니다.
deysmacro :
먼저 작동하도록 합니다. 그러면 다음에 무엇을 해야 하는지 알게 될 것입니다.
먼저 작동하도록 합니다. 그러면 다음에 무엇을 해야 하는지 알게 될 것입니다.
답장해주셔서 감사합니다만 다른 폴더에서 파일을 읽고 파일을 쓰려고 할 때 작동하지 않습니다
//+------------------------------------------------------------------+ //| 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.txt디렉토리를 C:\로 변경하고 test.txt가 생성되었는지 확인하십시오.
deysmacro :
디렉토리를 C:\로 변경하고 test.txt가 생성되었는지 확인하십시오.
디렉토리를 C:\로 변경하고 test.txt가 생성되었는지 확인하십시오.
나는 그것을 다운로드 폴더에 넣은 것을 이해하지 못하고 두 파일을 모두 생성했지만 작동하지 않고 당신의 말을 이해하지 못합니다 ?? 파일을 c:folder에 넣어야 합니까 ???
감사하지만 커널을 사용하고 지금은 Winfile을 사용하기 전에는 이해할 수 없습니다 ????
gooly :
살펴보았습니까? kernel32를 검색합니다.
살펴보았습니까? kernel32를 검색합니다.
감사합니다 나는 이미 이것을 검색하고 있지만 어떤 폴더의 csv 파일에서 파리 읽기 쓰기 작업의 샘플을 알려주실 수 있습니까 ??
안녕하세요 여러분, 외부 폴더에서 파일을 읽고 쓰는 방법을 도와주시겠습니까? 제가 이해할 수 있도록 작은 코드를 보여 주시겠습니까?
많은 감사