LibreOffice
Модератор: Модераторы
-
Sergey_Afanasyev
- новенький
- Сообщения: 49
- Зарегистрирован: 22.02.2012 19:30:27
LibreOffice
Как из Lazarus вызвать LibreOffice для просмотра и распечатки файла aaaaa.doc
В поиске набери uOpenOffice
Добавлено спустя 24 минуты 23 секунды:
Вот кусок кода
Добавлено спустя 24 минуты 23 секунды:
Вот кусок кода
Код: Выделить всё
procedure ShowDocumen;
templ_path, n_path, f_name: string ';
Proc: TProcess;
begin
templ_path - путь к файлу
f_name - имя файла
n_path - путь к LibreOffice (sWriter.exe)
Proc:=TProcess.Create(nil);
Proc.CommandLine:=Trim(n_path)+' '+templ_path+f_name//жесткий запуск пробел важен
Proc.Options:=[poWaitOnExit];
Proc.ShowWindow:=swoShowMaximized;
Proc.Execute;
end;
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Sergey_Afanasyev, а обязательно Libre Office?
А то проще через OpenDocument viewtopic.php?p=91579#p91579
А то проще через OpenDocument viewtopic.php?p=91579#p91579
-
Sergey_Afanasyev
- новенький
- Сообщения: 49
- Зарегистрирован: 22.02.2012 19:30:27
Пользователь должен посмотреть и, возможно, кое-что исправить перед распечаткой. Потому был выбран Libre Office.
Я использую для работы с документами uOpenOffice.
Беру дельфийский вариант вот отсюда - http://yuri.elmeh.ru
Преобразую средствами Лазарус модуль Дельфи в модуль Лазарус, а потом минут 10 на исправления.
Ctrl-F9 и исправляем мелкие расхождения. Практически одно - в некоторых местах вместо a := b пишем a := ord(b);
Ну ещё пара-тройка мелких моментов.
И всё, вся мощь Libre Office (я его использую) в моём распоряжении.
Беру дельфийский вариант вот отсюда - http://yuri.elmeh.ru
Преобразую средствами Лазарус модуль Дельфи в модуль Лазарус, а потом минут 10 на исправления.
Ctrl-F9 и исправляем мелкие расхождения. Практически одно - в некоторых местах вместо a := b пишем a := ord(b);
Ну ещё пара-тройка мелких моментов.
И всё, вся мощь Libre Office (я его использую) в моём распоряжении.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Sergey_Afanasyev писал(а):Пользователь должен посмотреть и, возможно, кое-что исправить перед распечаткой.
И? Хочешь сказать, что у тебя установлен просмоторщик офисных файлов? Если откроет в MS Word, думаю, ничего страшного не произойдет. Изменить/распечатать можно и в нем... и еще в нескольких прогах. А LibreOffice у человека может и не быть совсем.
Сейчас скорее наоборот. LibreOffice есть а MS Word нет. Плюс прийдется покупать лицензию.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
mig-31, ситуация бывает разная. У меня, например, стоит три офиса. Пользуюсь постоянно Libre Office.
Лекс Айрин
Представим ситуацию: MS Office на компьютере нет, Libre, допустим, стоит.
Кто даст гарантии, что на открытие файлов .DOC не назначено что ни будь типа MS WRITER? (или как там галимая программа называется, которая есть редактор по умолчанию в XP и подобных ей).
Представим ситуацию: MS Office на компьютере нет, Libre, допустим, стоит.
Кто даст гарантии, что на открытие файлов .DOC не назначено что ни будь типа MS WRITER? (или как там галимая программа называется, которая есть редактор по умолчанию в XP и подобных ей).
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
SSerge, а это уже НЕ проблема программиста. Да и распечатать/исправить документ можно. И, кстати, по умолчанию на открытие doc файлов ничего не стоит.
Добавлено спустя 1 минуту 32 секунды:
Если уж так важно, то пусть пользователь сам указывает в настройках программы чем открывать эти файлы.
Добавлено спустя 1 минуту 32 секунды:
Если уж так важно, то пусть пользователь сам указывает в настройках программы чем открывать эти файлы.
SSerge реестр в подмогу. Если нет необходимого орать благим ма... диалогом: обратитесь к админу.
Лекс Айрин
п.с.
Ведь ответили на вопрос. Зачем мусолить что да как?
Лекс Айрин
- спорный вопрос.а это уже НЕ проблема программиста
п.с.
Ведь ответили на вопрос. Зачем мусолить что да как?
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
pupsik писал(а):- спорный вопрос.
А что тут спорного? Если хочешь заставить человека открывать файлы в определенной программе, то:
1) используй ее родной формат (есть некоторые нюансы отображения, которые неродной прогой могут игнорироваться/неправильно использоваться. Например, у меня пара файлов открываются в LO с ошибками отображения)
2) надо предупреждать о зависимости. Но это уже повод программу не использовать.
Лекс Айрин ситуации бываю разные. Поэтому: спорный вопрос.
п.с.
и при чём тут заставить? Если уж на то пошло то идеал - и либрешка, и мелкософт. И это забота программиста. Т.е. программа должна адекватно среагировать при отсутствии необходимого, а не открывать в чём попало. Или открыть в одном из вариантов.
п.с.
и при чём тут заставить? Если уж на то пошло то идеал - и либрешка, и мелкософт. И это забота программиста. Т.е. программа должна адекватно среагировать при отсутствии необходимого, а не открывать в чём попало. Или открыть в одном из вариантов.
а если это требования заказчика?надо предупреждать о зависимости.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
pupsik писал(а): Если уж на то пошло то идеал - и либрешка, и мелкософт. И это забота программиста. Т.е. программа должна адекватно среагировать при отсутствии необходимого, а не открывать в чём попало.
Вообще-то, именно пользователь решает что есть "попало", а что нет. А предстать, что у него есть какой-нибудь Phoenix Office?
pupsik писал(а):а если это требования заказчика?
Тогда не вопрос. Заказчик просто гарантирует, что он у него установлен.
- wofs
- постоялец
- Сообщения: 379
- Зарегистрирован: 05.10.2009 10:16:55
- Откуда: Астрахань
- Контактная информация:
sign писал(а):Беру дельфийский вариант вот отсюда - http://yuri.elmeh.ru
Преобразую средствами Лазарус модуль Дельфи в модуль Лазарус, а потом минут 10 на исправления.
Простите, а вы не поделитесь преобразованным модулем? А то я что-то застрял на типах при преобразовании
