메타 트레이더 폴더 외부에서 데이터를 읽고 쓰는 방법 - 페이지 4

 
qjol :

이 게시물에 필요한 모든 답변이 이미 있습니다.
문제는 누군가가 당신을 위해 전체 코드를 작성해주기를 원하십니까?

아니오 친애하는 제가 사용할 수 있는 샘플 코드를 원합니다. 그런 다음 시도해 보세요. 도움이 된다면 더 도움이 될 것입니다.
 

함수 는 WinFile_v600.mqh 152번째 줄에 정의되어 있습니다.

int OpenNewFileForWriting( string FileName, bool ShareForReading = false )
{
   int ShareMode = 0 ;
   if (ShareForReading) ShareMode = WIN32_FILE_SHARE_READ;
   return (CreateFileW(FileName, GENERIC_WRITE, ShareMode, 0 , CREATE_ALWAYS, 0 , 0 ));
}
 
gooly :

이 함수는 WinFile_v600.mqh 152번째 줄에 정의되어 있습니다.



안녕하세요 덕분에 WinFile_v600.mqh를 추가했지만 여전히 오류가 있습니다.

'OpenNewFileForWriting' - 함수 가 이미 정의되어 있고 본문이 있습니다. 이 코드를 사용하여 특정 경로에서 열린 파일을 읽습니다.

 //+------------------------------------------------------------------+
//|                                              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
#include <WinFile_v600.mqh>
#import "kernel32.dll"
   int _lopen  ( string path, int of);
   int _lcreat ( string path, int attrib);
   int   GetEnvironmentVariableW ( string lpName, string & lpBuffer, int nSize);
   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

int start()
  {
//----
       string fName= " " ;
         string f = "12345678 1 2345678 2 2345678 3 2345678 4 2345678 5 2345678 6 2345678 7 2345678 8 2345678 9 23456789" ;
        GetEnvironmentVariableW( "USERPROFILE" , f, StringLen (f));
        fName = f + "C:\Documents and Settings\Administrator\My Documents\Downloads\test.text" + fName;
         int handle;
        handle=OpenNewFileForWriting(fName);  
//----
   return ( 0 );
  }
   int OpenNewFileForWriting( string FileName, bool ShareForReading = false )
{
   int ShareMode = 0 ;
   if (ShareForReading) ShareMode = WIN32_FILE_SHARE_READ;
   return (CreateFileW(FileName, GENERIC_WRITE, ShareMode, 0 , CREATE_ALWAYS, 0 , 0 ));
}
   
 
당신이 그렇게 지불해야 할 수도 있습니다. 이것을 코딩하려면 MT4-docs 를 읽어야 합니다.
 
gooly :
이것을 코딩하기 위해 tp pay가 있거나 MT4-docs 를 읽어야 할 수 있습니다.

그래서 당신은 바로 도움이되지 않을거야??샘플 코드가 필요합니다 ???
 

이것이 의미하는 바를 분명히 이해하지 못한다면 실망스럽고 도움이 필요하지 않습니다.

'OpenNewFileForWriting' - 이미 정의된 함수

그에 따라 코드를 변경하십시오.

 
gooly :

이것이 의미하는 바를 분명히 이해하지 못한다면 실망스럽고 도움이 필요하지 않습니다.

'OpenNewFileForWriting' - 이미 정의된 함수

그에 따라 코드를 변경하십시오.


네, 도움을 주셔서 감사합니다. 이제 파일을 읽고 파일을 읽고 쓰는 데 필요한 이 기능 을 작성해야 합니다. 그렇다면 여기에서 버퍼와 바이트는 얼마입니까 ??

int _lread (int 핸들, 문자열 버퍼, int 바이트);

int _lwrite(int 핸들, 문자열 버퍼, int 바이트);

 

당신은 이미 사용

 #include <WinFile_v600.mqh>

함수 를 다시 가져올 필요가 없습니다.

ankityadav :

'OpenNewFileForWriting' - 함수가 이미 정의되어 있고 본문이 있습니다. 이 코드를 사용하여 특정 경로에서 열린 파일을 읽습니다.

 
qjol :

당신은 이미 사용

함수를 다시 가져올 필요가 없습니다.



예 알겠습니다. 코드를 변경했으며 이제 작동합니다.