Hello, clalist!
Народ, кто-нить знает, как имя юзера в сети Новел (НДС) заполучить?
--
WBR, Тимур Ташбаев, mailto:tim@vz111.bryansk.ru, http://www.oka.made.ru
=2.87 3.12 3.62 4.12 4.62 5.30 6.80 9.10 10.20 ...=
(Добавление)
Кажись так
ccode=NWDSCreateContextHandle(context) ! Получить контекст
ccode=NWDSWhoAmI(context,objectName) ! Получить имя пользователя Novell
objectName и есть имя пользователя
В глобалах в
Inside the Global map
MODULE('CALWIN32.LIB')
NWDSWhoAmI(ULONG,*CSTRING),USHORT,RAW,PASCAL
NWDSCreateContextHandle(*ULONG),USHORT,RAW,PASCAL
END
Евгений Десяткин <del@stingr.net>
WNetGetUserName вроде.
Алексей,
начальник отдела ПТО
ООО "ОРК"
mail: alex@jrcn.donetsk.ua, icq: 62605472
www: http://www.nikasoft.co.uk
http://www.clarionline.h1.ru (FAQ-онлайн)
origin: ...Позволь поцеловать в твоем лице твое лицо (а это так немало)...
А прототипы для Клары где взять?
--
WBR, Тимур Ташбаев
Hi,
Были когда-то шаблончики, которые все что делали - это вешали прототипы API новелевского клиента.
ЗЫ. У себя не нашел.
WBR, Nick Tsigouro. MailTo:Nick@arsis.ru
(Добавление)
WNetGetUser(ULONG,*CSTRING,*ULONG),LONG,RAW,PASCAL,NAME('WNetGetUserA')
RozAlex
Написал: ClaList(2)
Получить имя юзера NOVELL
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Поскольку не сказано, какого юзера, то вот пример для залогонившегося юзера рабочей станции нетвари. Из работающей задачи.
Anatoly Kushnir <kushnir@eximbank.com>
--
WBR, Тимур Ташбаев
Написал: ClaList(2)
Код: Выделить всё
!!!!!!!!!!!!!!! Prototypes
Module('NETWIN32.DLL')
NWDSCreateContextHandle(Long),Long,Raw,Pascal,Name('NWDSCreateContextHandle'),DLL
NWDSFreeContext(Long),Long,RAW,Pascal,Name('NWDSFreeContext'),DLL
NWDSVerifyObjectPassword(Long,Long,Long,Long),Long,Raw,Pascal,Name('NWDSVerifyObjectPassword'),DLL
NWNetInit(Long=0,Long=0),Long,RAW,Pascal,Name('NWNetInit'),DLL
NWNetTerm(Long=0),Long,RAW,Pascal,Name('NWNetTerm'),DLL
NWDSWhoAmI(Long,Long),Long,RAW,Pascal,Name('NWDSWhoAmI'),DLL
end
!!!!!!!!!!!!!!!!!!!!! Data
Login CSTRING(121)
LoginA LONG
Password CSTRING(121)
PasswordA LONG
NWHandle LONG
NWHandleA LONG
NWFlags LONG
NWFlagsA LONG
Login1 CSTRING(121)
Login1A LONG
!!!!!!!!!!!!!!!!!!! Code
clear(NWHandle)
NWHandleA=address(NwHandle)
NWFlagsA=address(NWFlags)
LoginA=address(Login)
Login1A=address(Login1)
PasswordA=address(Password)
clear(par#,1)
rc1#=0
rc1#=NWNetInit(-1,-1) !Именно так
if ~rc1#
rc1#=NWDSCreateContextHandle(address(NWHandleA)) ! Обязательно
if ~rc1#
NWFlags=0
rc1#=NWDSWhoAmI(NWHandleA,LoginA) ! Читаем UserName в виде
Квалификатор=UserName
if ~rc1#
pos#=0
pos1#=0
loop
pos1#=instring('=',Login,1,pos1#+1)
if ~pos1#
break
else
pos#=pos1#
end
end
if pos#
Login=sub(Login,pos#+1,len(Login)-pos#) ! извлекаем UserName
end
end
end
end
loop 3 times
rc1#=CheckPass() ! проверка пароля (мож пригодится)
if rc1#=Level:Notify
rc1#=Level:Fatal
break
end
if rc1#=Level:Fatal
cycle
else
break
end
end
clear(Password)
NWDSFreeContext(NWHandleA) ! Обязательно
NWNetTerm() ! Обязательно
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ФРАГМЕНТ CheckPass (проверка пароля)
! Password запролняется юзером вручную (или еще как)
rc1#=NWDSVerifyObjectPassword(NWHandleA,NWFlagsA,LoginA,PasswordA)
clear(Password)
if ~rc1#
Rc=Level:Benign
else
Rc=Level:Fatal
end
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! END
Того, под чьим логином станция, с которой запускаем прогуПоскольку не сказано, какого юзера, ...
Угу. Пасиба! Ща буду прогу делатьто вот пример для залогонившегося юзера рабочей станции нетвари. Из работающей задачи.
--
WBR, Тимур Ташбаев
Написал: ClaList(2)