- Код: Выделить всё
s:string
...
s:=Format('** %2.2D%2.2D %-.30S',[ComData.MyType,ComData.ID,ComData.Desc]);
if ComData.MyType=etTheory then begin
s[1]:=widechar('Т');
s:=trim(s)+' ('+ExtractFileName(Attachment)+')';
end
else begin
s[1]:=widechar('Э');
end;
В таком варианте компилируется без ошибок, но во время работы вместо первой звездочки в строке я вижу вопросительный знак, а не букву "Т" или "Э", на которую должна замениться эта звездочка. Похоже, что [1] берет именно один байт строки, а не один widechar из нее. Как же мне запихать туда именно букву?
Формировать строку без первой звездочки, а потом делать вроде
- Код: Выделить всё
s:='Т'+s
Попробовал вместо звездочек поставить две русские буквы. Теперь при выводе не видна вся строка, очевидно сбивается последовательность кодировки. Ненавижу коды с последовательностями разной длины!