если функция возвращает указатель, то это обычное int (4 байтовое) знаение
в дальнейшем этот int используем в memcpy или strcpy (если знаем, что это NULL-terminated строка)
#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
таким образом применительно к нашим баранам, нам понадобятся функции для получения длин Length.
Возврат массива данных, думаю эта единственная проблема которую так и не решили в полной мере.
P.S. Опубликуй полный код функции возврата массива данных из базы в MQL4. Я так понимаю, что это удалось сделать.
ну вот смотри, чтоб в дебри далеко не залазить, покажу на примере mysql_get_client_info
она возвращает указатель на NULL-terminated строку (char*)
что мы делаем:
#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); // вывели на печать
}
И всё. АНАЛОГИЧНО все вытягивается и из других функций которые возвращают указатели.
HIDDEN: Так это всё для mql5, а для 4-ки реализация невозможна?
думаю что будет аналогично. только поколдовать с типом в memcpy надо (вместо uchar дать int[] или string& ). попробуй, если будет результат (или отсутствие) то отпишись
думаю что будет аналогично. только поколдовать с типом в memcpy надо (вместо uchar дать int[] или string& ). попробуй, если будет результат (или отсутствие) то отпишись
Крутил, вертел и так и эдак, у меня ничего не вышло на 4-ке. Иной раз даже терминал вываливается полностью.
ну вот смотри, чтоб в дебри далеко не залазить, покажу на примере mysql_get_client_info
она возвращает указатель на NULL-terminated строку (char*)
что мы делаем:
И всё. АНАЛОГИЧНО все вытягивается и из других функций которые возвращают указатели.
PS Извини, что не MQL4.
Вам удалось получать нормальные результаты из mysql_fetch_row? А то мне внезапно понадобился мускул и как на зло после обновлений терминала мой метод накрылся.
Вам удалось получать нормальные результаты из mysql_fetch_row? А то мне внезапно понадобился мускул и как на зло после обновлений терминала мой метод накрылся.
да, все работает идеально, но пока сделал только для MQL5
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
если функция возвращает указатель, то это обычное int (4 байтовое) знаение
в дальнейшем этот int используем в memcpy или strcpy (если знаем, что это NULL-terminated строка)
таким образом применительно к нашим баранам, нам понадобятся функции для получения длин Length.
это
mysql_num_fields
mysql_fetch_lengths
таким образом применительно к нашим баранам, нам понадобятся функции для получения длин Length.
это
mysql_num_fields
mysql_fetch_lengths
Для полного понимания (начинающих программистов) информации маловато.
Для полного понимания (начинающих программистов) информации маловато.
ну например? работа какой функции из MySQL вызывает сложности при работе в MQL ?
ну например? работа какой функции из MySQL вызывает сложности при работе в MQL ?
Возврат массива данных, думаю эта единственная проблема которую так и не решили в полной мере.
P.S. Опубликуй полный код функции возврата массива данных из базы в MQL4. Я так понимаю, что это удалось сделать.
Возврат массива данных, думаю эта единственная проблема которую так и не решили в полной мере.
P.S. Опубликуй полный код функции возврата массива данных из базы в MQL4. Я так понимаю, что это удалось сделать.
ну вот смотри, чтоб в дебри далеко не залазить, покажу на примере mysql_get_client_info
она возвращает указатель на NULL-terminated строку (char*)
что мы делаем:
И всё. АНАЛОГИЧНО все вытягивается и из других функций которые возвращают указатели.
PS
Извини, что не MQL4.
И всё.
Так это всё для mql5, а для 4-ки реализация невозможна?
думаю что будет аналогично. только поколдовать с типом в memcpy надо (вместо uchar дать int[] или string& ).
попробуй, если будет результат (или отсутствие) то отпишись
думаю что будет аналогично. только поколдовать с типом в memcpy надо (вместо uchar дать int[] или string& ).
попробуй, если будет результат (или отсутствие) то отпишись
ну вот смотри, чтоб в дебри далеко не залазить, покажу на примере mysql_get_client_info
она возвращает указатель на NULL-terminated строку (char*)
что мы делаем:
И всё. АНАЛОГИЧНО все вытягивается и из других функций которые возвращают указатели.
PS
Извини, что не MQL4.
Вам удалось получать нормальные результаты из mysql_fetch_row? А то мне внезапно понадобился мускул и как на зло после обновлений терминала мой метод накрылся.
Вам удалось получать нормальные результаты из mysql_fetch_row? А то мне внезапно понадобился мускул и как на зло после обновлений терминала мой метод накрылся.
да, все работает идеально, но пока сделал только для MQL5
пример работы сверху в моем посте