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

> ВНИМАНИЕ!

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

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

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


Профи
****

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

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


Цитата
А можно весь проект заархивировать... Желательно с DOC-файлами...

Можно:
Прикрепленный файл  _______.rar ( 76.15 килобайт ) Кол-во скачиваний: 327

На текст особо не обращай внимания, он еще не доделан... wink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Гость






То есть, тебе не надо иметь возможности редактирования файлов?

1. На каждой форме ставишь у TOleContainer-а свойство AutoActivate -> aaManual, это запретит открывать файл для редактирования (вернее, открыть-то можно будет, только для того, чтобы это сделать надо будет выполнить DoVerb(ovPrimary), например, по нажатию кнопки)

2. Popup меню по клику правой кнопкой на TOleContainer-е тоже убираем: AutoVerbMenu -> False

Попробуй внести пока эти изменения...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Профи
****

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

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


Цитата
То есть, тебе не надо иметь возможности редактирования файлов?

Да
Цитата
Попробуй внести пока эти изменения...

Спасибо!! Я об этом как раз спросить собиралась. Изменения успешно внесены))))
А так программа нормальная (всмысле работать будет нормально)?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


Профи
****

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

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


Возникла проблема. Если doc занимает больше одной страницы, то в Ole выводится только первая.
Объясните, пожалуйста, почему и как это исправить?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


Гость






Цитата
Если doc занимает больше одной страницы, то в Ole выводится только первая.
Тебе уже предлагали вариант с Protect-ом... Ты от него почему-то отказалась... Если тебя все-таки заинтересует этот метод, посмотри вот этот проект:
Прикрепленный файл  project.rar ( 47.44 килобайт ) Кол-во скачиваний: 317


(там в папке Files только один исправленный файл, двухстраничный - запускай проект, сразу же жми на кнопку - это файл "Введение", и там, наверху, выше OleContainer-а, увидишь новую кнопочку... После нажатия на эту кнопку будет возможность листать содержимое файла, но никаких доп. панелек уже не будет - я их отключила)

Единственный недостаток этого метода - если пользователь откроет во время работы твоей программы Word, то он тоже будет безо всех тулбаров... Если тебя это не пугает - продолжай идти в этом направлении smile.gif

А вообще-то, я бы попробовала создавать не несколько форм (по одной для каждого документа), а вообще одну, и ней создавать в TOleContainer-е нужный файл через OleContainer.CreateObjectFromFile... Тогда при изменении (тобой, НЕ программой) содержимого файлов не надо будет переприсоединять их к Контейнеру, не понадобится даже перекомпилировать проект, изменения вступят в силу сразу же...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #26


Профи
****

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

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


Цитата
Тебе уже предлагали вариант с Protect-ом... Ты от него почему-то отказалась...

Признаюсь честно, для меня это оказалось сложнова-то... да и инет тогда отрубился - пришлось делать как умею wink.gif

Мне эту работу надо будет сдать на конференцию (районная сессия МАН). Ваши идеи - замечательные, большое за них спасибоgood.gif, но если я сделаю так, мне скорее всего просто не поверят (да и совесть меня замучает - профи все сделали, а я просто тупо списала код)... Так что пусть лучше будет не очень хорошо, но зато свое.
Цитата
я бы попробовала создавать не несколько форм (по одной для каждого документа), а вообще одну

Т.е. форма одна, а Unit'ов несколько? Я правильно поняла?
А тогда будет возможность открыть сразу несколько тем в разных окнах?

Я сейчас попробовала вставить в Ole "введения" edit , но во время выполнения он не двигается вместе с текстом, а в моем варианте двигался (но думаю и это дело попровимое?..).

Ну а все-таки есть другой способ исправить мою ошибку со страницами? smile.gif

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


Гость






Цитата
Ну а все-таки есть другой способ исправить мою ошибку со страницами?
Не думаю, что тебе удастся неактивный (а у тебя он именно неактивный, активизируется OLE-Object вызовом DoVerb) TOLEContainer передвинуть на другую страницу...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #28


Профи
****

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

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


А как его сделать активным или остается только Protect?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #29


Гость






Боюсь тебя огорчить, но для того, чтобы сделать то, что тебе нужно с использованием Word-а тебе придется именно делать Protect с отключением всех тулбаров ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #30


Профи
****

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

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


