Come leggere e scrivere dati dall'esterno della cartella metatrader - pagina 4

 
qjol:

Hai già tutte le risposte di cui hai bisogno in questo post
La domanda è se vuoi solo qualcuno che scriva per te l'intero codice

NO Caro, voglio un codice di esempio che io possa usare e poi provare, tutto qui. Se tu mi aiuti, allora sarà più utile per me.
 

Questa funzione è definita in WinFile_v600.mqh intorno alla linea 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:

Questa funzione è definita in WinFile_v600.mqh intorno alla linea 152:



Ciao grazie ottenendo qualche idea ho aggiunto WinFile_v600.mqh ma avendo ancora errore

'OpenNewFileForWriting' - funzione già definita e con corpo Sto usando questo codice per leggere il file aperto nel percorso particolare

//+------------------------------------------------------------------+
//|                                              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));
}
   
 
Forse dovrete pagare qualcuno che codifichi questo per voi o dovrete leggere i documenti di MT4.
 
gooly:
Forse dovrete pagare un tecnico per codificare questo per voi o dovrete leggere i documenti di MT4.

Quindi non hai intenzione di aiutare, giusto? Per favore, ho solo bisogno di un codice di esempio.
 

È frustrante e inutile aiutarvi se ovviamente non capite cosa significa:

'OpenNewFileForWriting' - funzione già definita

e cambiate il vostro codice di conseguenza.

 
gooly:

È frustrante e inutile aiutarvi se ovviamente non capite cosa significa:

'OpenNewFileForWriting' - funzione già definita

e cambia il tuo codice di conseguenza.


Sì capisco grazie per il tuo aiuto ora ho bisogno di leggere il file e scrivere questa funzione devo per leggere e scrivere il file il file ?? Se sì allora che cosa il buffer e byte qui ??

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

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

 

che state già usando

#include <WinFile_v600.mqh>

non c'è bisogno di importare di nuovo la funzione

ankityadav:

'OpenNewFileForWriting' - funzione già definita e con corpo Sto usando questo codice per leggere il file aperto nel percorso particolare

 
qjol:

che state già usando

non c'è bisogno di importare di nuovo la funzione



Sì, ho capito, ho cambiato il mio codice e ora funziona