typeSendCommand SendCommand =
reinterpret_cast<typeSendCommand>(GetProcAddress(hm,«SendCommand»));
if (!SendCommand) {
printf("\«SendCommand\» not found (0x%X)\n", GetLastError());
return -1;
}
else {
BYTE* ss = SendCommand(reinterpret_cast<BYTE*>(
"<command id='connect'>"
"<login>KOKS</login><password>koks</password>"
"<host>192.168.15.15</host><port>3901</port>"
"<logsdir>.\\LOGS\\</logsdir><loglevel>0</loglevel></command>"));
std::cout<<reinterpret_cast<const char*>(ss);
FreeMemory(ss);
Sleep(10000);
ss = SendCommand(reinterpret_cast<BYTE*>("<command id='subscribe'>"
"<alltrades><secid>304</secid></alltrades>" //идентификаторы взял просто для примера
"<quotations><secid>304</secid></quotations>" //в реально кода надо ориентировать на то,
"<quotes><secid>304</secid></quotes>" //что присылвает сервер
"</command>"));
std::cout<<reinterpret_cast<const char*>(ss);
FreeMemory(ss);
Sleep(1000);
ss = SendCommand(reinterpret_cast<BYTE*>(
"<command id='disconnect'/>"));
std::cout<<reinterpret_cast<char*>(ss);
FreeMemory(ss);
}
try {
FreeLibrary(hm);
}
catch (...) {
std::cout<<«Fail in FreeLibrary»;
}
}
int err = GetLastError();
xmlfile<<"</root>";
Идеи Элвиса Марламова в ПИФ Аленка Капитал на август - пол портфеля опять пересобрано
Традиционно продолжаем следить за ПИФ Аленка Капитал от Элвиса Марламова
Предыдущий пост про ПИФ Alenka Capital был месяц назад тут smart-lab.ru/mobile/topic/1330633/ Отмечал, что Элвис...
💸 Совет директоров Займера рассмотрит дивиденды за II квартал
В понедельник, 24 августа, СД Займера рассмотрит вопрос о рекомендации дивидендов по итогам II квартала 2026 года. Размер рекомендованной выплаты раскроем 25 августа одновременно с публикацией...
Длинные ОФЗ: сколько можно заработать, если ключевая ставка ЦБ РФ продолжит снижаться?
ока с начала текущего года заработать на длинных ОФЗ особо не получается – ожидания усиления инфляционных и прочих рисков привело к росту доходности, несмотря на продолжающиеся плавное снижение...
Nantua, хорошо, тогда другое — в НКНХ нет доли республики — это тоже риск. Он может перейти на КОС — при реорганизаци, например их слиянии (Управление активами, замкнули на Сафине генеральство, Лин...
Вот отошел культурно Щелкунчика посмотреть/послушать, а вы тут уже шесть страниц наистерили ...
Коллеги, все вроде взрослые, дееспособные. Решения приобретать Оил каждый принимал, понимая риск. Так ...
Malexey, там всё прописано, в случае отсутствия ПВО при банкротстве компании его функции выполняет НРД. Компания не банкрот, у неё статус дефолт по выплате купонов по всем выпускам облигаций, это т...
Я бы цб в сентябре рекомендовал бы повысить ставку на 17-18%, далее бросил бы все силы на запуск проекта «песочниц» цифрового рубля. Думаю «песочницы» помогут выйти из кризиса, продумал бы далее созда...
Русский инвестор, Итог-Изи на текущий момент -30%, а еслиб деньги просто держал в сберкасссе получил бы в 3 раза больше по вкладам и ИЗИ 0, такая наша биржа сегодня..))
Дивиденды Т-Технологии
Рубрика какие-никакие, но всё-таки дивиденды. Поступление от компании Т-Технологии, которая платит хоть и немного, но зато ежеквартально. И хотя, сейчас об этом немного ...
Юань Первый заход пробовал в лонг — выстопило. Перезашел в шорт на пробое локального лоя. Оставил в овернайт.
Фьюч Юань 5мин
Авто-репост. Читать в блоге >>>
#include <iostream>
#include <fstream>
#define TACCESS_API __declspec(dllimport)
typedef bool (WINAPI *tcallback)(BYTE* pData);
typedef BYTE* (WINAPI *typeSendCommand)(BYTE* pData);
typedef bool (WINAPI *typeFreeMemory)(BYTE* pData);
typedef bool (WINAPI *typeSetCallback)(tcallback pCallback);
std::ofstream xmlfile;
typeFreeMemory FreeMemory;
bool CALLBACK acceptor(BYTE *pData)
{
xmlfile<<pData<<std::endl;
FreeMemory(pData);
return true;
}
int main(int argc, char* argv[]) {
setlocale(LC_CTYPE, "");
std::cout<<«Statring!»<<std::endl;
xmlfile.open(«test.xml»);
xmlfile<<"<?xml version='1.0' encoding='UTF-8'?>";
xmlfile<<"<root>";
HMODULE hm = LoadLibrary(«Debug\\txmlconnector.dll»);
if (hm) {
typeSetCallback SetCallback =
reinterpret_cast<typeSetCallback>(GetProcAddress(hm, «SetCallback»));
FreeMemory =
reinterpret_cast<typeFreeMemory>(GetProcAddress(hm, «FreeMemory»));
SetCallback(acceptor);
typeSendCommand SendCommand =
reinterpret_cast<typeSendCommand>(GetProcAddress(hm,«SendCommand»));
if (!SendCommand) {
printf("\«SendCommand\» not found (0x%X)\n", GetLastError());
return -1;
}
else {
BYTE* ss = SendCommand(reinterpret_cast<BYTE*>(
"<command id='connect'>"
"<login>KOKS</login><password>koks</password>"
"<host>192.168.15.15</host><port>3901</port>"
"<logsdir>.\\LOGS\\</logsdir><loglevel>0</loglevel></command>"));
std::cout<<reinterpret_cast<const char*>(ss);
FreeMemory(ss);
Sleep(10000);
ss = SendCommand(reinterpret_cast<BYTE*>("<command id='subscribe'>"
"<alltrades><secid>304</secid></alltrades>" //идентификаторы взял просто для примера
"<quotations><secid>304</secid></quotations>" //в реально кода надо ориентировать на то,
"<quotes><secid>304</secid></quotes>" //что присылвает сервер
"</command>"));
std::cout<<reinterpret_cast<const char*>(ss);
FreeMemory(ss);
Sleep(1000);
ss = SendCommand(reinterpret_cast<BYTE*>(
"<command id='disconnect'/>"));
std::cout<<reinterpret_cast<char*>(ss);
FreeMemory(ss);
}
try {
FreeLibrary(hm);
}
catch (...) {
std::cout<<«Fail in FreeLibrary»;
}
}
int err = GetLastError();
xmlfile<<"</root>";
std::cout<<"\nEnded...\n";
char c;
std::cin>>c;
return 0;
}