![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ASCII [D6, Win2k]
МИФИст © (2002-06-08 19:33:00)Подскажите как в Мемо выводить информацию в ASCII виде, например,
чтобы символ $6 выводился как "пиковая масть", а не как прямоугольник или твёрдый знак?
Я пробовал вот так не получается:
StrASCII: String;
Buffer: array[0..1599] of Char;
...
StrASCII:=StrASCII+Chr(Ord(Buffer[i]))+" ";
...
Form1.Memo1.Text:=StrASCII;
rhf (2002-06-08 23:21:00) [1]ну поздравляю !!!
MaximatorVeter (2002-06-08 23:16:00) [2]Да!
rhf (2002-06-08 23:05:00) [3]просто укажи font - Terminal во время конструирования или
memo1.Font.Name:="Terminal";
memo1.Font.charset:=OEM_CHARSET;
memo1.Lines.add(#6);
в райнтайм
MaximatorVeter (2002-06-08 22:57:00) [4]
> rhf ©
Это все понятно, а вот в Дельфи как сделать?Я заинтерисовался ...
rhf (2002-06-08 22:54:00) [5]не важно.....
ты когда-нибудь блокнотом досовские файлы смотрел? Если да, то какой шрифт ставилдля этого? Вот и тут также, ты попробуй и увидишь, что отображаються символы........
MaximatorVeter (2002-06-08 22:47:00) [6]
> rhf ©
Для шрифта TERMINAL, как и для всех остальных нет кодировки ASCII (cм. свойство Memo1.Font.Charset ...
rhf (2002-06-08 22:39:00) [7]2 MaximatorVeter, да получим если поставить шрифт TERMINAL - он же в дос-кодировке все показывает, вот только при этом весь русский текст уйдет в никуда :(
.... короче не самое хорошее решение :)
MaximatorVeter (2002-06-08 22:11:00) [8]Вот и подошли к разгадке - в Windows Memo то мы "пичку" не получим?
rhf (2002-06-08 22:07:00) [9]2 MaximatorVeter, ты таблицу ASCII посмотри, в кодировке DOS
MaximatorVeter (2002-06-08 21:35:00) [10]Тогда так:
var
StrASCII: String;
Buffer: array[0..1599] of Byte;
i:word;
begin
for i:=0 to 1599 do
StrASCII:=StrASCII+Chr(Buffer[i])+" ";
Memo1.Text:=StrASCII;
end;
Но если в Buffer встретиться zero, то дальше ничего не отобразиться (конец строки).
Интересно, а какой это шрифт, у которого на шестой позиции пика?
rhf (2002-06-08 21:17:00) [11]ну ты шрифт смени и увидишь свои картинки :)
МИФИст (2002-06-08 21:13:00) [12]Мы друг друга не поняли. В шестнадцатеричном виде следующий код:
06 С0 21 05 06, это в Мемо либо вообще не отображается, либо в виде прямоугольников, а должно быть
rhf (2002-06-08 21:11:00) [13]а ты используй шрифт другой - например TERMINAL
хотя это наверное отразиться на остальном русском тексте :)
MaximatorVeter (2002-06-08 20:17:00) [14]
var
StrASCII: String;
Buffer: array[0..1599] of Char;
i:word;
begin
for i:=0 to 1599 do
StrASCII:=StrASCII+IntToStr(Byte(Buffer[i]))+" ";
Memo1.Text:=StrASCII;
end;
GL ...
MaximatorVeter (2002-06-08 20:08:00) [15]
> МИФИст © (08.06.02 19:33)
> Подскажите как в Мемо выводить информацию в ASCII виде
Это значит каждому символу будет соответствовать байтовый код ...
MaximatorVeter (2002-06-08 19:53:00) [16]$6 это вроде как число, а не символ ...