Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизСинтаксис языка Си Найти похожие ветки
← →
Zheksonz (2012-06-07 15:27) [0]Имеется достаточно простой для знающих СИ код:
for (; value >= 128; value >>= 7)
TCPClient->Socket->Write((unsigned char)(value | 128));
TCPClient->Socket->Write((unsigned char)value)
как его правильно перевести на Делфи?
← →
MBo © (2012-06-07 15:37) [1]while value >= 128 do begin
TCPClient.Socket.Write(Byte(value or 128));
..
value := value shr 7;
end
← →
Zheksonz (2012-06-07 15:44) [2]спасибо, MBo
Вот что в итоге получилось:
while value >= 128 do begin
TCPClient.Socket.Write(Byte(value or 128));
value := value shr 7;
end;
TCPClient.Socket.Write(Byte(value));
но в Делфийном компонентеTIdTCPClient
нетTCPClient.Socket.Write
, зато естьTCPClient.Write
одно ли это и то же?
← →
Zheksonz (2012-06-11 12:32) [3]вот незадача мало того что в Делфи нет
TCPClient.Socket.Write
так ещё иTCPClient.Write
это строковая переменная, а мне нужно байт отправить(((
← →
Юрий Зотов © (2012-06-11 15:21) [4]
> Zheksonz (11.06.12 12:32) [3]
IntToStr ?
← →
Zheksonz (2012-06-11 15:26) [5]
> Юрий Зотов © (11.06.12 15:21) [4]
неееееет, это слишком просто... я так не могу... а что-нибудь по типу пяткой ухо почесать нельзя придумать?
← →
Zheksonz (2012-06-11 15:35) [6]а если серьёзно, то я немного запутался... у меня сейчас нет возможности проверить работоспособность кода, но копаясь в интернете, в описании TidTCPClient под Делфи, видел примеры использования
Client.Socket.Write
в то время как у меня нет подобной процедуры... зато естьClient.Write
будет ли посылаться по порту "сообщение" посланное не через.Socket.
?
← →
Давайте будем жрать! (2012-06-11 16:12) [7]
> IntToStr ?
Ему баёт надо послать, а не его строковое значение.
> копаясь в интернете, в описании TidTCPClient под Делфи,
> видел примеры использования Client.Socket.Write в то время
> как у меня нет подобной процедуры
Indy10 и Indy9 сильно отличаются.
← →
Юрий Зотов © (2012-06-11 16:18) [8]
> Ему баёт надо послать, а не его строковое значение.
Верно. Значит, как-то так: Write(Char(Value))
← →
sniknik © (2012-06-11 16:20) [9]> вот незадача мало того что в Делфи нет
> это строковая переменная, а мне нужно байт отправить(((
????
procedure Write(ABuffer: TIdBytes); overload; virtual;
procedure WriteDirect(var aBuffer: TIdBytes); virtual;
procedure Write(const AOut: string); overload; virtual;
procedure WriteLn(const AOut: string = ""); virtual;
procedure Write(AValue: TIdStrings; AWriteLinesCount: Boolean = False); overload; virtual;
procedure Write(AValue: Char); overload;
procedure Write(AValue: Cardinal; AConvert: Boolean = True); overload;
procedure Write(AValue: Integer; AConvert: Boolean = True); overload;
procedure Write(AValue: SmallInt; AConvert: Boolean = True); overload;
procedure Write(AValue: Int64; AConvert: Boolean = True); overload;
procedure Write(AStream: TIdStream; ASize: Int64 = 0; AWriteByteCount: Boolean = False); overload; virtual;
> в описании TidTCPClient под Делфи, видел примеры использования
> в то время как у меня нет подобной процедуры... зато есть
версию сравни
← →
Zheksonz (2012-06-11 16:30) [10]Всем спасибо, что не оскорбили тугодума... ну вроде бы теперь понял))
← →
Inovet © (2012-06-11 17:41) [11]> [4] Юрий Зотов © (11.06.12 15:21)
> IntToStr ?
Вообще-то и без явного преобразования должен присвоить целое в строку.
← →
Капитан Очевидность (2012-06-11 18:10) [12]
> Вообще-то и без явного преобразования должен присвоить целое
> в строку.
Переработал с вариантами, братюня?
← →
Inovet © (2012-06-11 18:19) [13]> [12] Капитан Очевидность (11.06.12 18:10)
> Переработал с вариантами, братюня?
Нет, в Билдере несколько конструкторов AnsiString с разными типами параметра.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i = 123;
Label1->Caption = i;
}
← →
Inovet © (2012-06-11 18:27) [14]А, ЮЗ насчёт Делфи шутил. Ну, тогда да.
← →
Zheksonz (2012-06-14 10:38) [15]Добрый день.
В тексте программы СИ наткнулся на две операции, описание к которым в инете найти удалось (составное сложение и составное поразрядное логическое или соответственно), а аналог в Делфи пока нет... может подскажете аналоги СИ_шных операций|=
и+=
?
← →
RWolf © (2012-06-14 10:47) [16]a:=a or b и a:=a+b соответственно.
← →
Zheksonz (2012-06-14 11:06) [17]спасибо, RWolf
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.067 c