Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум Delphi
Восстановить пароль Регистрация

Ответ Создать новую тему
 
14.09.2009, 07:44   #1
limbir
Новичок
Регистрация: 11.09.2009
Сообщений: 9
Репутация: 1 (1)
Как создать объект MathType (формулу) в MS Word? / Delphi

надо бы сделать програмку расчёта, которая генерировала отчёт в ворде в виде набора текста и формул, содежащих дроби, корни, степени, пределы и т.д. (объект MathType). к примеру:
x=(a+b)/c=(1+2)/3=1.
здесь a,b,c - переменные величины, т.е. цифры расчитываются/задаются ранее и подставляются в формулу.
имею давольно большой опыт примитивного программирования, но был бы признателен за подробный ответ
14.09.2009, 07:44
AdAgent
Объявления
15.09.2009, 23:57   #2
Jora
Новичок
Регистрация: 15.09.2009
Сообщений: 8
Репутация: 3 (3)
Как создать объект MathType (формулу) в MS Word?

Доброго времени суток! Я сам уже пару месяцев ищу ответ на этот вопрос, но так ничего и не нашел... Единственное что пришло в голову - использовать LaTeX (там формулы записываются в текстовом виде) и затем конвертировать в формат Ворда. Но это тоже проблематично т.к. язык не учил этот, а учить ради такой задачки как-то лень... Может найдутся тут добрые люди...
Да, кстати, для Вас, limbir, я бы рекомендовал использовать "шаблон" документа, в котором в определенных местах стоят "маркеры", например "Значение001", "Значение002" и т.д., потом этот "маркер" легко заменить нужным текстом. Вобщем предлагаю развивать эту тему - она будет полезна многим, вылаживайте свои идеи, а я завтра выложу парочку примерчиков на замену текста, это не много, но все же лучше чем ничего...
Другие темы раздела
'Найти объект' или 'Место хранения файла' Delphi
На форме имеется TListView который содержит список путей и названий файлов. Нужно реализовать функцию, которая будет открывать директорию в которой хранится выбранный из списка пользователем файл и выделять его, аналогично тому как это происходит в windows при нажатии кнопки 'Найти объект' в...
Delphi Delphi получает указание сервер из браузера
Всем привет! Я столкнулся с проблемой, допустим я создал веб станицу в delphi проекте, подключаюсь через браузер на 127.0.0.1:80 и вижу ну к примеру Hello word итд. Вот вопрос как сделать так чтобы я мог через браузер выдавать команды серверу, например запустить процедуру или файл! Как сделать так...
16.09.2009, 04:16  [ТС]   #3
limbir
Новичок
Регистрация: 11.09.2009
Сообщений: 9
Репутация: 1 (1)
Как создать объект MathType (формулу) в MS Word?

Jora, спасибо за советы! с LaTeXом пытался разобраться, но как то не пошла у меня с ним дружба) да и по экспорту в ворд и латеха ничего найти не смог. По поводу шаблонов с маркерами мысль хорошая, но в mathtype маркер не поставить. Вчера наткнулся на книжку, много полезного для себя оттуда узнал, называется "ПРОГРАММИРОВАНИЕ ДОКУМЕНТОВ И ПРИЛОЖЕНИЙ MS OFFICE в DELPHI" Корнякова В. Н. Так же есть его статьи на сайтах www.kornjakov.ru либо www.kv.by, там практически вся полезная информация из книги. Только работе с объектами OLE посвящено всего пара страниц (и ни слова про MathType), прочёл их вскользь, сегодня попробую разобраться поподробнее. Попробовал написать автору, мож ответит. Как только заработает прога, создающая и редактирующая формулы обязательно всё сюда выложу.
16.09.2009, 07:17  [ТС]   #4
limbir
Новичок
Регистрация: 11.09.2009
Сообщений: 9
Репутация: 1 (1)
Как создать объект MathType (формулу) в MS Word?

получилось создать объект Equation (MathType) в Word'е:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComObj;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
W: variant;

implementation

