Metatrader klasörünün dışından veri nasıl okunur ve yazılır - sayfa 4

 
qjol :

Bu yazıda ihtiyacınız olan tüm cevaplar zaten var
Soru şu ki, birisinin sizin için tüm kodu yazmasını istiyor musunuz?

HAYIR Sevgili, kullanabileceğim bir örnek kod istiyorum, o zaman dene bu kadar Bana yardım edersen, bu benim için daha yararlı olacaktır.
 

Bu işlev WinFile_v600.mqh içinde satır 152 civarında tanımlanmıştır:

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 :

Bu işlev WinFile_v600.mqh içinde satır 152 civarında tanımlanmıştır:



Merhaba teşekkürler, biraz fikir edindim WinFile_v600.mqh ekledim ama hala hata alıyorum

'OpenNewFileForWriting' - işlev zaten tanımlanmış ve gövdeye sahip Dosyayı belirli bir yolda açmak için bu kodu kullanıyorum

 //+------------------------------------------------------------------+
//|                                              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 ));
}
   
 
öyle ödemek zorunda kalabilirsin. Bunu sizin için kodlamak için veya MT4-docs'u okumalısınız.
 
gooly :
Bunu sizin için kodlamak için tp ödemeniz olabilir veya MT4-docs'u okumanız gerekebilir.

yani yardım etmeyeceksin ??Lütfen sadece bir örnek koda ihtiyacınız var ????
 

Bunun ne anlama geldiğini açıkça anlamadıysanız, size yardım etmek sinir bozucu ve gereksizdir:

'OpenNewFileForWriting' - işlev zaten tanımlanmış

ve kodunuzu buna göre değiştirin.

 
gooly :

Bunun ne anlama geldiğini açıkça anlamadıysanız, size yardım etmek sinir bozucu ve gereksizdir:

'OpenNewFileForWriting' - işlev zaten tanımlanmış

ve kodunuzu buna göre değiştirin.


Evet anladım yardımınız için teşekkürler şimdi dosyayı okumam ve bu fonksiyonu yazmam gerekiyor dosyayı okumak ve yazmak için yapmam gereken bu fonksiyon ? Evet ise o zaman buradaki tampon ve bayt nedir ??

int _lread (int tanıtıcı, dize arabelleği, int bayt);

int _lwrite (int tanıtıcı, dize arabelleği, int bayt);

 

zaten kullanıyorsun

 #include <WinFile_v600.mqh>

işlevi tekrar içe aktarmaya gerek yok

ankityadav :

'OpenNewFileForWriting' - işlev zaten tanımlanmış ve gövdeye sahip Dosyayı belirli bir yolda açmak için bu kodu kullanıyorum

 
qjol :

zaten kullanıyorsun

işlevi tekrar içe aktarmaya gerek yok



Evet Anladım kodumu değiştirdim ve şimdi çalışıyor