
Может ли прога открыть и вывести на экран doc-файл со встроенными в него объектами (формулами)? Если может, то как? Расскажите пожалуйста, очень нужно.
И еще просьба, дайте ссылку на стандартные процедуры и функции в Дельфе. Заранее спасиибо!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
![]() |
Айра |
![]()
Сообщение
#1
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Начала работать в Delphi, так что буду мучить глупыми и неочень вопросами...
![]() Может ли прога открыть и вывести на экран doc-файл со встроенными в него объектами (формулами)? Если может, то как? Расскажите пожалуйста, очень нужно. И еще просьба, дайте ссылку на стандартные процедуры и функции в Дельфе. Заранее спасиибо! ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
DRKB -> Работа с MS Word
Но про импорт формул я там ничего не вижу, да и вообще как-то мне это маловозможным кажется ... Цитата И еще просьба, дайте ссылку на стандартные процедуры и функции в Дельфе Экхм, купи себе учебник хороший ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
мисс_граффити |
![]()
Сообщение
#3
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата Но про импорт формул я там ничего не вижу, да и вообще как-то мне это маловозможным кажется ... через OLE-контейнер можно попробовать.... сейчас поэкспериментирую, если удастся - расскажу. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата через OLE-контейнер можно попробовать.... Можно не пробовать, ибо все работает... На Сурсах мы как-то эту тему на 5 страницах развивали, там чего только через OLE не делали с этими формулами... ![]() |
мисс_граффити |
![]()
Сообщение
#5
|
|||
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Сорри за нарушение правил...
Но только что выяснила, как выглядит OLE-контейнер физически: ![]()
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
|||
Айра |
![]()
Сообщение
#6
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата спрашивай конкретно функции для работы с чем тебя интересуют ? Для работы с числами (целыми, вещественными), чтения и вывода чисел (из/в Edit)... Нашла на диске про OLE, буду разбираться, но ссылку все равно жду с нетерпением... ![]() |
мисс_граффити |
![]()
Сообщение
#7
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата Для работы с числами (целыми, вещественными), чтения и вывода чисел (из/в Edit)... Для чтения и вывода... Дело в том, что свойство Edit'a Text - это строка. Соответственно, ее надо преобразовать в число. Для этого можно использовать либо паскалевский val, либо такие конструкции, как StrToInt для целых и StrToFloat для вещественных. И то, и другое - функции, поэтому: a: integer;
...
a:=StrToInt(Edit6.Text);
Для вывода - наоборот: FloatToStr и IntToStr (либо паскалевский Str) Для ввода целых чисел иногда удобнее использовать SpinEdit (закладка Samples палитры компонентов), свойство Value - это целое число. А что еще ты хочешь с числами делать? Цитата Юля, кстати, а ты знаешь, что OLE (Object Linking and Embedding) переводится на русский, как ПиВО (Подключение и Внедрение Объектов)? Знаю, конечно ![]() ![]() Сообщение отредактировано: мисс_граффити - -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Айра |
![]()
Сообщение
#8
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо!)))))))
Цитата А что еще ты хочешь с числами делать? Размечталась, что есть еще функции и для возведения в степень и т.п... Наивная... ![]() А на счет doc'a я так поняла, что файл надо будет открывать в OleContainer'e. Если нет, то где и как? p.s. кстати OLE - это почти в честь меня... ![]() Сообщение отредактировано: Айра - |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата Размечталась, что есть еще функции и для возведения в степень и т.п... Подключаешь модуль Math и радуешься жизни: Power, IntPower, ... |
Айра |
![]()
Сообщение
#10
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Благодарствую! А про OLE я правильно поняла?
|
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Да, работай через OLEContainer...
|
Айра |
![]()
Сообщение
#12
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Ураааааааа! Я это сделала!
![]() А вот теперь думаю. Моя прога, как я раньше хотела, должна была по нажатию кнопки открыть doc-файл (их много), но может обойтись без файлов, так все загнать? Посоветуйте, пожалуйста. И еще. В OLEContainer'e есть что-нибудь вроде прокрутки (я не нашла, а текст большой, неудобно), и кнопки и Edit'ы на нем помещать ведь можно? |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
|
Айра |
![]()
Сообщение
#14
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо!!! Вы меня спасли!!!
![]() p.s. Надеюсь большую часть до завтра сделаю, а тогда недельку мне еще выделят... Сообщение отредактировано: Айра - |
мисс_граффити |
![]()
Сообщение
#15
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
А что надо сделать, если не секрет? Какое глобальное задание?
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Айра |
![]()
Сообщение
#16
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Извиняюсь, но за моей дурной головой, всему покоя нет...
![]() Цитата OleContainer1.DoVerb(1); дает доступ к редактированию текста, а в прог-ме это лишнее.В моей книжке написано про ScrollBars (ssVertical), но в OLE я его не нашла. Есть что-нибуть похожее с этой штукой (скроллер вроде называется, забыла). Сообщение отредактировано: Айра - |
volvo |
![]()
Сообщение
#17
|
Гость ![]() |
Нет в TOleContainer-е полос прокрутки...
Но твою проблему можно решить - попробуй сделать так: procedure TForm1.Button1Click(Sender: TObject);
var ev: variant;
begin
if OpenDialog1.Execute then begin
OleContainer1.CreateObjectFromFile(OpenDialog1.FileName, False);
OleContainer1.DoVerb(ovShow);
ev := 2;
OleContainer1.OleObject.Protect(ev); { <--- !!! }
end;
end;
и отредактировать текст ![]() Я хочу посмотреть, как это у тебя получится... Однако, прокрутка по-преднему работает... Можно еще поотключать всякие ненужные менюшки/кнопочки, если надо - скажи, какие именно, я покажу как они отключаются... |
Айра |
![]()
Сообщение
#18
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата А что надо сделать, если не секрет? Какое глобальное задание? Помнишь я просила натолкнуть на мысль по т/в - это сюда же. Вобщем должно получиться что-то вроде программы-учебника, в которой помимо теории и практики есть "мини-приложения", где можно ввести свои цифры, что-то посчитать и т.п. А я (впрочем как и многие другие) начала все делать почти в последний момент... Цитата Я хочу посмотреть, как это у тебя получится... Спасибо, volvo! Сейчас начну, как что-то сделаю выложу, но не суди строго... |
Айра |
![]()
Сообщение
#19
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Вчера ночью (сегодня почти утром
![]() ![]() Вот что у меня получилось: Код unit proba; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtnrs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; OleContainer1: TOleContainer; OpenDialog1: TOpenDialog; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var ev: variant; begin if OpenDialog1.Execute then begin OleContainer1.CreateObjectFromFile(OpenDialog1.FileName, False); OleContainer1.DoVerb(ovShow); ev := 2; OleContainer1.OleObject.Protect(ev); { <--- !!! } end; end; end. Большая часть кнопок не работает, но если опять попытаться открыть файл (еще раз надовить на кнопку), а потом нажать отмена, то картина получится следующей: ![]() Потом помучалась еще над своей прогой ('работают' только первые 4 раздела), получилось следующее (у меня скроллер на форме появлялся сам, когда запускала ее): ![]() ![]() ![]() ![]() Вроде работает, но я особо над ней не издевалась... Жду различных отзывов... p.s. если как-то неправильно вставила файлы (или не те, что не исключено), то научите?... ![]() Сообщение отредактировано: Айра - |
volvo |
![]()
Сообщение
#20
|
Гость ![]() |
А можно весь проект заархивировать, и выложить (без EXE и DCU-файлов)? Чтобы можно было откомпилировать и посмотреть именно то, что есть у тебя ... Желательно с DOC-файлами ...
|
![]() ![]() |
![]() |
Текстовая версия | 12.04.2025 3:25 |