Определение Ipшника

alik86

Lotus team
20.11.2008
465
1
#1
Доброго времени, дамы и господа!
Нужна возможность определить IP компа (кнопка на форме, которая при нажатии выдаст пользователю msgbox с IP компьютера за которым он сидит).
Можно ли это сделать, и если это можно, то как?
P.S. Желательно обойтись малой кровью: LS или @... :)
 
K

Klido

#2
с полгода назад аналогичная тема была...
принципиально - подключить виндовое API и взять всё что угодно от компа :)
в инете (sandbox, openntf) есть полно примеров - класс вроде зовут SysInfo

Добавлено: например тут
http://www-10.lotus.com/ldd/46dom.nsf/Sear...81?OpenDocument
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#4
выполник команду на клиенте: ipconfig и спи спокойно :)
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#6
alik86
так ты скриптом её и выполни на вход в базу, постопен или кнопу, в общем в нужном месте
 

azat20

Well-known member
22.07.2008
244
0
#7
Код:
Set WSHNetwork = CreateObject("WScript.Network")
strDomain = WSHNetwork.UserDomain
strUserName = WSHNetwork.UserName
strComputerName = WSHNetwork.ComputerName
Set IPConfigSet =GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
Forall IPConfig In IPConfigSet
If Not Isnull(IPConfig.IPAddress) Then
For i=Lbound(IPConfig.IPAddress) To Ubound(IPConfig.IPAddress)
If strIPAddress = "" Then
strIPAddress = IPConfig.IPAddress(i)
Else
strIPAddress = strIPAddress & ", " & IPConfig.IPAddress(i)
End If
Next
End If
End Forall
doc.whouch=strUserName
doc.whodom=strDomain
doc.whocomp=strComputername
doc.whoip=strIPAddress
 

alik86

Lotus team
20.11.2008
465
1
#9
Извиняюсь за беспокойство, уже все нашел, причем тут же ;)
Пока сделал через WSH, вроде работает...

так ты скриптом её и выполни на вход в базу, постопен или кнопу, в общем в нужном месте
Оо Ояе... всмысле не представляю как это сделать... Как это?

Всем спасибо за предоставленную почву для размышлений - начинаю исследование остальных вариантов (глядишь и мозгов прибавится ;))
P.S. Малой кровью обойтись таки не удалось... Ну ничего, мне полезно...
 

azat20

Well-known member
22.07.2008
244
0
#10
тебе нужен только IP?
тогда создай кнопку,и закинь туда код:
Код:
dim WSHNetwork as Variant
dim IPConfigSet as Variant
dim strIPAddress as String
Set WSHNetwork = CreateObject("WScript.Network")
Set IPConfigSet =GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
Forall IPConfig In IPConfigSet
If Not Isnull(IPConfig.IPAddress) Then
For i=Lbound(IPConfig.IPAddress) To Ubound(IPConfig.IPAddress)
If strIPAddress = "" Then
strIPAddress = IPConfig.IPAddress(i)
Else
strIPAddress = strIPAddress & ", " & IPConfig.IPAddress(i)
End If
Next
End If
End Forall
Print(strIPAddress)
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#12
lmike
никто не хочет тебя слушать...
а я вот сам только что попытался на яве черел LS2J мост сваять ;)
две минуты и адрес готов, без знания жавы ;)
потом начал переделывать и застрял на элементарном ))
как byte в char перегнать? т.е. как 56 преобразовать в "56"? и не могу нарыть нормальный легкий пример... или это не так легко? )
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 583
269
#13
народ проявляет странную упертость и готов на любые костыли ;), даже имея под рукой мощный и достаточно удобный бридж...
по вопросу - всё элементарно ;)
во-первых - это не char, а строка (то что у тя написано)
во-вторых - есть классы, а не простые типы...
byte и Byte
int и Integer
long и Long
и т.п.
конструктор и далее toString()
Код:
byte b=56;
System.out.println( (new Byte(b)).toString());
первоисточник
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Byte.html
http://java.sun.com/j2se/1.4.2/docs/api/ja...ang/Number.html

на будущее
http://java.sun.com/j2se/1.4.2/docs/api/ja...ang/String.html
там конструкторы из чё хош, в том числе - с указанием кодировки

для контектации строк - StringBuffer - скорость и экономия памяти, а то есть любители обвинить java в медлительности ;) (а часто - корявый код)
 

hosm

* so what *
18.05.2009
2 442
6
#14
может, в отдельную тему - ликбез по java ;) ? "мелкие вопросы" по java... а вообще - спб за инфу.
 
13.03.2009
625
1
#15
есть любители обвинить java в медлительности ;) (а часто - корявый код)
насчет медлительности - любители однозначно правы. без доработки продукта напильником работает ужасающе медленно.
До r8 в ln по дефолту отключен just-in-time compiler. В результате код, запущенный в клиенте выполняется в несколько ( по ощущениям - в пять(!!!) ) раз медленней, чем тот же код, запущенный напрямую: %lotushome%/jvm/bin/java.exe имя_класса.
Включение JIT ( производица вручную в notes.ini JavaEnableJIT=1 на страх и риск включающего ) в корне меняет скорость работы.
Радость омрачает только заявление IBM об отказе от отвественности: http://www.ibm.com/developerworks/lotus/li...bles/index.html
Caution: JIT functionality can be unstable and lead to unexpected crashes.
С другой стороны, переход на восьмерку решает все проблемы с производительностью java - кода, а появление xpages - это вообще бомба, которую многие еще не оценили.
http://www.wissel.net/blog/d6plinks/SHWL-7MGFBN - сулит полный отказ от использования агентов, ( появление кэша уровня приложения - сохранение состояний между вызовами ).
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 583
269
#16
я ваще не юзаю 8-ку на клиенте (а на серверах тока думаю), и скорее всего не буду юзать...
либо допилят до нормального состояния, либо нотус умрёт ;)
8-ка, в тек. виде - просто неприемлимо, хуже релизов я ещё не видел
я грю про java как платформу, а не то - что с ней ИБМ сделало

последнее время оно (ИБМ) мне тока и "омрачает радость"