Скачать MetaTrader 5

Помогите с приложением клиент-сервер - страница 2

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Андрей
1890
Андрей  
Должно просто работать. 
В билдере? Надо иконку сервер- иконку клиент. Всё.
Вопросы задавать уже не правильно по-моему.
Alexey Klenov
1884
Alexey Klenov  
jartmailru:
Должно просто работать. 
В билдере? Надо иконку сервер- иконку клиент. Всё.
Вопросы задавать уже не правильно по-моему.

Консольное приложение, причем тут иконки типа клиентсокет? Кстати проверял, клиентсокет также отправляет текст.

Ладно, Спасибо всем, оставлю свой не совсем красивый, но рабочий, код.

Андрей
1890
Андрей  
olyakish:

Консольное приложение, причем тут иконки типа клиентсокет? Кстати проверял, клиентсокет также отправляет текст.

Согласен. Эти компоненты в билдере и без формы работают.
Константин
66
Константин  

Вы передаете строку 00000042000053D100003821 в ней каждый символ это байт. Читайте два символа из строки( например 00 далее 42), преобразовывайте в тип байт и отправляйте либо побайтово либо в массив пихать и отправлять массив байт.

либо брать по 8 символов преобразовывать в инт и также отправлять. но это надо уже иметь сервер чтоб посмотреть результат

Alexey Klenov
1884
Alexey Klenov  
dualbit:

Вы передаете строку 00000042000053D100003821 в ней каждый символ это байт. Читайте два символа из строки( например 00 далее 42), преобразовывайте в тип байт и отправляйте либо побайтово либо в массив пихать и отправлять массив байт.

либо брать по 8 символов преобразовывать в инт и также отправлять. но это надо уже иметь сервер чтоб посмотреть результат


Вот мой код для преобразования

    //30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66
    //0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    //0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
    //30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46
        AnsiString hex_str,tmpstr;
        unsigned  char ch;
        int n=0;
        for (unsigned int i=0; i<strlen(strin); i=i+2)
                {
                        hex_str="0x";
                        for(unsigned int j=i;j<i+2;j++)
                                {
                                        ch=strin[j];
                                        tmpstr= IntToHex(ch,2);
                                        if (tmpstr=="30"){ hex_str+="0";}
                                        if (tmpstr=="31"){ hex_str+="1";}
                                        if (tmpstr=="32"){ hex_str+="2";}
                                        if (tmpstr=="33"){ hex_str+="3";}
                                        if (tmpstr=="34"){ hex_str+="4";}
                                        if (tmpstr=="35"){ hex_str+="5";}
                                        if (tmpstr=="36"){ hex_str+="6";}
                                        if (tmpstr=="37"){ hex_str+="7";}
                                        if (tmpstr=="38"){ hex_str+="8";}
                                        if (tmpstr=="39"){ hex_str+="9";}
                                        if (tmpstr=="41" || tmpstr=="61"){ hex_str+="A";}
                                        if (tmpstr=="42" || tmpstr=="62"){ hex_str+="B";}
                                        if (tmpstr=="43" || tmpstr=="63"){ hex_str+="C";}
                                        if (tmpstr=="44" || tmpstr=="64"){ hex_str+="D";}
                                        if (tmpstr=="45" || tmpstr=="65"){ hex_str+="E";}
                                        if (tmpstr=="46" || tmpstr=="66"){ hex_str+="F";}
                                }
                        int str_for_int=0;
                        str_for_int=StrToInt(hex_str);
                        strsend[n]=str_for_int;
                        n++;
                }

И далее

send(s, strsend,strlen(strin)/2,MSG_DONTROUTE); // 

мне он показался не сильно красивый вот и спросил как "правильно"

Андрей
1890
Андрей  

В итоге. Вопрос про:

char res[100];

sprintf(res, "%08x", number)
                      ^---- 08 = сколько надо знаков

sscanf("78A12B", "%x", &number) 

?

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий