Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2009, 15:11   #1
Alfik
 
Регистрация: 16.04.2009
Сообщений: 3
По умолчанию Вывод на экран символов дельта и сигма (Delphi)

Подскажите как в Memo вывести символы дельта и сигма, если нельзя, тов какой компонент их можно вывести? Вставлять рисунками нельзя, в дальнейшем нужно сохранить всю инфу в текстовик.
Alfik вне форума Ответить с цитированием
Старый 18.04.2009, 15:33   #2
KingOfNothing
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 89
По умолчанию

а что собственно не получается? в Delphi 2009 есть поддержка юникода, там всё ок. Если седьмая, то там отображается ?, так как юникод не поддерживается. Нужны либо компоненты с поддержкой юникода в седьмой, либо обновить делфи
Если вдруг захотите сказать мне спасибо - воспользуйтесь кнопкой "Добавить отзыв"
KingOfNothing вне форума Ответить с цитированием
Старый 18.04.2009, 16:03   #3
Alfik
 
Регистрация: 16.04.2009
Сообщений: 3
По умолчанию

Конечно большое спасибо, но встречный вопрос, какие компоненты в седьмой поддерживают юникод?
Alfik вне форума Ответить с цитированием
Старый 18.04.2009, 19:36   #4
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Memo, StringGrid, ListBox и т.д. поддерживают юникод, кроме спец символов(многие символы отображаются в виде квадратиков.Так отображаются символы, не имеющие визуального отображения. Т.е. символ, например, с кодом 13 существует, но он невидим!!!). Код дельта и сигмы не смотрел, а вот для "@" можно вывести в Memo :

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.lines.Add(#64)
end;
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 18.04.2009, 19:50   #5
KingOfNothing
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 89
По умолчанию

Alfik, компонентов не знаю, честно говоря.

MalCer, найди пожалуйста код сигмы или дельты. Спасибо!
Если вдруг захотите сказать мне спасибо - воспользуйтесь кнопкой "Добавить отзыв"
KingOfNothing вне форума Ответить с цитированием
Старый 18.04.2009, 20:18   #6
AlexanderKs
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 60
По умолчанию

Если нужно отобразить только символы сигма и дельта, поставь для Memo шрифт Symbol. Тогда для вставки дельта нужно написать строчку. Lk Memo1.Lines.Add(#68); а для вставки сигма - Memo1.Lines.Add(#115);
AlexanderKs вне форума Ответить с цитированием
Старый 18.04.2009, 20:20   #7
AlexanderKs
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 60
По умолчанию

Если кроме математических символов необходимо отобразить нормальный текст (и сохранить в файл без потери форматирования), используй RichEdit.
AlexanderKs вне форума Ответить с цитированием
Старый 18.04.2009, 22:31   #8
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Цитата:
MalCer, найди пожалуйста код сигмы или дельты
Зачем мне находить, если ты сам можешь посмотреть. Таблица символов находится здесь: Пуск - Программы - Стандартные - Служебные - Таблица символов
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 18.04.2009, 22:39   #9
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

А лучше всего самому сделать эту таблицу. Я её делал так:
Добавляем компонент TStringGrid.ColCount ставим равным 2,FixedCols = 0. Всё! Теперь пишем код:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  StringGrid1.RowCount:=257;
  StringGrid1.Cells[0,0]:='Код';
  StringGrid1.Cells[1,0]:='Символ';
  for i := 0 to 255 do
  begin
    StringGrid1.Cells[0,i+1]:=IntToStr(i);
    StringGrid1.Cells[1,i+1]:=Chr(i);
  end;
end;
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 18.10.2014, 15:37   #10
AntiSF
 
Аватар для AntiSF
 
Регистрация: 23.08.2009
Сообщений: 3
По умолчанию

Вообще то, если вести речь про "уникод", то как то так:

Код:
const nROWS = 256; nCOLS = 256;

procedure TForm1.FormCreate(Sender: TObject);
var i,j: integer;
begin
  with Self.StringGrid1 do begin
    ColCount:= nCOLS+1;
    RowCount:= nROWS+1;
    Cells[0,0]:= 'Код';
    for i:= 0 to nROWS-1 do Cells[0,i+1]:= IntToStr(i);
    for j:= 0 to nCOLS-1 do begin
      Cells[j+1,0]:= IntToStr(j*nROWS) + '+';
      for i:= 0 to nROWS-1 do Cells[j+1,i+1]:= WideChar(j*nROWS+i);
    end;
  end; 
end;
Но "стринггрид" "делфи 7", при этом, наглядно демонстрирует свое недержание "уникода"...

З.Ы. хотя может он и держит,.. тяжело найти шрифт с 65к символов

Последний раз редактировалось AntiSF; 18.10.2014 в 15:49.
AntiSF вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод на экран Nikolai_90 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 02.05.2012 09:25
Вывод символов в StringGrid спиралью и змейкой (Delphi) ekzobyte Помощь студентам 1 02.04.2009 19:34
Вывод на экран Rifler Паскаль, Turbo Pascal, PascalABC.NET 10 18.07.2008 18:30
Вывод на 2-ой экран DShiller Общие вопросы Delphi 0 26.05.2008 15:25