получить путь, где лежит Notes.exe, на Ls

Тема в разделе "Lotus - Программирование", создана пользователем oshmianski, 6 июл 2009.

  1. oshmianski

    oshmianski Гость

    реестр виндовый не принимается.
     
  2. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    varPrFolder = Evaluate("@ConfigFile")
    PrFolder$ = Strleftback(varPrFolder(0),"notes.ini")
     
  3. oshmianski

    oshmianski Гость

    DNT
    notes.ini и notes.exe могут лежать в разных местах
     
  4. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Меня этот вопрос тоже интересует.
    Правда, мне годится и решение DNT.

    DNT, откуда инфа про
    Код (Text):
    Evaluate("@ConfigFile")
    ?
     
  5. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    ранее где-то нарыл. В 6-ке вроде появилась, собака такая.
     
  6. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Точно, есть в хелпе.
    Никогда не обращал внимания :)
     
  7. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    Curdir$ - не оно?
     
  8. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    оно, если текущую директорию не меняли, например, функцией ChDir или аналогичными
     
  9. oshmianski

    oshmianski Гость

    turumbay
    оно, но не совсем
    Akupaka
    правильно и не только, наверное

    Код (Text):
    Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (Byval hModule As Long, Byval lpFileName As String, Byval nSize As Long) As Long
    Function GetModuleName (moduleName As String) As Boolean
    %REM
    <information>
    <description>
    Function retrieves the full path and filename for the executable file containing the specified module
    </description>

    <input params>
    moduleName - string
    </input params>

    <output params>
    moduleName - full path and filename for the executable file containing the specified module
    </output params>

    <result>
    true - функция выполнена без ощибок
    false - ошибка в функции
    </result>

    <others>
    warning!!! used WinAPI
    </others>
    </information>
    %END REM

    On Error Goto ErrorHandler

    GetModuleName = False

    ModuleName = String (256, Chr (0))

    '0 = current module
    Call GetModuleFileName (0, ModuleName, Len(ModuleName))
    moduleName = Mid (ModuleName, 1, Instr (1, ModuleName, Chr (0), 0) - 1)

    GetModuleName = True

    Ex:
    Exit Function

    ErrorHandler:
    Call ProcessError (LIB_NAME, Err, Error, Erl, Lsi_info (2), Lsi_info (12)) 
    Resume Ex
    End Function
    ProcessError - коментируйте смело.

    проверил на:
    1. notes.ini параметр window_title = "бла-бла"
    2. работу в диалогом окне

    господа, но ведь это виндовопривязанный позор! должны же быть нативные вещи! поделитесь, плс.
     
  10. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    из нативных не похоже, чтобы было... это же системные операции, а лотус как бы не для этих задач... имхо :D
    а для чего это надо, в общем-то?..
     
  11. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Не знаю, для чего это oshmianski, но расскажу зачем мне: у меня есть профайлы баз данных, хотел одним кликом открывать их в дизайнере.
    Т.е. запускать designer.exe с параметрами <SERVER> <PATH>
    А designer.exe лежит рядом с notes.exe :D
     
  12. oshmianski

    oshmianski Гость

    Akupaka
    нужно dll положить рядом с остальными лотусовыми dll.
     
  13. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    и так сто тыщ раз? :D если это нужно тебе одному, то зачем париться?
    а это надо делать на юниксовом сервере? нужна ли автоматизация, в общем?
    если на клиенте, то тогда зачем париться с поиском нативного способа, чем не устраивает Win API?..
     
  14. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Запускай просто "designer.exe", без указания пути. Исполняемые модули при загрузке ищутся и в папке процесса (nlnotes в нашем случае).
    Только параметры <SERVER>!!<PATH>. У меня по крайней мере именно так работает.
     
  15. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Ок, посмотрю когда руки дойдут
     
  16. oshmianski

    oshmianski Гость

    пока используется Window устраивает. а если понадобится в Linux?
    вобщем, ладно, используем пока WinAPI
     
  17. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    "если? если - это хорошо"... :blink:
    а библиотеки эти годятся под линух? а метод выкладывания их под линух аналогичен?
    если так уж надо, то можно выложить их куда угодно, где их может система найти, например, в темп (который в path прописан) :)
     
  18. oshmianski

    oshmianski Гость

    Akupaka
    я не про библы в linux говорил, а про возможность определения места нахождения лотусовых ресурсов.
    ведь есть же @ConfigFile, так почему нет возможности получить путь к ресурсам?
     
  19. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.075
    Симпатии:
    300
    тута лазил по джава полиси и заметил переменную
    System.out.println(System.getProperty("notes.binary"));
    получим хде лежит нотуса (запускали откель)
    почему так думаю... - проверял на линухах на 8.5 и под вайном в обоих случаях прально казала (именно - как пущал)
     
  20. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    если notes.exe и Data в одном каталоге, то можно открыть локальную адресную книгу, которая в лежит в Data, взять путь к базе на каталог выше..
     
Загрузка...

Поделиться этой страницей