MySQL'i MQ4'e ekleyin - sayfa 4

 

işlev bir işaretçi döndürürse, bu normal int (4 bayt) bilgisidir

gelecekte bu int'yi memcpy veya strcpy'de kullanırız (eğer bunun NULL ile sonlandırılmış bir dize olduğunu biliyorsak)

 #import "msvcrt.dll"
         int memcpy( uchar &Destination[], uchar &Source[], int Length);
         int memcpy( uchar &Destination[], int Source, int Length);
         int memcpy( int Destination, uchar &Source[], int Length);
#import

bu yüzden koçlarımız için Uzunluğu alacak fonksiyonlara ihtiyacımız var.

Bu

mysql_num_fields

mysql_fetch_lengths

 
sergeev :

bu yüzden koçlarımız için Uzunluğu alacak fonksiyonlara ihtiyacımız var.

Bu

mysql_num_fields

mysql_fetch_lengths

Tam bir anlayış için ( acemi programcılar ) bilgi yeterli değildir.

 
HIDDEN :

Tam bir anlayış için (yeni başlayan programcılar) bilgi yeterli değildir.


peki, örneğin? MQL'de çalışırken hangi MySQL işlevi zorluklara neden olur?
 
sergeev :

peki, örneğin? MySQL'in hangi işlevi MQL'de çalışırken zorluklara neden olur?

Bir dizi veriyi döndürmek, bence tam olarak çözülmemiş tek sorun bu.

PS MQL4'teki veritabanından bir veri dizisi döndürme işlevinin tam kodunu gönderin. Bunun yapıldığını anlıyorum.

 
HIDDEN :

Bir dizi veriyi döndürmek, bence tam olarak çözülmemiş tek sorun bu.

PS MQL4'teki veritabanından bir veri dizisi döndürme işlevinin tam kodunu gönderin. Bunun yapıldığını anlıyorum.


bak, ormana fazla girmemek için sana mysql_get_client_info örneğini göstereceğim

NULL ile sonlandırılmış bir dizeye bir işaretçi döndürür (char*)

Biz ne yapıyoruz:

 #import "libmysql.dll"
     int mysql_get_client_info(); // функция вернула char*
#import "msvcrt.dll"
     int strcpy( uchar &strDestination[], int strSource); // копируем NULL-строку из source в байтовый массив 
#import

void OnStart ()
{
     uchar byte[ 100 ]; int ptr;
    ptr=mysql_get_client_info(); // получили указатель на строку
    strcpy(byte, ptr); // скопировали его в массив
     string st= CharArrayToString (byte); Print ( "client_info=" +st); // вывели на печать
}

Ve bu kadar. BENZER OLARAK, her şey işaretçiler döndüren diğer işlevlerden çekilir.

not
Maalesef MQL4 değil.

 
sergeev :

Ve bu kadar.

Yani bunların hepsi mql5 için, ancak 4-ki için uygulama imkansız mı?
 
HIDDEN :
Yani bunların hepsi mql5 için, ancak 4-ki için uygulama imkansız mı?

benzer olacağını düşünüyorum. sadece memcpy türüyle çağrıştırmanız gerekir (uchar give int[] veya string& yerine).
deneyin, bir sonuç (veya eksikliği) varsa, abonelikten çıkın
 
sergeev :

benzer olacağını düşünüyorum. sadece memcpy türüyle çağrıştırmanız gerekir (uchar give int[] veya string& yerine).
deneyin, bir sonuç (veya eksikliği) varsa, abonelikten çıkın
Bükülmüş, bükülmüş ve bu şekilde ve bu, 4-ke'de bana hiçbir şey olmadı. Bazen terminal bile tamamen düşüyor.
 
sergeev :

bak, ormana fazla girmemek için sana mysql_get_client_info örneğini göstereceğim

NULL ile sonlandırılmış bir dizeye bir işaretçi döndürür (char*)

Biz ne yapıyoruz:

Ve bu kadar. BENZER OLARAK, her şey işaretçiler döndüren diğer işlevlerden çekilir.

not
Maalesef MQL4 değil.


mysql_fetch_row'dan normal sonuçlar almayı başardınız mı? Ve sonra aniden bir kasa ihtiyacım vardı ve ne yazık ki terminali güncelledikten sonra yöntemim ele alındı.
 
Graff :

mysql_fetch_row'dan normal sonuçlar almayı başardınız mı? Ve sonra aniden bir kasa ihtiyacım vardı ve ne yazık ki terminali güncelledikten sonra yöntemim ele alındı.

evet, her şey mükemmel çalışıyor, ancak şimdiye kadar sadece MQL5 için yaptım

yazımda yukarıdan çalışma örneği