Ну раз это единственный выход, то буду учиться)))
Что можете сказать на счет этого:
Цитата
...попробовала вставить в Ole "введения" edit , но во время выполнения он не двигается вместе с текстом...
?

p.s. Можете, если не трудно, объяснить мне, что здесь делается (раз уж надо делать так, то надо понять это):
Код
procedure TForm2.Button1Click(Sender: TObject);
var
  ev: olevariant;
  i: integer;
const
  wdNumberOfPagesInDocument = 4;
begin
    OleContainer1.DoVerb(ovShow);
    ev := 2;

    for i:=1 to OleContainer1.OleObject.CommandBars.Count do
      if OleContainer1.OleObject.CommandBars.Item[i].Visible then
        OleContainer1.OleObject.CommandBars.Item[i].Visible:=False;

    OleContainer1.OleObject.Protect(ev);
end;


p.s. Как обычно в последние моменты на меня сходит озарение))) Зачем мне помещать edit'ы и кнопки в OleContainer'е, если это можно сделать под ним!? Так что вопрос отпадает...

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


Гость






Цитата
Можете, если не трудно, объяснить мне, что здесь делается (раз уж надо делать так, то надо понять это):
Можем... Смотри:

procedure TForm2.Button1Click(Sender: TObject);
var
ev: olevariant;
i: integer;
const
wdNumberOfPagesInDocument = 4; { <--- Это - лишняя строка ... }
begin
OleContainer1.DoVerb(ovShow); { Активизируем OLE объект, причем методом Show }
ev := 2; { <--- степень защиты OLE - объекта, "только чтение" }

// А вот тут - проходим по всем тулбарам связанного с контейнером приложения
// и устанавливаем всем невидимость, чтоб не мешали ...
for i:=1 to OleContainer1.OleObject.CommandBars.Count do
if OleContainer1.OleObject.CommandBars.Item[i].Visible then
OleContainer1.OleObject.CommandBars.Item[i].Visible:=False;

// Ну, и наконец - устанавливаем желаемый уровень защиты
OleContainer1.OleObject.Protect(ev);
end;


Кстати, я не отвечал потому, что сделал тебе еще один альтернативный вариант: использование TWebBrowser-а (да, да, именно его smile.gif ) и в нем - открытие того же самого файла, только сохраненного Word-ом в формат MHT - Web Archive... Посмотри, как это может выглядеть:


Прикрепленные файлы
Прикрепленный файл  test.rar ( 10.65 килобайт ) Кол-во скачиваний: 123
 К началу страницы 
+ Ответить 
сообщение
Сообщение #32


Профи
****

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

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


С процедурой я разобралась, спасибо)))

Попробовала открыть и выполнить project1.dpr, но мне вылезло 'class TWebBrowser not found' и SHDocVw.dcu тоже не найден((( Где можно их взять?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #33


Гость






Значит, у тебя в Дельфи они не установлены... blink.gif Странно. В Delphi 6 Enterprise это все уже есть... Какая версия у тебя?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #34


Профи
****

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

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


Сейчас еще больше удивишься, у меня как раз Delphi 6 Enterprise blink.gif
Когда я открывала project1.dpr мне вылезло вот что:
Прикрепленное изображение
Я нажимала и 'пропуск', и 'отмена' результат одинаковый(((
А при выполнении это:
Прикрепленное изображение


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


Гость






У тебя что, вот этого файла нет? blink.gif



Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 
сообщение
Сообщение #36


Профи
****

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

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


Нет((( А можно его сюда выложить?
Кстати, у меня в Source вообще только Rtl, Samples и Vcl!? Может у меня версия неполная...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #37


Гость






Слишком много выкладывать придется... Если бы это было так просто no1.gif Все сложнее, значит у тебя не установлены Packages... Зайди в меню Component -> Install Packages, и проверь, есть ли у тебя "Internet Explorer Components" (это файл {Delphi Path}\Bin\dclie60.bpl)

Если нет - то придется тебе искать этот Package (если он нужен, конечно...) yes2.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #38


Профи
****

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

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


Цитата
есть ли у тебя "Internet Explorer Components" (это файл {Delphi Path}\Bin\dclie60.bpl)

Нет mega_chok.gif
Ну что ж, попробую поикать.
А можно посмотреть, как оно должно было работать (на картинке) rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #39


Гость






Вот так:


Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 
сообщение
Сообщение #40


Профи
****

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

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


Да. Выглядит отлично)))


Ищу, но пока не выходит (надо было хорошо учить английский)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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