Как Взять Путь Ко Временным Папкам Пользователя В Ос

Тема в разделе "Lotus - Программирование", создана пользователем GveinBlade, 8 ноя 2012.

Статус темы:
Закрыта.
  1. GveinBlade

    GveinBlade Гость

    Всем привет.
    Вопрос состоит в том как скриптом поднять виндовые временные папки определенные для данныго пользователя. Суть в том, что нужно сохранить файлик из документа во временную папку естественно прав у обычного юзверя для создания папки на C: нет. Следует использовать папки для хранения временных файлов в профиле пользователя определенных ОС, с данной задачей ни разу не сталкивался поэтому не знаю как взять из настроек ОС путь к папке, т.к. он будет менятся в зависимости от пользователя. Может кто сталкивался с данной задачей? Заранее благодарен за помощь.
     
  2. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Код (LotusScript):
    Environ("TEMP")
     
  3. GveinBlade

    GveinBlade Гость

    Тобишь
    скрипт
    Path=Environ("TEMP") 'берет темповую папку по умолчанию
    скрипт
    правильно?
     
  4. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    да, можешь заморочиться и взять Notes-temp:
    Код (LotusScript):
    Declare Function w32_OSGetSystemTempDirectory Lib "nnotes" Alias "OSGetSystemTempDirectory" ( ByVal S As String) As Integer
    Declare Function mac_OSGetSystemTempDirectory Lib "NotesLib" Alias "OSGetSystemTempDirectory" ( ByVal S As String) As Integer
    Declare Function linux_OSGetSystemTempDirectory Lib "libnotes.so" Alias "OSGetSystemTempDirectory" ( ByVal S As String) As Integer

    Dim tempStr as string*256

    Select Case Lcase(Left(ses.Platform,3))
    Case "win":
    s% = w32_OSGetSystemTempDirectory(tempStr)
    Case "mac":
    s% = mac_OSGetSystemTempDirectory(tempStr)
    Case "lin":
    s% = linux_OSGetSystemTempDirectory(tempStr)
    Case Else:
    Goto endh
    End Select

    rempStr = Left(tempStr,s%)
    без разделителя в конце, так что не забудь "/"
     
  5. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    Забыл еще добавить: Dim tempStr as string*256
    Иначче вернет пустую строку
     
  6. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    отрывок из рабочего класса
    Код (LotusScript):
    Public Function getTempDir() As String
    If tempDir = "" Then
    If Instr(Me.s.Platform, "Windows") > 0 Then
    TempDir = Environ("Temp")
    If Right(TempDir, 1) <> "\" Then
    TempDir = TempDir & "\"
    End If
    Else
    TempDir = Environ("HOME")
    If Right(TempDir, 1) <> "/" Then
    TempDir = TempDir & "/"
    End If         
    End If
    End If
    getTempDir = tempDir
    End Function
     
  7. GveinBlade

    GveinBlade Гость

    Спасибо всем!
     
Загрузка...
Статус темы:
Закрыта.

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