MT4 Dosyaları İşlevlerinin Değiştirilmesi.

 

Merhaba millet,

Birçok insan bana dosya işleme işlevleri hakkında meta alıntılar sordu.

Bence MT4'ün bu işlevlerde çok fazla hatası var.

1- Geriye dönük testlerde çalışmıyorlar

2- "MetaTrader 4\experts\files" yolunun dışına yazmazlar.

Bugün Visual C++'ımı açtım ve MT4 için bir dosya işleme dll yazdım, umarım onu ve kaynak kodunu beğenirsiniz. .

Kurmak:

1- " mtguru1.dl l" dosyasını "MetaTrader 4\experts\libraries" yoluna çıkartın.

2- " FilesDemo.mq4 " dosyasını " MetaTrader 4\experts\indicators" yoluna çıkartın ve derleyin.

3- " gFiles.mqh " dosyasını " MetaTrader 4\experts\include" klasörüne çıkarın.

4- Göstergelerinizden FilesDemo'yu yükleyin - "DLL İçe Aktarmaya İzin Ver" seçeneğini etkinleştirmeyi unutmayın

5- Keyfini çıkarın.

Dosyalar:
mtguru1.zip  95 kb
 

Geri bildirim

Merhaba millet,

Herhangi bir geri bildirim lütfen ?

 

Valla ben test etmedim Ama işe yararsa.. Bu HARİKA!!

Demo .mq4 dosyasını kontrol ettim ve çok basit ve zarif. İyi iş.

Sahip olduğum tek sorun, yeni hatlar hakkında ne yapacağım.

Yeni bir satır yazmak için gFile'ı nasıl kullanırım?

 

Teşekkür etmek!

fivewhy:
Valla ben test etmedim Ama işe yararsa.. Bu HARİKA!!

Demo .mq4 dosyasını kontrol ettim ve çok basit ve zarif. İyi iş.

Sahip olduğum tek sorun, yeni hatlar hakkında ne yapacağım.

Yeni bir satır yazmak için gFile'ı nasıl kullanırım?

beş neden,

Yorumunuz için çok teşekkür ederim.

Yeni satır yazdırma sorununun benim için biraz çalışma gerektirdiğini düşünüyorum, Uyarı için teşekkürler.

 

aferin , ancak dosya işlevleri (diğerlerinin yanı sıra) doğrudan Windows API dll'lerinden kullanılabilir.

dosya kopyalama işlevi içe aktarma örneği:

#import "Kernel32.dll"

bool CopyFileA (dize kaynak_dosyası, hedef_dosya dizisi, bool if_exist);

DLL'lerle SQL veritabanı erişimi vb. gibi pek çok şey yapabilirsiniz.

 

kernel32.dll'de (ve diğer Windows .dll'lerde) bulunan tüm işlevlerin bir listesini nerede bulabilirim?

Düzenleme: Bulundu. ekli bakın.

Dosyalar:
kernel32.txt  306 kb
 

Bu doğru, ama?

Beluck:
aferin , ancak dosya işlevleri (diğerlerinin yanı sıra) doğrudan Windows API dll'lerinden kullanılabilir.

dosya kopyalama işlevi içe aktarma örneği:

#import "Kernel32.dll"

bool CopyFileA (dize kaynak_dosyası, hedef_dosya dizisi, bool if_exist);

DLL'lerle SQL veritabanı erişimi vb. gibi pek çok şey yapabilirsiniz.

Beluck,

Bu doğru , ancak bana .mql demosunu verebilir misiniz, kernel32 işlevlerinin CreateFile , OpenFile , WriteFile ve ReadFile MQL4'te nasıl kullanılacağını gösteriyor

HANDLE CreateFile(

LPCTSTR lpFileName,

DWORD dwDesiredAccess,

DWORD dwShareMode,

LPSECURITY_ATTRIBUTES lpSecurityAttributes,

DWORD dwCreationDisposition,

DWORD dwFlagsAndAttributes,

HANDLE hTemplateFile

);

HFILE OpenFile(

LPCSTR lpFileName,

LPOFSTRUCT lpReOpenBuff,

UINT uStyle

);

BOOL WriteFile(

HANDLE hFile,

LPCVOID lpBuffer,

DWORD nNumberOfBytesToWrite,

LPDWORD lpNumberOfBytesWritten,

LPOVERLAPPED lpOverlapped

);

BOOL ReadFile(

HANDLE hFile,

LPVOID lpBuffer,

DWORD nNumberOfBytesToRead,

LPDWORD lpNumberOfBytesRead,

LPOVERLAPPED lpOverlapped

);
 

ted

alerts.mqh mtguru1.zip'in parçası değil, FilesDemo'yu çalıştıramadı mı? Şimdiden teşekkürler.

 

gFiles.mqh

sx ted:
alerts.mqh mtguru1.zip'in parçası değil, FilesDemo'yu çalıştıramadı mı? Şimdiden teşekkürler.

seks ted,

Üzgünüm, " gFiles.mqh " demek istedim

FilesDemo'yu çalıştırmak için:

1- " mtguru1.dll " dosyasını " MetaTrader 4\experts\libraries " yoluna çıkartın.

2- " FilesDemo.mq4 " dosyasını " MetaTrader 4\experts\indicators " yoluna çıkartın ve derleyin.

3- " gFiles.mqh " dosyasını " MetaTrader 4\experts\include " klasörüne çıkarın.

4- Göstergelerinizden FilesDemo'yu yükleyin - " DLL İçe Aktarmaya İzin Ver " seçeneğini etkinleştirmeyi unutmayın

 

ted

CodersGuru, süper teşekkürler, FileTell() eşdeğeri var mı?

 

Güncellenmiş!

sx ted:
CodersGuru, süper teşekkürler, FileTell() eşdeğeri var mı?

seks ted,

Programı güncelledim. Şimdi şu işlevleri içeriyor:

int gFileOpen (dize dosya_adı, int modu);

bool gFileWrite (int tanıtıcı, dize verisi);

bool gFileClose (int tanıtıcı);

string gFileRead (int tutamaç,int uzunluk=0);

void gFileSeek (int tanıtıcı, int ofset, int modu);

bool gFileDelete (dize dosya_adı);

int gFileSize (int tanıtıcı);

int gFileTell (int tanıtıcı);

bool gFileFlush (int tanıtıcı);

bool gFileCopy (dize kaynağı, dize mesafesi, bool IfExists);

bool gFileMove (dize kaynağı, dize mesafesi);

Beğenmenizi ümit ederim.

Dosyalar:
mtguru1.zip  88 kb