У меня есть программа, написанная в Delphi 4 и пытающаяся преобразовать ее в delphi xe10. Одна часть, которую я не понимаю, такова.Кодирование результатов не работает
Cmd[0] := 2; // Number of equipment to talk to
Cmd[1] := 22; // My device address
Cmd[2] := 0;
MResults.Lines.Add('Reciving...');
Refresh();
Srlen := High(RecBuff);
Ret := GpListen(@Cmd, @Srlen, @RecBuff); // gets returned value
if CheckRet('GpListen', (Ret and $FF), csBuf) = 0 then
begin
RecBuff[Srlen] := Chr(0); // ??
MResults.Lines.Add(RecBuff); // returned
//csBuf := Format('????', [Srlen]); ////?some error??
end;
Этот вопрос RecBuff (RecBuff: массив [диапазоне 0..9999] из Чар;) Она начинается полный # 0, так как:
, но как только
Ret := gpListen(@cmd, @srlen, @recbuff);
побежал recbuff теперь выглядит следующим образом:
много японский знак. как я могу заставить это правильно закодировать в записной книжке.
Я вставленный изображения для вас. Два совета в следующий раз: 1) Нам не нужны эти большие скриншоты, только секция соответствующих локальных переменных будет делать 2) Никогда не ставьте код в свои вопросы без указания типов переменных (теперь мы должны предположить, какое животное * cmd * является). –