Запуск внешнего приложения

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Запуск внешнего приложения

Сообщение скалогрыз » 06.06.2010 11:51:34

MasteRaf писал(а):Теперь встал такой вопрос - как правильно оформить синтаксис выбора этого файла через OpenDialog ?
Код: Выделить всё
...
with OpenDialog1 do
      if Execute then
         begin
....
    AProcess.CommandLine := '/usr/bin/ooffice -calc ' + "FileName";

Проблема именно в синтаксисе, как правильно вставить переменную FileName? Как только не ставил кавычки, а FileName так и воспринимается, как просто имя переменной.


а ты точно только в Линуксе нуб?
Код: Выделить всё
with OpenDialog1 do
      if Execute then
         begin
....
    AProcess.CommandLine := '/usr/bin/ooffice -calc "'+FileName'"';

а можно более гламурно:
Код: Выделить всё
    AProcess.CommandLine := Format('/usr/bin/ooffice -calc "%s"', [FileName]);



---
пожалуй, стоит ещё подождать, и сам ответ найдёшь :D

Добавлено спустя 3 минуты 41 секунду:
MasteRaf писал(а):Проблема в том, что OpenDialog передает в переменную FileName строку C:/ARM/test.ods
А терминал работает нормально с таким путем /home/master/.wine/drive_c/ARM/test.ods
Как быть?


Ты пишешь программу для Wine или для Linux?
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Запуск внешнего приложения

Сообщение MasteRaf » 06.06.2010 12:38:09

скалогрыз писал(а):Ты пишешь программу для Wine или для Linux?

Да если бы я сам знал )) вообще для Linux задача стояла
Так будет ли различие в пути OpenDialog, при установке lazarus-0.9.28.2-fpc-2.2.4-win32.exe и lazarus-0.9.28.2-0.i586.rpm ???
MasteRaf
новенький
 
Сообщения: 10
Зарегистрирован: 05.06.2010 21:10:25

Re: Запуск внешнего приложения

Сообщение скалогрыз » 06.06.2010 12:52:26

MasteRaf писал(а):Да если бы я сам знал )) вообще для Linux задача стояла
Так будет ли различие в пути OpenDialog, при установке lazarus-0.9.28.2-fpc-2.2.4-win32.exe и lazarus-0.9.28.2-0.i586.rpm ???

Будет! :mrgreen:

это всё фигня! вот если ещё запускать линукс из под VBox, запущенно в Wine! то крышу сорвёт окончательно.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Запуск внешнего приложения

Сообщение MasteRaf » 06.06.2010 12:59:27

Я запускаю Linux через винду с помощью VMware Player. Это имеет значение?
Ну так че делать то? Пыхтеть с установкой lazarus-0.9.28.2-0.i586.rpm ???? I need help :?

Добавлено спустя 5 часов 47 минут 45 секунд:
скалогрыз писал(а): пожалуй, стоит ещё подождать, и сам ответ найдёшь :D

весело конечно ) вроде избавился от Wine, теперь сижу из-под линуксовского lazarus. OpenDialog стал по-человечески работать )
MasteRaf
новенький
 
Сообщения: 10
Зарегистрирован: 05.06.2010 21:10:25

Re: Запуск внешнего приложения

Сообщение minoshi » 06.06.2010 21:24:17

а можно полюбопытствовать : а зачем тебе запускать openoffice именно так?
Код: Выделить всё
/usr/bin/ooffice


что мешает использовать просто
Код: Выделить всё
'ooffice -calc "'+FileName'"'


Линукс не дурак, он сам найдет где лежит твой опенофис
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Запуск внешнего приложения

Сообщение MasteRaf » 06.06.2010 21:33:45

minoshi писал(а):Линукс не дурак, он сам найдет где лежит твой опенофис

Истину глаголишь ) исправил, спасибо )
MasteRaf
новенький
 
Сообщения: 10
Зарегистрирован: 05.06.2010 21:10:25

Re: Запуск внешнего приложения

Сообщение minoshi » 07.06.2010 11:04:10

не во что :)

кстати, если ты пишешь прогу, которая потом будет распространяться (даже если просто среди другей) имей ввиду, что существуют несколько сборок опенофиса, например в archLinux их три, так вот в одном из них редактор текста openoffice называются не
Код: Выделить всё
ooffice  -writer

, а
Код: Выделить всё
soffice -writer


удачи !
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Запуск внешнего приложения

Сообщение v-t-l » 07.06.2010 11:47:22

Odyssey писал(а):Под Windows можно через ShellExecute, под Linux в голову приходит только поиск OpenOffice и запуск его с передачей файла в параметре командной строки.
Код: Выделить всё
AProcess.CommandLine := ' ' + FileName;

xdg-open - "аналог" ShellExecute в Linux
v-t-l
энтузиаст
 
Сообщения: 735
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Запуск внешнего приложения

Сообщение dunin » 20.10.2010 11:24:32

v-t-l писал(а):xdg-open - "аналог" ShellExecute в Linux

Примером использования xdg-open кто-нибудь может поделиться?
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19

Рейтинг@Mail.ru