IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

3 страниц V  1 2 3 >  
 Ответить  Открыть новую тему 
> Doc-файлы, Возможно ли открыть в Memo...
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Начала работать в Delphi, так что буду мучить глупыми и неочень вопросами... blink.gif
Может ли прога открыть и вывести на экран doc-файл со встроенными в него объектами (формулами)? Если может, то как? Расскажите пожалуйста, очень нужно.
И еще просьба, дайте ссылку на стандартные процедуры и функции в Дельфе. Заранее спасиибо! smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


DRKB -> Работа с MS Word

Но про импорт формул я там ничего не вижу, да и вообще как-то мне это маловозможным кажется ...

Цитата
И еще просьба, дайте ссылку на стандартные процедуры и функции в Дельфе


Экхм, купи себе учебник хороший smile.gif В интете полно онлайн учебников. Ну или спрашивай конкретно функции для работы с чем тебя интересуют ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Цитата
Но про импорт формул я там ничего не вижу, да и вообще как-то мне это маловозможным кажется ...

через OLE-контейнер можно попробовать....
сейчас поэкспериментирую, если удастся - расскажу.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
через OLE-контейнер можно попробовать....
Можно не пробовать, ибо все работает... На Сурсах мы как-то эту тему на 5 страницах развивали, там чего только через OLE не делали с этими формулами... smile.gif Надо найти ссылку...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Сорри за нарушение правил...
Но только что выяснила, как выглядит OLE-контейнер физически:
Прикрепленное изображение

М
Юля, кстати, а ты знаешь, что OLE (Object Linking and Embedding) переводится на русский, как ПиВО (Подключение и Внедрение Объектов)? smile.gif
volvo



--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
спрашивай конкретно функции для работы с чем тебя интересуют ?

Для работы с числами (целыми, вещественными), чтения и вывода чисел (из/в Edit)...

Нашла на диске про OLE, буду разбираться, но ссылку все равно жду с нетерпением... smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Цитата
Для работы с числами (целыми, вещественными), чтения и вывода чисел (из/в Edit)...

Для чтения и вывода...
Дело в том, что свойство Edit'a Text - это строка. Соответственно, ее надо преобразовать в число.
Для этого можно использовать либо паскалевский val, либо такие конструкции, как StrToInt для целых и StrToFloat для вещественных. И то, и другое - функции, поэтому:
a: integer;
...
a:=StrToInt(Edit6.Text);

Для вывода - наоборот: FloatToStr и IntToStr (либо паскалевский Str)
Для ввода целых чисел иногда удобнее использовать SpinEdit (закладка Samples палитры компонентов), свойство Value - это целое число.

А что еще ты хочешь с числами делать?

Цитата
Юля, кстати, а ты знаешь, что OLE (Object Linking and Embedding) переводится на русский, как ПиВО (Подключение и Внедрение Объектов)?

Знаю, конечно smile.gif Это, пожалуй, единственное, что нам рассказали про OLE на лекции. smile.gif

Сообщение отредактировано: мисс_граффити -


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Спасибо!)))))))
Цитата
А что еще ты хочешь с числами делать?

Размечталась, что есть еще функции и для возведения в степень и т.п... Наивная... wink.gif
А на счет doc'a я так поняла, что файл надо будет открывать в OleContainer'e. Если нет, то где и как?
p.s. кстати OLE - это почти в честь меня... smile.gif

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Цитата
Размечталась, что есть еще функции и для возведения в степень и т.п...
Подключаешь модуль Math и радуешься жизни: Power, IntPower, ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Благодарствую! А про OLE я правильно поняла?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Да, работай через OLEContainer...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Ураааааааа! Я это сделала! yahoo!.gif Спасибо всем!
А вот теперь думаю. Моя прога, как я раньше хотела, должна была по нажатию кнопки открыть doc-файл (их много), но может обойтись без файлов, так все загнать? Посоветуйте, пожалуйста.
И еще. В OLEContainer'e есть что-нибудь вроде прокрутки (я не нашла, а текст большой, неудобно), и кнопки и Edit'ы на нем помещать ведь можно?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






Айра, смотри:
Прикрепленное изображение

А всего-то навсего, я добавил одну строку:
    OleContainer1.CreateObjectFromFile(OpenDialog1.FileName, False);
OleContainer1.DoVerb(1); { <--- Вот эту ... }

wink.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Спасибо!!! Вы меня спасли!!! give_rose.gif
p.s. Надеюсь большую часть до завтра сделаю, а тогда недельку мне еще выделят...

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


А что надо сделать, если не секрет? Какое глобальное задание?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Извиняюсь, но за моей дурной головой, всему покоя нет... unsure.gif
Цитата
OleContainer1.DoVerb(1);
дает доступ к редактированию текста, а в прог-ме это лишнее.
В моей книжке написано про ScrollBars (ssVertical), но в OLE я его не нашла. Есть что-нибуть похожее с этой штукой (скроллер вроде называется, забыла).

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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;

и отредактировать текст smile.gif

Я хочу посмотреть, как это у тебя получится... Однако, прокрутка по-преднему работает...

Можно еще поотключать всякие ненужные менюшки/кнопочки, если надо - скажи, какие именно, я покажу как они отключаются...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
А что надо сделать, если не секрет? Какое глобальное задание?

Помнишь я просила натолкнуть на мысль по т/в - это сюда же. Вобщем должно получиться что-то вроде программы-учебника, в которой помимо теории и практики есть "мини-приложения", где можно ввести свои цифры, что-то посчитать и т.п.
А я (впрочем как и многие другие) начала все делать почти в последний момент...
Цитата
Я хочу посмотреть, как это у тебя получится...

Спасибо, volvo!
Сейчас начну, как что-то сделаю выложу, но не суди строго...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Вчера ночью (сегодня почти утром smile.gif) начала отвечать, но предательски закончилась карточка. wink.gif
Вот что у меня получилось:
Код
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 байт ) Кол-во скачиваний: 398

Прикрепленный файл  vvedenie.pas ( 358 байт ) Кол-во скачиваний: 408

Прикрепленный файл  literarura.pas ( 360 байт ) Кол-во скачиваний: 423

Прикрепленный файл  TeoriyaVer.pas ( 1.47 килобайт ) Кол-во скачиваний: 397

Вроде работает, но я особо над ней не издевалась... Жду различных отзывов...

p.s. если как-то неправильно вставила файлы (или не те, что не исключено), то научите?... unsure.gif

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Гость






А можно весь проект заархивировать, и выложить (без EXE и DCU-файлов)? Чтобы можно было откомпилировать и посмотреть именно то, что есть у тебя ... Желательно с DOC-файлами ...
 К началу страницы 
+ Ответить 

3 страниц V  1 2 3 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 30.09.2020 14:01
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name