![]() |
![]() |
![]() |
|
"Живые" пользователи...(монитор без ВК, нужен ворд) | ☑ | ||
---|---|---|---|---|
0
smaharbA
19.05.06
✎
01:14
|
Надаело твердить одно и тоже...(MMF и АЛьФ (да и не только они) не объясняет народу этот вопрос)
скачайте и поглядите... http://www.karat-e.ru/files/api4s1s/monitor.rar (обработка только для примера, исключительные ситуации не отслеживаются) |
|||
1
dyt
19.05.06
✎
01:20
|
супер!
|
|||
2
1C_ZeroMan
19.05.06
✎
06:10
|
Интересное решение ..а как вообще скрипт в тело обработки закидывают? научите, я тоже хочу. :)
|
|||
3
skunk
19.05.06
✎
06:48
|
так их ... знай наших ;))
|
|||
4
Слоняра
19.05.06
✎
06:58
|
(2)В таблице рисунок есть :)
|
|||
5
smaharbA
19.05.06
✎
08:41
|
Ну и где "горячие головы" ? Которые пытаются получить усеров по файлам 1cv7.lck и links.tmp (на прямую)...
|
|||
6
skunk
19.05.06
✎
08:43
|
еще спят...
|
|||
7
Ангел- Хоронитель
19.05.06
✎
09:00
|
(5)ты вышел на тропу войны? :) ворд тоже не у всех есть.
|
|||
8
smaharbA
19.05.06
✎
09:01
|
(7) Да нет, я не о том, я о принципе определения "живых" (кстати это не сложно и к ОО привязать)
|
|||
9
Слоняра
19.05.06
✎
09:01
|
(7)зато как классно!
|
|||
10
mishaPH
19.05.06
✎
09:07
|
чет я суть сего не пойму. как она работает?
|
|||
11
mishaPH
19.05.06
✎
09:08
|
откуда Объект взялся??
|
|||
12
skunk
19.05.06
✎
09:10
|
рожденый ползать летать не может
|
|||
13
Скрипитер
19.05.06
✎
09:11
|
А кому интересно узнавать кто сидит в базе из Предприятия?
Обычно ведь хотят узнать из конфигуратора. Перед тем как сохранять. Для этого нужно скрипт написать, а не на Делфи/1С. |
|||
14
skunk
19.05.06
✎
09:14
|
не скажите товарищ... не скажите... даже поиском по форуму пройдитесь... найдете кучу вопросов
|
|||
15
smaharbA
19.05.06
✎
09:16
|
(13) Да ну ? напиши скрипт только с тем что есть в ОС
|
|||
16
mishaPH
19.05.06
✎
09:16
|
да ладно выделыватся, колись. вот толко та инфа что в твоей таблице, есть в мониторе, так чем они отличаются?
Кроме того как это может помочь определить активность рабботы пользователя? Офис кстати с сервером 2003 и терминалом живет глюкаво, поэтому не стоит на терминал сервере. |
|||
17
mishaPH
19.05.06
✎
09:17
|
и убедить админов поставит офис на терминал мягко сказано не вызовет положительных эмоций
|
|||
18
smaharbA
19.05.06
✎
09:18
|
(16) Ты (0) читал внимательно ?
Суть ветки не в обработке (0), а втом чтобы поняли как определять. |
|||
19
smaharbA
19.05.06
✎
09:18
|
(17) А чем он плох на терминале ? А какже тонкие клиенты без офиса на сервере будут жить?
|
|||
20
skunk
19.05.06
✎
09:20
|
(16)офис на сервере 2003 живет нормально... если руки не из попы растут
|
|||
21
AndrewHV
19.05.06
✎
09:20
|
(0) Такого извращения никогда раньше не видел :)
|
|||
22
mishaPH
19.05.06
✎
09:20
|
у тонких клиентов есть свои компы. там и живет.
подробностей не знаю, но установка офиса на терминальном сервере вызывает у админов приступ истерики. |
|||
23
skunk
19.05.06
✎
09:21
|
что есть тоникий клиент... ну админы ... понаридумывают всяких терминов... хоть стой хоть падай
|
|||
24
AndrewHV
19.05.06
✎
09:22
|
Так все равно файл SYSLOG\links.tmp анализируется :)
|
|||
25
Ангел- Хоронитель
19.05.06
✎
09:22
|
(22)странно, у меня не вызывает, поставил и все путем.
|
|||
26
smaharbA
19.05.06
✎
09:23
|
(22) Убей всех своих админов
(21) Таких "извращений" тут на форуме понатыкал до и более, и твой любимый хук без ВК |
|||
27
AndrewHV
19.05.06
✎
09:23
|
(0) Однако круто получилось :)
|
|||
28
smaharbA
19.05.06
✎
09:24
|
(24) Вопрос в том - "как анализирует ?"
|
|||
29
skunk
19.05.06
✎
09:26
|
анализ должен быть во всем
|
|||
30
AndrewHV
19.05.06
✎
09:27
|
Надо же было так растопырить vba. Прям не могу без слез на это смотреть.
Бедный basic. |
|||
31
AndrewHV
19.05.06
✎
09:28
|
Это как в том фильме корову в истребителе в отсеке для бомб перевозили.
|
|||
32
Скрипитер
19.05.06
✎
09:29
|
(15) - я использую из конфигуратора скрипт ShowIBState::ShowIBStatus - выводит статус базы, но без активных юзеров.
Было бы неплохо выводить и их. |
|||
33
smaharbA
19.05.06
✎
09:29
|
Для тех кто не может найти код объекта "Объект"...
... Public Function КтоВБазе(sPathFile) As Collection Set КтоВБазе = New Collection Set КтоВБазе = GetUser(sPathFile & "\SYSLOG\links.tmp") For i = КтоВБазе.Count To 1 Step -1 If Not КтоВБазе.Item(i).Блокировка Then КтоВБазе.Remove i Next End Function //Class1 Public Текст As String Public Блокировка As Boolean Public Пользователь As Class2 //Class2 Public Имя As String Public Режим As String Public Система As String Public Компьютер As String Public Дата As String Public Время As String //Module Private Type Record rec As String * 1024 End Type Private Const GENERIC_EXECUTE = &H20000000 Private Const GENERIC_READ = &H80000000 Private Const GENERIC_WRITE = &H40000000 Private Const OPEN_EXISTING = 3 Private Const FILE_SHARE_READ = &H1 Private Const FILE_SHARE_WRITE = &H2 Private Const FILE_FLAG_RANDOM_ACCESS = &H10000000 Private Const FILE_ATTRIBUTE_NORMAL = &H0 Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long Private Declare Function LockFile Lib "kernel32" (ByVal hFile As Long, ByVal dwFileOffsetLow As Long, ByVal dwFileOffsetHigh As Long, ByVal nNumberOfBytesToLockLow As Long, ByVal nNumberOfBytesToLockHigh As Long) As Long Private Declare Function UnlockFile Lib "kernel32" (ByVal hFile As Long, ByVal dwFileOffsetLow As Long, ByVal dwFileOffsetHigh As Long, ByVal nNumberOfBytesToUnlockLow As Long, ByVal nNumberOfBytesToUnlockHigh As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Function parse(s) As Class2 Set parse = New Class2 a = Replace(s, vbCrLf, "") a = Replace(a, "{{", "") a = Replace(a, "}}", "") a = Replace(a, "},{", vbCr) arr = Split(a, vbCr) If UBound(arr) = 0 Then Exit Function For i = 0 To UBound(arr) f = Replace(arr(i), """,""", vbCr) f = Replace(f, """", "") arr(i) = Split(f, vbCr)(1) Next parse.Имя = arr(0) Select Case arr(1) Case "C" parse.Система = "Конфигуратор" Case "E" parse.Система = "Предприятие" Case "M" parse.Система = "Монитор" Case "D" parse.Система = "Отладчик" End Select If arr(2) = "N" Then parse.Режим = "Раздельный" ElseIf arr(2) = "Y" Then parse.Режим = "Монопольный" End If parse.Дата = Split(arr(3), ",")(0) parse.Время = Split(arr(3), ",")(1) parse.Компьютер = arr(4) End Function Public Function GetUser(sFile) As Collection Set GetUser = New Collection Close filenumber = FreeFile If Dir(sFile) = vbNullString Then GoTo errH End If Dim MyRecord As Record Open sFile For Random As #filenumber Len = Len(MyRecord) i = 0 Do While Not EOF(filenumber) Get #filenumber, i + 1, MyRecord Set myclass = New Class1 myclass.Блокировка = False myclass.Текст = Trim(MyRecord.rec) Set myclass.Пользователь = parse(Trim(MyRecord.rec)) GetUser.Add myclass, "" & i i = i + 1 Loop Close #filenumber hFile = CreateFile(sFile, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, struct_security, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS Or FILE_ATTRIBUTE_NORMAL, 0) For i = 0 To GetUser.Count - 1 GetUser.Item("" & i).Блокировка = (LockFile(hFile, 2000001 + i, 0, 1, 0) = 0) Call UnlockFile(hFile, 2000001 + i, 0, 1, 0) Next CloseHandle hFile Exit Function errH: For i = 1 To GetUser.Count GetUser.Remove 1 Next Set myclass = New Class1 myclass.Блокировка = True If Err Then myclass.Текст = Trim(Err.Description) & Err.Source Else myclass.Текст = "Not file found -'" & sFile End If GetUser.Add myclass, "Err" End Function ... Можно было и короче и "умнее" но было лениво... |
|||
34
smaharbA
19.05.06
✎
09:31
|
(32) Какой нафих скрипт в конфигураторе ? Ты хоть понял что без сторонних приблуд этого не сделать (вернее далеко не каждому) (знаю что ты об опенконфе)
|
|||
35
AndrewHV
19.05.06
✎
09:31
|
(33) Интересно, а кто догадался во внедренный объект на таблице залезть?
Я вот тоже не сразу все понял. Вот тот квадратик в таблице и есть бомболюк :)))) |
|||
36
AndrewHV
19.05.06
✎
09:33
|
И никто ведь не станет искать в боболюке корову :)))))))
|
|||
37
smaharbA
19.05.06
✎
09:33
|
(35) В таблицу не только такое можно закинуть
Это чисто мое "ноу-хау", можешь даже не искать (хотя в ЖКК и СП об этом вскольз есть) |
|||
38
1C_ZeroMan
19.05.06
✎
09:39
|
(37) я так не играю.. :( нифига не могу понять, куда зырить?
|
|||
39
AndrewHV
19.05.06
✎
09:40
|
(37) Хорошо еще, что ты для объекта границу поставил. Если бы ты его без границы сделал, то наверное никто твой код так и не нашел бы... ну или почти никто. :)
|
|||
40
skunk
19.05.06
✎
09:40
|
в документ ворда надо смотреть
|
|||
41
skunk
19.05.06
✎
09:43
|
а вообще лихо замутил... надо будет снипу показать...
|
|||
42
AndrewHV
19.05.06
✎
09:48
|
Вот из-за таких как автор некторые админы боятся офис на терминальные сервер устанавливать :) Там такого можно натворить ... %D
|
|||
43
Ангел- Хоронитель
19.05.06
✎
09:49
|
(42)можно. но с такими, как автор, админу дружить надо и учиться у него.
|
|||
44
skunk
19.05.06
✎
09:49
|
это очень не правильные админы...
|
|||
45
Скрипитер
19.05.06
✎
09:54
|
(33), (34) - а ято ты сейчас написал? Респект за код. Классы в VBScript есть? Есть. Dynwrap для вызовов API функций есть? Есть, лишь бы не передавались структуры.
Приблуды - COM объекты (Коллекции/Врапперы) - есть в OpenConfе. Сегодня вечером буду переписывать под VBScript. |
|||
46
selenat
19.05.06
✎
10:13
|
(0) Офигеть! Долго искал. :)))
|
|||
47
Ирен
19.05.06
✎
10:22
|
(0) Что-то не поняла - а зачем эта фича нужна?
|
|||
48
MMF
19.05.06
✎
10:24
|
(47) блондинка?
|
|||
49
smaharbA
19.05.06
✎
10:24
|
Я и не пытался код прятать, просто так удобно, еслиб надо было то кодбы лежал прямо в модуле (и на виду) тока врядлибы кто его смог прочитать и даже небылобы объекта таблица и ерт ничембы не рихтовал(нет привычки)
|
|||
50
smaharbA
19.05.06
✎
10:24
|
(48) Кстати тебе спасибо и "^" - (можнт помнишь такого :))
|
|||
51
Ирен
19.05.06
✎
10:25
|
(48) не-а..
|
|||
52
VV_VV
19.05.06
✎
10:25
|
а если монитор.длл скопировать в папаочку бин\конфиг\ , то в конфигураторе заработает красивый монитор. Проверено, мин нет!
|
|||
53
Токс
19.05.06
✎
10:26
|
Ништяк! Как обычно - респект и уважуха!
|
|||
54
VV_VV
19.05.06
✎
10:27
|
+52) конечно, при установленном опенконфе.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |