#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
#import "libmysql.dll"int mysql_get_client_info(); // функция вернула char*#import "msvcrt.dll"int strcpy(uchar &strDestination[], int strSource); // копируем NULL-строку из source в байтовый массив #importvoidOnStart()
{
uchar byte[100]; int ptr;
ptr=mysql_get_client_info(); // получили указатель на строку
strcpy(byte, ptr); // скопировали его в массивstring st=CharArrayToString(byte); Print("client_info="+st); // вывели на печать
}
如果函数返回一个指针,它就是一个普通的int(4字节)值。
我们将在memcpy 或strcpy中进一步使用这个int(如果我们知道它是一个以NULL结尾的字符串)。
所以,对于我们的公羊,我们需要函数来获得长度。
是
mysql_num_fields
mysql_fetch_lengths
所以对于我们的公羊,我们将需要函数来获得长度。
是
mysql_num_fields
mysql_fetch_lengths
没有太多的信息可以让人完全理解(对于初级程序员)。
要完全理解的信息不多(初级程序员)。
例如,MySQL的什么功能在MQL中很难使用?
例如,在MQL中工作时,MySQL的什么功能会导致困难?
返回一个数组的数据,我想这是唯一还没有完全解决的问题。
P.S. 发布函数的完整代码,以从MQL4的数据库中返回数据阵列。我明白这是有可能做到的。
数据数组的返回,我想这是唯一还没有完全解决的问题。
P.S. 发布函数的完整代码,以从MQL4的数据库中返回数据阵列。我明白,这是有可能做到的。
在这里,我不想走得太远,我将以mysql_get_client_info为例来说明。
它返回一个指向以NULL为结尾的字符串的指针(char*)。
我们正在做的。
就这样了。同理,所有东西都是从其他返回指针的函数中提取的。
PS
对不起,这不是MQL4。
这就是全部。
那么,所有这些都是针对mql5的,而对于4来说是不可能实现的?
我认为这将是类似的。只是有必要在memcpy 中操作类型(而不是用uchar给int[]或string&)。 ,如果你得到结果(或没有),请告诉我。
我想这是一样的。只是你需要在memcpy中操作类型(而不是Uchar给int[]或string&)。
试试吧,如果你有结果(或没有),请告诉我。
下面是一个mysql_get_client_info的例子
它返回一个指向以NULL为结尾的字符串的指针(char*)。
我们正在做的。
就这样了。同理,所有东西都是从其他返回指针的函数中提取的。
PS
对不起,这不是MQL4。
你能从mysql_fetch_row得到正常的结果吗?我突然需要一块肌肉,幸运的是,在一次终端更新 后,我的方法破产了。
你是否设法从mysql_fetch_row获得正常的结果?我突然需要一根筋,而且尽可能在终端更新后,我的方法被搞乱了。
是的,一切工作都很完美,但到目前为止,我只为MQL5做了这件事。
在我的帖子中,有一个例子说明了它是如何工作的。