この int をさらにmemcpy または strcpy で利用します(NULL 終端の文字列であることが分かっている場合)。
#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 バイト) 値です。
この int をさらにmemcpy または strcpy で利用します(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*)へのポインタを返します。
していることです。
そして、それだけです。アナログ的には、ポインターを返す他の関数からすべてが引き出されます。
追記
MQL4でなくてすみません。
以上です。
これって全部mql5用で、4では実装不可能なんですか?
ただ、memcpyの 際にuchar give int[]やstring&の代わりにtypeで操作する必要があります。 試してみて、結果が出たら(あるいは出なかったら)教えて下さい。
ただ、memcpyの際にuchar give int[]やstring&の代わりにtypeで操作する必要があるだけだと思います。
を試してみて、結果が出たら(あるいは出なくても)教えてください。
以下は、mysql_get_client_info の例です。
NULL終端文字列(char*)へのポインタを返します。
していることです。
そして、それだけです。アナログ的には、ポインターを返す他の関数からすべてが引き出されます。
追記
MQL4でなくてすみません。
mysql_fetch_rowから正常な結果を得ることができましたか?急に筋肉が必要になり、運良く端末のアップデート 後、私のやり方は破綻してしまいました。
mysql_fetch_rowから正常な結果を得ることができましたか?急に筋肉が必要になり、端末のアップデート後に思いっきり自分のやり方がダメになりました。
はい、すべて完璧に動作しますが、今のところMQL5に対してしか行っていません
私の投稿の上から見た動作の一例