Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2011.03.20;
Скачать: [xml.tar.bz2];

Вниз

Ищу функцию, чтобы рисовать на картинке формулы с дробью   Найти похожие ветки 

 
Sergey   (2009-07-28 21:14) [0]

То есть, чтобы 1/2 было не так нарисовано, а вот так:

1
-
2

ну и более сложные многоэтажные дроби. Существуют такие функции или только самому писать?


 
Amoeba ©   (2009-07-28 21:36) [1]


> Существуют такие функции или только самому писать?

Не теряй времени на поиск того, чего не существует. Придется писать самому.


 
Sergey   (2009-07-28 21:46) [2]


> Amoeba ©   (28.07.09 21:36) [1]
> > Существуют такие функции или только самому писать?
> Не теряй времени на поиск того, чего не существует. Придется
> писать самому.


Вроде бы вещь настолько элементарная. Даже на некоторых форумах есть такая примочка, чтобы представлять формулы в виде картинок с нормальными дробями.

Может быть всё-таки существует? ;)


 
KilkennyCat ©   (2009-07-29 00:00) [3]

Существует. Апи математических пакетов. Заумно и тяжеловесно и насчет бесплатности не уверен совершенно. Более не знаю, мельком видел, но не работал.


 
Amoeba ©   (2009-07-29 01:54) [4]

Может это устроит?
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=718


 
Sergey   (2009-07-29 22:47) [5]


> Amoeba ©   (29.07.09 01:54) [4]
>
> Может это устроит?
> http://www.delphikingdom.com/asp/viewitem.asp?catalogid=718


Благодарю вас! :)

Скажите, вот такой код который там используется безопасен?

for i := 0 to High(Arts[Index].Samples) do begin
 Expr       := TExprVar.Create("Пример " +IntToStr(i+1) +": ");
 Expr.Color := clBlue;
 Expr.AddNext(TExprSimple.Create(Arts[Index].Samples[i]));
 Expr.AddNext(TExprVar.Create(" Результат: "));
 Expr.Next.Next.Color := clBlue;
 Expr.AddNext(Builder.BuildExpr(Arts[Index].Samples[i]));

 Expr           := TExprChain.Create(Expr);
 Expr.Canvas    := Image1.Picture.Bitmap.Canvas;
 Expr.Font.Size := 11;
 Expr.Draw(5, DY, ehLeft, evTop);
 Inc(DY, Expr.Height +5);
 if MX < Expr.Width then MX := Expr.Width;
 Expr.Free
end;


А то, Create много, а Free - только одно.

Просто, попробовал использовать, у меня почему-то компьютер зависает. Причём намертво, так, что только Reset помогает. Вот размышляю, почему.


 
KilkennyCat ©   (2009-07-29 23:54) [6]


> Free - только одно

но оно может уничтожать многое.
меня не
это смущает, меня смущает

> Expr           := TExprChain.Create(Expr);


 
oldman ©   (2009-07-30 00:02) [7]

также смущает

>  Expr       := TExprVar.Create
>  ................
>  Expr           := TExprChain.Create


 
KilkennyCat ©   (2009-07-30 00:19) [8]


> oldman © (30.07.09 00:02) [7]

ага, двойственность я также увидел, похоже, второй явно ошибка.


 
clickmaker ©   (2009-07-30 13:25) [9]

так это же Chain. "связанные одной цепью"



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2011.03.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
15-1291290387
Andy BitOff
2010-12-02 14:46
2011.03.20
DMClient и D2010


2-1293361752
vitge
2010-12-26 14:09
2011.03.20
Массив в ComboBOX


1-1248467150
Дмитрий Белькевич
2009-07-25 00:25
2011.03.20
Нашел баг в VCL Delphi 2009-го


11-1221147667
zangk2k
2008-09-11 19:41
2011.03.20
Exptlntf.dcu


15-1291739962
И. Павел
2010-12-07 19:39
2011.03.20
Ветер-ветер ты могуч :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский