05.08.2008, 18:54 | #6 |
Administrator
|
Сталкивался я с этим правда не в Аксапте, а в Аксессе. Нарыл я на бескрайних просторах следующий код на VB:
Код: ' Расширенное имя польователя (в формате Домен\Пользователь) Private Declare Function GetUserNameAPI Lib "secur32.dll" Alias "GetUserNameExA" (ByVal NameFormat As Long, ByVal lpNameBuffer As String, nSize As Long) As Long Public Function GetWindowsUser() As String Dim sBuffer As String Dim lLen As Long sBuffer = Space(255 + 1) lLen = Len(sBuffer) If CBool(GetUserNameAPI(2, sBuffer, lLen)) Then GetWindowsUser = StrZ(sBuffer) Else GetWindowsUser = "" End If End Function А код, приведенный по ссылке - слишком длинный Его читать долго Функция StrZ - она невстроенная - она просто отсекает для VB символ с кодом 0. Но для полноты картины - приведу и эту функцию: Код: ' Отсекание символа с кодом 0 Public Function StrZ(par As String) As String Dim nSize As Long, i As Long, Rez As String nSize = Len(par) i = InStr(1, par, vbNullChar) - 1 If i > nSize Then i = nSize If i < 0 Then i = nSize StrZ = Mid(par, 1, i) End Function
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 05.08.2008 в 18:59. |
|