Диалоги Lotus developers

  • Автор темы Vagor.ini
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

oshmianski

Обращайте внимание на версию MS Office. То, что работает в 2007-м, не факт, что будет работать в 2002. Проверено, мины есть.
 
D

DNT

Господа как взять переменную окружения Windows? Temp например. сенкс.
 
M

morpheus

Для: DNT
Environ function

Returns information about an environment variable from the operating system

Код:
Dim TempDir As String, tempFile As Integer
Dim tempFileName As String, tempStuff As String
tempStuff$ = InputBox("Enter some temporary information")
TempDir$ = Environ("Temp")
ChDir TempDir$
tempFile% = FreeFile()
tempFileName$ = "myapp.tmp"
Open tempFileName$ For Output As tempFile%
Print #tempFile%, tempStuff$ 
Close tempFile%
 
A

Azrael

Вопросец есть... так в большей степени чисто академический: Как лотус формирует UNID? просто генерирует случайное 32-разрядное 16-ричное число?
 
30.05.2006
1 345
12
BIT
0
Вопросец есть... так в большей степени чисто академический: Как лотус формирует UNID? просто генерирует случайное 32-разрядное 16-ричное число?
Грубо говоря UNID (16 байт, 2х8) состоит из сегмента файла и сегмента документа. Сегмент документа - поясное дата-время его создания с точностью до 0.01сек. Сегмент файла - раньше содержал дату-время создания данной реплики базы. Позже в нем что-то поменяли

Читайте C API док-цию. Там есть целая глава "Анатомия UNID".
 
O

oshmianski

Для: Azrael
смотрим
 
K

Kee_Keekkenen

Для: DNT, с помощью win api

Код:
Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" _
(ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Function TempDir() As String
Dim lngRet As Long
Dim strTempDir As String
Dim lngBuf As Long
strTempDir = String$(255, 0)
lngBuf = Len(strTempDir)
lngRet = GetTempPath(lngBuf, strTempDir)
If lngRet > lngBuf Then
strTempDir = String$(lngRet, 0)
lngBuf = Len(strTempDir)
lngRet = GetTempPath(lngBuf, strTempDir)
End If
TempDir = Left(strTempDir, lngRet)
End Function
 
M

morpheus

Для: Kee_Keekkenen
Красиво :)
но зачем так сложно ;) да и узко получяеться(только для темпов) , ведь для других переменных нужно тоже искать(хотя можно и через реестр)
 
K

Kee_Keekkenen

временный файл
Код:
 Function TempFile(Create As Integer) As String
Dim lpPrefixString As String
Dim lpszPath As String

lpszPath = TempDir
lpPrefixString = "tmp"

lngRet = GetTempFileName(lpszPath, lpPrefixString, 0, lpTempFileName)
strTemp = lpTempFileName
lngRet = Instr(lpTempFileName, Chr$(0))
strTemp = Left(lpTempFileName, lngRet - 1)
If Create = False Then
Kill strTemp
Do Until Dir(strTemp) = ""
Doevents
Loop
End If
TempFile = strTemp
End Function
 
O

oshmianski

временный файл
Код:
 Function TempFile(Create As Integer) As String
Dim lpPrefixString As String
Dim lpszPath As String

lpszPath = TempDir
lpPrefixString = "tmp"

lngRet = GetTempFileName(lpszPath, lpPrefixString, 0, lpTempFileName)
strTemp = lpTempFileName
lngRet = Instr(lpTempFileName, Chr$(0))
strTemp = Left(lpTempFileName, lngRet - 1)
If Create = False Then
Kill strTemp
Do Until Dir(strTemp) = ""
Doevents
Loop
End If
TempFile = strTemp
End Function
я дико извиняюсь. это что? пример использования функции TempDir?
 
K

Kee_Keekkenen

TempFile это функция, которая возвращает временнный файл во временном каталоге (функция использует выше приведенную функцию TempDir)
+ еще моя ошибка - для использования функции TempFile необходимо сделать объявление GetTempFileName:

Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String,ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
 
M

morpheus

Для: Kee_Keekkenen
а к чему это? тут разве спрашивали про временной файл(хотя идея интересная)

Если хотите просто выложить код , кидайте его в link removed
 
O

oshmianski

Для: IsAvailable
здесь посмотри.

что касается второго вопроса, то, если не ошибаюсь, Лотус по-умолчанию считает все новые поля как текстовые, если в этом поле не определено Default Value.
 
I

IsAvailable

Для: oshmianski
Нда... Прикол, конечно... Вроде, разобрался, как бороться с данной проблемой, но всё равно буду продолжать считать сиё явным глюком... Ну через ж... всё это как-то =\

Да и с типом полей... ага - похоже, подхватывает тип по типу содержимого по умолчанию... А если ничего не задано по умолчанию, то вообще говорит, что поля не существует...
Мля... Ну и стоит ли изначально на форму выкладывать поля, прописывать их типы, если потом заходишь на эту форму из кода и всё по новой переопределяешь...

Кстати, еще по поводу видимости полей из кода... У меня форма есть одна... К части полей в ней есть доступ из кода другой формы, а к части - нет. Ну лежат они у меня на секции с ограниченными правами на редактирование, но разве это причина? Через дебагер смотрю на поля переменной с документом, а там в Items только часть полей документа. Всё происходит в одной БД. Может, тоже кто знает, как это поюедить? =\
 
O

oshmianski

Для: oshmianski
Нда... Прикол, конечно... Вроде, разобрался, как бороться с данной проблемой, но всё равно буду продолжать считать сиё явным глюком... Ну через ж... всё это как-то =\
...
я не был бы столь категоричным.
по этому поводу почитать можно еще .

...
Да и с типом полей... ага - похоже, подхватывает тип по типу содержимого по умолчанию... А если ничего не задано по умолчанию, то вообще говорит, что поля не существует...
Мля... Ну и стоит ли изначально на форму выкладывать поля, прописывать их типы, если потом заходишь на эту форму из кода и всё по новой переопределяешь...
...

Поля существуют, просто в диалоге свойств документа они не показываются.
Default value по-хорошему нужно заполнять!!! А если не скриптом обрабатывается документ, а в UI?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!