Doc-файлы, Возможно ли открыть в Memo... |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Doc-файлы, Возможно ли открыть в Memo... |
Айра |
21.01.2007 19:32
Сообщение
#1
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Начала работать в Delphi, так что буду мучить глупыми и неочень вопросами...
Может ли прога открыть и вывести на экран doc-файл со встроенными в него объектами (формулами)? Если может, то как? Расскажите пожалуйста, очень нужно. И еще просьба, дайте ссылку на стандартные процедуры и функции в Дельфе. Заранее спасиибо! |
klem4 |
21.01.2007 20:19
Сообщение
#2
|
Perl. Just code it! Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
DRKB -> Работа с MS Word
Но про импорт формул я там ничего не вижу, да и вообще как-то мне это маловозможным кажется ... Цитата И еще просьба, дайте ссылку на стандартные процедуры и функции в Дельфе Экхм, купи себе учебник хороший В интете полно онлайн учебников. Ну или спрашивай конкретно функции для работы с чем тебя интересуют ? -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
мисс_граффити |
21.01.2007 20:33
Сообщение
#3
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Но про импорт формул я там ничего не вижу, да и вообще как-то мне это маловозможным кажется ... через OLE-контейнер можно попробовать.... сейчас поэкспериментирую, если удастся - расскажу. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
21.01.2007 20:58
Сообщение
#4
|
Гость |
Цитата через OLE-контейнер можно попробовать.... Можно не пробовать, ибо все работает... На Сурсах мы как-то эту тему на 5 страницах развивали, там чего только через OLE не делали с этими формулами... Надо найти ссылку... |
мисс_граффити |
21.01.2007 21:26
Сообщение
#5
|
|||
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Сорри за нарушение правил...
Но только что выяснила, как выглядит OLE-контейнер физически:
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
|||
Айра |
22.01.2007 14:46
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата спрашивай конкретно функции для работы с чем тебя интересуют ? Для работы с числами (целыми, вещественными), чтения и вывода чисел (из/в Edit)... Нашла на диске про OLE, буду разбираться, но ссылку все равно жду с нетерпением... |
мисс_граффити |
22.01.2007 15:39
Сообщение
#7
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Для работы с числами (целыми, вещественными), чтения и вывода чисел (из/в Edit)... Для чтения и вывода... Дело в том, что свойство Edit'a Text - это строка. Соответственно, ее надо преобразовать в число. Для этого можно использовать либо паскалевский val, либо такие конструкции, как StrToInt для целых и StrToFloat для вещественных. И то, и другое - функции, поэтому: a: integer; Для вывода - наоборот: FloatToStr и IntToStr (либо паскалевский Str) Для ввода целых чисел иногда удобнее использовать SpinEdit (закладка Samples палитры компонентов), свойство Value - это целое число. А что еще ты хочешь с числами делать? Цитата Юля, кстати, а ты знаешь, что OLE (Object Linking and Embedding) переводится на русский, как ПиВО (Подключение и Внедрение Объектов)? Знаю, конечно Это, пожалуй, единственное, что нам рассказали про OLE на лекции. Сообщение отредактировано: мисс_граффити - 22.01.2007 15:40 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Айра |
22.01.2007 20:15
Сообщение
#8
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Спасибо!)))))))
Цитата А что еще ты хочешь с числами делать? Размечталась, что есть еще функции и для возведения в степень и т.п... Наивная... А на счет doc'a я так поняла, что файл надо будет открывать в OleContainer'e. Если нет, то где и как? p.s. кстати OLE - это почти в честь меня... Сообщение отредактировано: Айра - 22.01.2007 20:18 |
volvo |
22.01.2007 20:20
Сообщение
#9
|
Гость |
Цитата Размечталась, что есть еще функции и для возведения в степень и т.п... Подключаешь модуль Math и радуешься жизни: Power, IntPower, ... |
Айра |
22.01.2007 21:14
Сообщение
#10
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Благодарствую! А про OLE я правильно поняла?
|
volvo |
22.01.2007 21:19
Сообщение
#11
|
Гость |
Да, работай через OLEContainer...
|
Айра |
22.01.2007 22:36
Сообщение
#12
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Ураааааааа! Я это сделала! Спасибо всем!
А вот теперь думаю. Моя прога, как я раньше хотела, должна была по нажатию кнопки открыть doc-файл (их много), но может обойтись без файлов, так все загнать? Посоветуйте, пожалуйста. И еще. В OLEContainer'e есть что-нибудь вроде прокрутки (я не нашла, а текст большой, неудобно), и кнопки и Edit'ы на нем помещать ведь можно? |
volvo |
22.01.2007 23:20
Сообщение
#13
|
Гость |
|
Айра |
22.01.2007 23:34
Сообщение
#14
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Спасибо!!! Вы меня спасли!!!
p.s. Надеюсь большую часть до завтра сделаю, а тогда недельку мне еще выделят... Сообщение отредактировано: Айра - 22.01.2007 23:35 |
мисс_граффити |
23.01.2007 0:17
Сообщение
#15
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
А что надо сделать, если не секрет? Какое глобальное задание?
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Айра |
23.01.2007 0:17
Сообщение
#16
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Извиняюсь, но за моей дурной головой, всему покоя нет...
Цитата OleContainer1.DoVerb(1); дает доступ к редактированию текста, а в прог-ме это лишнее.В моей книжке написано про ScrollBars (ssVertical), но в OLE я его не нашла. Есть что-нибуть похожее с этой штукой (скроллер вроде называется, забыла). Сообщение отредактировано: Айра - 23.01.2007 0:18 |
volvo |
23.01.2007 0:36
Сообщение
#17
|
Гость |
Нет в TOleContainer-е полос прокрутки...
Но твою проблему можно решить - попробуй сделать так: procedure TForm1.Button1Click(Sender: TObject);и отредактировать текст Я хочу посмотреть, как это у тебя получится... Однако, прокрутка по-преднему работает... Можно еще поотключать всякие ненужные менюшки/кнопочки, если надо - скажи, какие именно, я покажу как они отключаются... |
Айра |
23.01.2007 0:44
Сообщение
#18
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата А что надо сделать, если не секрет? Какое глобальное задание? Помнишь я просила натолкнуть на мысль по т/в - это сюда же. Вобщем должно получиться что-то вроде программы-учебника, в которой помимо теории и практики есть "мини-приложения", где можно ввести свои цифры, что-то посчитать и т.п. А я (впрочем как и многие другие) начала все делать почти в последний момент... Цитата Я хочу посмотреть, как это у тебя получится... Спасибо, volvo! Сейчас начну, как что-то сделаю выложу, но не суди строго... |
Айра |
23.01.2007 22:13
Сообщение
#19
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Вчера ночью (сегодня почти утром ) начала отвечать, но предательски закончилась карточка.
Вот что у меня получилось: Код 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 раздела), получилось следующее (у меня скроллер на форме появлялся сам, когда запускала ее): GlavnoeMenu.pas ( 653 байт ) Кол-во скачиваний: 434 vvedenie.pas ( 358 байт ) Кол-во скачиваний: 447 literarura.pas ( 360 байт ) Кол-во скачиваний: 440 TeoriyaVer.pas ( 1.47 килобайт ) Кол-во скачиваний: 426 Вроде работает, но я особо над ней не издевалась... Жду различных отзывов... p.s. если как-то неправильно вставила файлы (или не те, что не исключено), то научите?... Сообщение отредактировано: Айра - 23.01.2007 22:16 |
volvo |
23.01.2007 22:26
Сообщение
#20
|
Гость |
А можно весь проект заархивировать, и выложить (без EXE и DCU-файлов)? Чтобы можно было откомпилировать и посмотреть именно то, что есть у тебя ... Желательно с DOC-файлами ...
|
Текстовая версия | 23.05.2024 17:54 |