unsigned char SendData[] =
{
0x1b,'$',
'H', 'e', 'l', 'l', 'o', ' ',
'W', 'o', 'r', 'l', 'd',
};
MySocketSend(MySocket, SendData, sizeof(SendData));
преобразование кода Си в Delphi
Имеется такой код на Си
Код:
Работа его заключается в очистке терминала от всех символов и печать на нем текста Hello world.
Все бы ничего, да только надо мне этот код на delphi, а как это сделать, я к сожалению не знаю.
Несколько предположений все таки сделал, но они не работают.
Итак, первое Unsigned Char в Delphi можно представить как Word, ну или Byte. Таким образом получится:
Код:
sdbuff: Word;
sdbuff := 0x1b;
Winsock.send(Sock, sdbuff, 256, 0);
sdbuff := 0x1b;
Winsock.send(Sock, sdbuff, 256, 0);
Но не понимает Delphi данные в строке sdbuff := 0x1b;, говорит Missing operator or semicolon. То есть не хочет читать данные в шестнадцатиричном представлении.
Я очень прошу подсказать, что я тут не так делаю. Да и вообще, как послать чудо терминалу такую команду?
Код:
var
sdbuff: String;
begin
sdbuff := #$1b'$Hello World';
Winsock.send(Sock, sdbuff[1], Lenght(sdbuff), 0);
end;
sdbuff: String;
begin
sdbuff := #$1b'$Hello World';
Winsock.send(Sock, sdbuff[1], Lenght(sdbuff), 0);
end;
Как теперь вместо текста '$Hello World', подставить переменную?
Если уж оно совсем запротивится, то можно и так попробовать:
Код:
sdbuff := #$1b'$0' + YourVariable;
Ну это еще нужно поэксперементировать.... нужен там $0 или не нужен...
Просто прибор, с которым приходится работать не очень понятен. И мануал по нему скудный. Вот и тыкаюсь куда нипопадя.
Спасибо за ответ, кстати!!!
Модеры - ссори за оффтоп, но хотелось бы узнать - что за девайс-то такой со скудными мануалами?
В общем, если придется работать, могу скинуть исходники. Но за этим в приват.