Форум: "Начинающим";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
ВнизНижние индексы и греческий шрифт. Найти похожие ветки
← →
Lebedev (2007-11-06 14:17) [0]Здравствуйте!
Подскажите пожалуйста компонент или как сделать, чтобы в проекте можно было у букв ставить нижние индексы и использовать буквы греческого алфавита.
Спасибо!
← →
Amoeba © (2007-11-06 14:41) [1]http://www.tmssoftware.com/
THTMLabel и еще ряд компонент начинающихся с THTML
TRTFLabel
По отдельности компоненты без исходников бесплатны.
← →
Lebedev (2007-11-06 15:26) [2]А после установки компонента в среду Delphi, сам компонент можно создавать динамически?
← →
AlexanderMS © (2007-11-06 15:27) [3]TNTUnicodeControls - бесплатны полностью - и использовать Юникод (там, если я не ошибаюсь, нижние индексы есть).
Ещё есть модули ExprDraw и ExprMake Григорьева Антона. Их также можно найти.
← →
AlexanderMS © (2007-11-06 15:29) [4]
> ExprDraw и ExprMake Григорьева Антона.
Но они уже на Canvas выводят.
← →
Amoeba © (2007-11-06 15:43) [5]
> Lebedev (06.11.07 15:26) [2]
>
> А после установки компонента в среду Delphi, сам компонент
> можно создавать динамически?
А почему нельзя? Конечно, можно.
← →
Amoeba © (2007-11-06 15:47) [6]Только тег для форматирования придется прописывать самому в коде. Если использовать HTML -компонент, об этом см. справку по miniHTML http://www.tmssoftware.com/minihtml.htm
← →
Lebedev (2007-11-06 16:46) [7]Спасибо большое всем за советы!
>TNTUnicodeControls - бесплатны полностью - и использовать Юникод (там, если я не ошибаюсь, нижние индексы есть).
А этот компонент тоже на сайте http://www.tmssoftware.com/ находится?
И что значит "использовать Юникод"? Для чего?
← →
Amoeba © (2007-11-06 17:00) [8]
> Спасибо большое всем за советы!
>
> >TNTUnicodeControls - бесплатны полностью - и использовать
> Юникод (там, если я не ошибаюсь, нижние индексы есть).
>
> А этот компонент тоже на сайте http://www.tmssoftware.com/
> находится?
> И что значит "использовать Юникод"? Для чего?
Нижних индексов в юникоде нет. Верхние - только 2 и 3, включенные в шрифты. Смешать разные шрифты в TNTUnicodeControls вроде-как не получится.
THTMLabel и иже с ним позволяют смешивать разные шрифты и делать любые индексы, хоть верхние, хоть нижние за счет уменьшения размера шрифта и положения символов выше или ниже линии строки.
← →
AlexanderMS © (2007-11-06 18:42) [9]
> Нижних индексов в юникоде нет. Верхние - только 2 и 3, включенные
> в шрифты.
Как это так?
Таблица символов -> Arial Unicode MS
Вот, есть. И даже в кружочках есть.
← →
Lebedev (2007-11-06 20:12) [10]Что ты вы меня запутали...
То есть какой мне компонент нужен, для решения моей задачи?
← →
Amoeba © (2007-11-06 20:27) [11]
> у букв ставить нижние индексы и использовать буквы греческого
> алфавита.
Выбирай соответствующий задаче от TMS Software.
← →
Однокамушкин (2007-11-07 14:52) [12]Вот ещё какой-то на ту же тему http://www.megalib.com/books/461/treasury/mlabel.htm
Сам не скачивал и не пробовал, просто на своей помойке ссылку нашёл
← →
AlexanderMS © (2007-11-07 15:42) [13]
> То есть какой мне компонент нужен, для решения моей задачи?
Что за программа? По физике, наверное? Куда она должна выводить результат? Если всё равно, то можно вообще шрифт Arial Unicode MS поставить, да и выводить на Canvas, используя TextOutW. Я бы так сделал.
const
сAlpha : widechar = Widechar(код альфы в Юникоде - посмотрите в Таблице символов);
...
S : widestring;
begin
S = сAlpha + " - this is alpha";
TextOutW(Canvas.Handle, 1, 1, PWideChar(S), Length(S))
end;
← →
Lebedev (2007-11-08 08:48) [14]>THTMLabel и иже с ним позволяют смешивать разные шрифты ...
THTMLabel и "что" с ним? Я не понял, что вы имели ввиду.
>Вот ещё какой-то на ту же тему >http://www.megalib.com/books/461/treasury/mlabel.htm
Большое спасибо! Посмотрю.
← →
Lebedev (2007-11-08 12:49) [15]>Вот ещё какой-то на ту же тему http://www.megalib.com/books/461/treasury/mlabel.htm
Я скачал этот файлик. Но как установить компонент?
Я попутался через пункт components/Install Component, написало, что установился, а сам компонент я найти не могу. Подскажите как его найти или правильно установить, пожалуйста.
← →
Однокамушкин (2007-11-08 12:56) [16]А как вы его вообще скачали? Я не могу скачать, говорит, что ссылка битая...
← →
Anatoly Podgoretsky © (2007-11-08 15:29) [17]> Lebedev (08.11.2007 12:49:15) [15]
А посмотреть текст процедуры Register?
← →
Lebedev (2007-11-10 09:35) [18]>А как вы его вообще скачали? Я не могу скачать, говорит, что ссылка битая...
Да, там ссылка битая. Я просто ввёл в яндексе название компонента и на второй странице где-то был этот компонент с другого сервера, от туда и скачал.
← →
Lebedev (2007-11-10 09:38) [19]>А посмотреть текст процедуры Register?
Проблема в том, что такой процедуры в файле нет. К сожалению, здесь нельзя привести весь код (ограничение на длину сообщения).unit MathLabel;
interface
uses
Windows, Messages, SysUtils, Graphics, Classes, Controls, StdCtrls;
type
TAlignH=(taLeftJustifyH, taRightJustifyH, taCenterH, taAutoH);
TAlignV=(taTopJustifyV, taDownJustifyV, taCenterV, taAutoV);
TMathLabel = class(TCustomLabel)
private
FontList:TList;
FAlignH:TAlignH;
FAlignV:TAlignV;
FOldText:string;
RectText:TRect;
procedure ClearFontList;
procedure FillFontList;
procedure SetAlignH(Value:TAlignH);
procedure SetAlignV(Value:TAlignV);
protected
procedure PrepareDrawText;
procedure DoDrawText(var Rect: TRect; Flags: Longint);override;
procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED;
procedure CMFontChanged(var Message: TMessage); message CM_FONTCHANGED;
public
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
published
property Caption;
property Font;
property AlignH:TAlignH read FAlignH write SetAlignH;
property AlignV:TAlignV read FAlignV write SetAlignV;
end;
implementation
Я совсем не знаю как быть. Подскажите, пожалуйста.
← →
Lebedev (2007-11-10 09:51) [20]> Что за программа? По физике, наверное? Куда она должна выводить результат?
Программа, да, по физике. И мне надо быводить не только греческие буквы, но и нижние индексы. А располагаться это должно на RadioGroup, которая находится на Panel, ну и они на Form"е находятся.
← →
AlexanderMS © (2007-11-10 16:38) [21]Не мучайтесь!
> Программа, да, по физике. И мне надо быводить не только
> греческие буквы, но и нижние индексы. А располагаться это
> должно на RadioGroup, которая находится на Panel, ну и они
> на Form"е находятся.
В TNTUnicodeControls есть и RadioGroup, и Panеl, и всё остальное.
Я бы так сделал.
Установил TTNTRadioGroup на TTNTPanel (там они так называются).
Затем открываю Таблицу Символов и ставлю шрифт Arial Unicode MS.
Выбираю Дополнительные параметры просмотра.
В поиске ввожу "subscript".
Находятся символы в нижнем индексе.
Первый - это ноль. Его код смотрим: U+2080, то есть$2080
в шестнадцетиричном.
У TNTRadioGroup устанавливаем шрифт Arial Unicode MS.
И затем:const
W = WideString(WideChar($2080));
TNTRadioGroup1.Caption := W
TNTRadioGroup1.Items.Add(W);
и т. п.
Вот нижний индекс.
То же для греческих букв. Их просто находим в таблице и берём код.
← →
Однокамушкин (2007-11-11 08:42) [22]
> Lebedev (10.11.07 09:38) [19]
> Проблема в том, что такой процедуры в файле нет. К сожалению,
> здесь нельзя привести весь код (ограничение на длину сообщения).
Сделайте такой модуль:unit MathLabelInst;
interface
uses
Classes, MathLabel;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents("MathLabel", [TMathLabel]);
end;
И устанавливайте его
← →
Lebedev (2007-11-15 07:38) [23]Спасибо, я всё это попробую, если не получится сделеть всё через сторонние компоненты.
Но вопрос! Я установил HtmlLabel. Как индексы нижние делать я разобрался. Но как в нём сделать греческий шрифт? Нужны буквы альфа, бетта, лямбда.
Подскажите пожылуйста!
← →
Lebedev (2007-11-15 08:33) [24]Во всём разобрался. Всем большое спасибо.
Греческий шрифт возможен в компоненте RTFLabel, при выборе шрифта Symbol.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.081 c