procedure TForm1.Button1Click(Sender: TObject);
begin
W:=CreateOleObject('Word.Application');
W.Visible:=Visible;
W.Documents.Add;
W.ActiveDocument.Shapes.AddOleObject(ClassType:='Equation.3' );
//у меня установлен MathType, он и запускается
end;
end.
Теперь, я полагаю, можно в открывшемся активном MathType что нибудь написать. Только пока никак не получается(.
16.09.2009, 07:17
AdAgent
Объявления
16.09.2009, 20:12   #5
Jora
Новичок
Регистрация: 15.09.2009
Сообщений: 8
Репутация: 3 (3)
Как создать объект MathType (формулу) в MS Word?

я тоже так пробовал, но дальше дело не пошло...

Добавлено через 37 минут
Вот так выглядит документ LaTeX:

Код Code
1
2
3
4
5
6
7
8
9
10
\documentclass{article}
\usepackage{latexsym}
 
\begin{document}
 
\[
[COLOR="Red"]a=\frac{b}{c}[/COLOR]
\]
 
\end{document}
Красным выделена формула. При конвертировании документа обратно в .doc она принимает нормальный вид. Файл .tex набирается в обычном блокноте, т.е. можно без всяких
Цитата Сообщение от limbir Посмотреть сообщение
ComObj
отредактировать файл, что значительно уменьшает затраты системных ресурсов имхо, единственное что меня смущает - сам язык LaTeX... Очень долго все переписывать прийдется...
А вот и процедура для замены в текстовом файле:
Код Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure TForm1.Button1Click(Sender: TObject);
var
 f, f1 : textfile;
 s : string;
begin
 {$i-}
 AssignFile(f, 1.tex);
 reset(f);
 AssignFile(f1, 'temp.tex');
 rewrite(f1);
 {$i+}
 if IOResult=0 then
  begin
   while not eof(f) do
    begin
     readln(f, s);
     s:=AnsiReplaceStr(s, Edit1.Text, Edit2.Text);
     writeln(f1, s);
    end;
   closefile(f);
   closefile(f1);
   erase(f);
   rename(f1, 1.tex);
  end else Label1.Caption:='Ошибка при открытии файла. Код ошибки '+FloatToStr(IOResult);
end;
Без особых наворотов, но зато интуитивно понятно. Жду встречных предложений.

Добавлено через 20 минут
Вот неплохая книга по LaTeX http://itbookz.ru/graphic/latex/81-n...eme-latex.html
16.09.2009, 23:25   #6
Jora
Новичок
Регистрация: 15.09.2009
Сообщений: 8
Репутация: 3 (3)
Как создать объект MathType (формулу) в MS Word?

вот еще что нашел: http://www.softsoft.ru/education/mathematics/14463.htm
может нужно еще и в таком направлении поработать?
17.09.2009, 04:28  [ТС]   #7
limbir
Новичок
Регистрация: 11.09.2009
Сообщений: 9
Репутация: 1 (1)
Как создать объект MathType (формулу) в MS Word?

Цитата Сообщение от Jora Посмотреть сообщение
Красным выделена формула. При конвертировании документа обратно в .doc она принимает нормальный вид.
Вот как конвертировать в .doc я бы и хотел узнать

Цитата Сообщение от Jora Посмотреть сообщение
хм, очень интересно
а есть полная бесплатная версия?)
17.09.2009, 07:16   #8
Jora
Новичок
Регистрация: 15.09.2009
Сообщений: 8
Репутация: 3 (3)
Как создать объект MathType (формулу) в MS Word?

Цитата Сообщение от limbir Посмотреть сообщение
Вот как конвертировать в .doc я бы и хотел узнать
В .doc не пробовал, а в .rtf этой программой - http://sourceforge.net/projects/latex2rtf/files/, она распространяется бесплатно и довольно неплохо конвертирует.

Цитата Сообщение от limbir Посмотреть сообщение
а есть полная бесплатная версия?)
Полной версии пока что не нашел, но еще не сдаюсь))
17.09.2009, 08:27  [ТС]   #9
limbir
Новичок
Регистрация: 11.09.2009
Сообщений: 9
Репутация: 1 (1)
Как создать объект MathType (формулу) в MS Word?

Jora, для конвертирования в .rtf мне необходима только эта программка и файл *.tex, так? или надо устанавливать дополнительно какой то компилятор?
и вот ещё проблемка: устанавливал LaTeX Wid, LeD, но ни один у меня вывести какой нибудь результат не смог, пишут ошибки. чую чего то всё таки не хватает. можешь подсказать чего?)
17.09.2009, 18:55   #10
Jora
Новичок
Регистрация: 15.09.2009
Сообщений: 8
Репутация: 3 (3)
Как создать объект MathType (формулу) в MS Word? / Delphi

дело в том - что я сам пока разбираюсь, начинаю с нуля, подсказать пока нечего, но для конвертирования в .rtf достаточно только той программы и теха (проверял сам). вот код, который я конвертировал с успехом:
Код Code
1
2
3
4
5
6
7
8
9
10
11
\documentclass[12pt]{article}
\usepackage{weird,queer,amssymb,amsmath}
\begin{document}
поехали!
 
\LaTeX
 
\begin{equation}
\sqrt{c}=b\cdot m
\end{equation}
\end{document}
Проблема которую я пока не понял как решить - под корнем стоит ",а" вместо "а". Времени не хватает... Но думаю надо работать именно в этом направлении.
17.09.2009, 18:55
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
MS Word: Word и mathtype
Добрый день. Помогите, пожалуйста, со следующей проблемой... Стоит microsoft office 2010. Появилась необходимость в установке mathtype для написания формул и редактирования файлов с последующим сохранением. Поставил mathtype 6.9. После установки mathtype, word перестал сохранять документы (при...
MS Office Word LeoNeon 21.12.2013 18:50
VBA: Как программно редактировать формулу Equation или Mathtype
как в vba можно програмно редактировать формулу equation или mathtype? например, программно вывести 2 в степени2=4
VBA хач 21.02.2012 16:57
MS Word: Word + MathType.
Работаю в Word + MathType. На русском языке достать документацию по MathType не удалось. Поэтому вопрос. Как в MathType или в Word сохранить часто набираемые формулы? Заранее благодарен за подсказку в любой форме.
MS Office Word НеПрограмист 17.07.2011 11:34
MS Word: Как вставить в MathType, интегрированный в Word, ячейку, связанную с документом Excel?
Уважаемые знатоки, суть вопроса отражена в заголовке. В Word'е оформляется отчет с массой расчетов, которые выполняются в Excel'е. В Word ячейки внедряются, связываются и обновляются, но в MathType, интегрированный в Word - никак не хотят. Как возможно решить эту проблему? Всем - спасибо большое!
MS Office Word Andr66 09.05.2011 13:24
MS Word: MathType открывает другую формулу.
У меня документ Word 2007 в котором много формул набраных в MathType, с какого то момента , пытаясь отредактировать ранее введённую формулу, MathType св своём редакторе стал открывать совершенно другую формулу!!! Что это может быть, документ большей, 150 стр. и еще надо набрать не менее, как же...
MS Office Word Spokoinui 30.04.2011 08:57
Опции темы

Текущее время: 12:24. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.