Como ler e escrever dados do lado de fora da pasta metatrader - página 4

 
qjol:

Você já tem todas as respostas que precisa neste post
A questão é se você só quer que alguém escreva para você o código inteiro

NÃO Prezado Eu quero um código de amostra pelo qual eu possa usar, então tente isso Se você me ajudar, isso será mais útil para mim.
 

Esta função é definida no WinFile_v600.mqh em torno da linha 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:

Esta função é definida no WinFile_v600.mqh em torno da linha 152:



Olá, obrigado por ter tido uma idéia, adicionei WinFile_v600.mqh mas ainda com erro.

OpenNewFileForWriting' - função já definida e tem corpo que estou usando este código para ler o arquivo aberto no caminho particular

//+------------------------------------------------------------------+
//|                                              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));
}
   
 
pode ser que você tenha que pagar s.o. para codificar isto para você ou que você tenha que ler os docs MT4.
 
gooly:
pode ser que você tenha que pagar s.o. para codificar isto para você ou que você tenha que ler o MT4-docs.

por isso, você não vai ajudar ??por favor, só precisa de um código de amostra ???
 

É frustrante e desnecessário ajudá-lo se você obviamente não entender o que isto significa:

OpenNewFileForWriting' - função já definida

e altere seu código de acordo.

 
gooly:

É frustrante e desnecessário ajudá-lo se você obviamente não entender o que isto significa:

OpenNewFileForWriting' - função já definida

e altere seu código de acordo.


Sim, entendo obrigado por sua ajuda agora eu preciso ler o arquivo e escrevê-lo é esta função que eu preciso para ler e escrever o arquivo o arquivo ??Se sim, então o que o buffer e os bytes aqui ??

int _lread (int handle, string buffer, int bytes);

int _lwrite (int handle, string buffer, int bytes);

 

você já usa

#include <WinFile_v600.mqh>

não há necessidade de importar a função novamente

ankityadav:

OpenNewFileForWriting' - função já definida e tem corpo que estou usando este código para ler o arquivo aberto no caminho particular

 
qjol:

você já usa

não há necessidade de importar a função novamente



Sim, consegui mudar meu código e agora está funcionando