powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / WizHook - перевод "документации"
25 сообщений из 102, страница 1 из 5
WizHook - перевод "документации"
    #32556839
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было тут упоминание про визхук. Посмотрел, и зачем-то решил «накидать» обнаруженных «переводов».
Модераторам. Буде решите, что оффтоп – удалите, но завтра, сегодня всего не накидаю – уж удалять – так всю свалку.

Здесь собраны сведения о применении объекта WizHook в Access, полученные из
http://www.accessvba.com/showthread.php?s=&threadid=2715
и
http://www.mvp-access.com/juanmafan

оба автора ссылаются на http://www.skrol29.com как на первоисточник кода инициализации функций WizHook и применения функций по работе с макросами.

Поскольку испанским я не владею, для понимания, там, где не хватало «видения кода», пользовался веб-переводчиком. Любопытно, что по субъективным впечатлениям, babelfish.altavista.com гораздо лучше переводит с испанского языка на английский, чем translate.ru с испанского на русский. Хотя это, наверно, психология. Данный текст по существу является попыткой «просто перевода» лишь с небольшими дополнениями по отношению к исходной информации (в отдельных местах), найденной по вышеупомянутым ссылкам . Часть функций не описана или их назначение не вполне очевидно из описания. Было бы хорошо, если бы в этом потоке появились дополнения и замечания.

Список и проверки (где были) приводятся для А2002.

Поскольку «дока» получится длинноватая для простыни – построю небольшую лестницу. Если «это» не будет удалено, то, может - кто чего добавит.
Начнем вот с этого


Ключ инициализации (некоторые функции работают без него) :
Код: plaintext
WizHook.Key =  51488399 

для некоторых функций он не требуется - у меня не всегда аккуратно помечено - где требуется, где нет. Если он и требуется, то, похоже 1 раз на время запуска сеанса. И, похоже, сброс проекта VBA (потеря переменных уровня модуля) не требует переинициализации WizHook.
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556848
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wzAccessUserDataDir()
Возвращает каталог, определяющий местоположение вспомогательных «пользовательских» файлов Акцесс. (вспомогательных файлов, используемых визардами)
У Juan M. Afán de Ribera вызов приводится как

Код: plaintext
1.
2.
3.
4.
5.
Sub wzAccessUserDataDir()
    
    WizHook.Key =  51488399 
    Debug.Print WizHook.AccessUserDataDir
    
End Sub

В действительности (кажется) не требует ключа инициализации.
Возврат типа
C:\Documents and Settings\UserName\Application Data\Microsoft\Access\
В этом каталоге обнаружены файлы Acwzusr.mdt и Acwzusrt.mdt, Второй с таблицами результатов работы upsizing визарда, первый с таблицами масок ввода и прочей информацией, полезной для визардов проектирования объектов акцесс. По крайней мере первая пересоздается при отсутствии. Найдена рекомендация Microsoft
( http://support.microsoft.com/default.aspx?scid=kb;en-us;298984) переименовывать Acwzusr.mdt при обнаружения проблем в работе мастера создания маски ввода.

AccessWizFilePath
Возвращает полный путь к запрошенному файлу надстройки.

Код: plaintext
WizHook.AccessWizFilePath("Acwzmain.mde")
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556849
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VictoshaМодераторам. Буде решите, что оффтоп – удалите, но завтра, сегодня всего не накидаю – уж удалять – так всю свалку.

Почему это вдруг оффтоп??? Не...
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556850
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdpUIDPwd(pbstrUID As String, pbstrPwd As String) As Boolean)
Нет данных
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556855
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnalyzeQuery(Workspace As Workspace, Database As Database, Query As String, Results As String) As Long (требует ключ)

(похожая ??? функция AnalyzeTable)
Функция производит анализ производительности запроса.
Results представляет собой строку, разделенную на подстроки символом Chr(1) и заканчивается результат анализа Chr(2)
В случае, если анализатору запросов сказать нечего, возвращает пустую строку. Содержательный возврат зависит от результата анализа и выглядит приблизительно следующим образом.
-первая подстрока – код, определяющий «тип возврата»
- вторая - полный путь к базе данных
Далее идет результат анализа. Для случая запроса с join-ом между таблицами с неустановленными связями, когда анализатор выдает совет «Таблица Tabl: установите связь с таблицей Tabl2 » получен возврат следующего содержания
R ‘ Recomendation
L:\Victosha\UNotes\VizBase2002.mdb ‘Путь к базе
1 | ? тип связи между таблицами в запросе ?
M |
Table1 ‘ сторона 1
FieldName1
M ‘ сторона M
Table2
FieldName2


Пример обращения

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub AnalizeQuery()
  Dim resultString As String
  Dim resultLong As Long
  Dim tArr
   'WizHook.Key = 51488399
 
  resultLong = WizHook.AnalyzeQuery(DBEngine( 0 ), DBEngine( 0 )( 0 ), "ЖурналУчета", resultString)
  tArr = Split(resultString, Chr( 1 ))
  If Len(resultString) >  0  Then
    For resultLong =  0  To UBound(tArr)
      Debug.Print tArr(resultLong)
    Next
  End If
End Sub
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556857
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnalyzeTable(Workspace As Workspace, Database As Database, Table As String, ReturnDebugInfo As Boolean, Results As String) As Long (требует ключ)
Назначение не очевидно и возврат не так хорошо вычитывается как в случае предыдущей функции.
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556859
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArgsOfActid(Actid As Long) As Long (требуется ключ)

Возвращает количество аргументов для указанного ActionID – идентификатора действия (макрокомадны). Полезна при работе с макросами. Ниже следующий пример показывает ее в паре с WizHook.NameFromActid (далее отдельно рассматриваться не будет) см. также OpenScript

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub wzNameAndArgsOfActid()
   Dim wzActid As Integer
   Dim NombreAccion As String
    
    WizHook.Key =  51488399 
     ' в "первоисточниках" цикл от 1 до 62
 
    For wzActid =  1  To  65 
        NombreAccion = WizHook.NameFromActid(wzActid)
        If NombreAccion <> "" Then
            Debug.Print "ИД действия"; wzActid; "Действие: "; NombreAccion
            Debug.Print "- к-во аргументов: "; _
                WizHook.ArgsOfActid(wzActid)
        End If
    Next

End Sub
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556862
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BracketString(String As String, flags As Long) As Boolean (требуется ключ)

Добавляет прямоугольные скобки [] к строке, пытаясь сформировать допустимое (для последующего Eval) имя. Использует в качестве «разделителей» символы «!» и «.»

Flags:
0 – Не добавлять []
1 – заключить в скобки только неверные части имени
2 – заключить в скобки все подстроки
Возвращаемое значение:
True – В строке ВОЗВРАТА содержится недопустимое имя
False – Строка возврата не содержит недопустимых имен

Пример вызова

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Sub wzBracketString()
Dim wzStr0 As String
Dim wzStr1 As String
Dim wzStr2 As String

    
    WizHook.Key =  51488399 
    
    wzStr0 = "Forms!Имя формы с пробелами.Text1"
    wzStr1 = "Forms!Имя формы с пробелами.Text1"
    wzStr2 = "Forms!Имя формы с пробелами.Text1"
            
    Debug.Print WizHook.BracketString(wzStr0,  0 ), wzStr0
    Debug.Print WizHook.BracketString(wzStr1,  1 ), wzStr1
    Debug.Print WizHook.BracketString(wzStr2,  2 ), wzStr2
    
    Debug.Print
    
    wzStr0 = "Forms!ИмяФормыБезПробелов.Text1"
    wzStr1 = "Forms!ИмяФормыБезПробелов.Text1"
    wzStr2 = "Forms!ИмяФормыБезПробелов.Text1"
    
    Debug.Print WizHook.BracketString(wzStr0,  0 ), wzStr0
    Debug.Print WizHook.BracketString(wzStr1,  1 ), wzStr1
    Debug.Print WizHook.BracketString(wzStr2,  2 ), wzStr2
    
End Sub
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556864
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WizHook.CloseCurrentDatabase (требует ключ)

Эквивалентна Application.CloseCurrentDatabase
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556868
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CreateDataPageControl(DpName As String, CtlName As String, Type As Long, Section As String, SectionType As Long, AppletCode As String, x As Long, y As Long, dx As Long, dy As Long)

? что-то про страницы доступа к данным.
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556870
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WizHook.CurrentLangID() As Long

Возвращает идентификатор текущего языка
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556874
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WizHook.DbcVbProject
Возвращает объект VBProject.. Не требует ссылки на библиотеку расширений VBA

Код: plaintext
1.
2.
3.
4.
5.
Sub getVBEProject()
  Dim tObj
  WizHook.Key =  51488399 
  Set tObj = WizHook.DbcVbProject
  
End Sub
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556879
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmbedFileOnDataPage ? что-то про страницы доступа к данным.
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556881
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EnglishPictToLocal(In As String, Out As String) As Boolean

Преобразует английские имена «стандартных» форматов к локальным

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Sub wzEnglishPictToLocal()
Dim wzIn( 16 ) As String
Dim wzOut As String
Dim i As Integer

    WizHook.Key =  51488399 
    
    sIn( 0 ) = "General Date"
    sIn( 1 ) = "Long Date"
    sIn( 2 ) = "Medium Date"
    sIn( 3 ) = "Short Date"
    sIn( 4 ) = "Long Time"
    sIn( 5 ) = "Medium Time"
    sIn( 6 ) = "Short Time"
    sIn( 7 ) = "General Number"
    sIn( 8 ) = "Currency"
    sIn( 9 ) = "Euro"
    sIn( 10 ) = "Fixed"
    sIn( 11 ) = "Standard"
    sIn( 12 ) = "Percent"
    sIn( 13 ) = "Scientific"
    sIn( 14 ) = "True/False"
    sIn( 15 ) = "Yes/No"
    sIn( 16 ) = "On/Off"
    
    For i =  0  To  16 
        WizHook.EnglishPictToLocal sIn(i), sOut
        Debug.Print sIn(i) & ": " & sOut
    Next
        
End Sub
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556883
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FGetMSDE ?
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556884
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FileExists(File As String) As Boolean (требует ключ)

Проверяет существование указанного файла в файловой системе
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556887
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Function FirstDbcDataObject(Name As String, ObjType As AcObjectType, Attribs As Long) As Boolean

Заполняет Name первым именем объекта типа таблица или запрос, возвращая в ObjType тип этого объекта. 0 – таблица, 1 – запрос.
Attribs – атрибут для поиска.
Пример вызова

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Sub wzFirstDbcDataObject()
Dim wzName As String
Dim wzObjType As Long
Dim wzAttribs As Long

Const wzNormal =  0 
Const wzHidden =  8 
Const wzLinked =  2097152 

    WizHook.Key =  51488399 

    WizHook.FirstDbcDataObject wzName, wzObjType, _
                               wzAttribs
    Debug.Print "Имя: " & wzName
    Debug.Print "Тип: " & iif(wzObjType =  0 , "Таблица", _
                               "Запрос")
    
    Debug.Print "Атрибуты:",
    If (wzAttribs And wzNormal) = wzNormal Then
        Debug.Print "Обычный",
    End If
    If (wzAttribs And wzHidden) = wzHidden Then
        Debug.Print "Скрытый",
    End If
    If (wzAttribs And wzLinked) = wzLinked Then
        Debug.Print "Звязанный объект"
    End If
    
End Sub
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556892
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIsFEWch ?
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556893
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FullPath(RelativePath As String, FullPath As String) As Integer (требует ключ)

Возвращает абсолютный путь на основе полученной строки относительного пути и сведений о текущем каталоге Access.
Пример использования

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub wzFullPath()
Dim wzRelativePath As String
Dim wzFPath As String

    WizHook.Key =  51488399 
    
    wzRelativePath = "NewFolder/file.ext"
    WizHook.FullPath wzRelativePath, wzFPath
    Debug.Print wzFPath
    
End Sub
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556897
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WizHook.GetColumns(bStrBase as string) as string

Возвращает строку имен столбцов (из таблицы – проверено, может быть запроса – не проверено), разделенных точкой с запятой (возможно зависит от установленного разделителя списков)

Код: plaintext
1.
2.
3.
4.
Sub wzCol()
  Dim sRet  As String
  WizHook.Key =  51488399 
  sRet = WizHook.GetColumns("vec_hist")
End Sub
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556899
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Function GetCurrentView(bstrTableName As String) As Long
Member of Access.WizHook ?
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556903
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GetFileName(hwndOwner As Long, AppName As String, DlgTitle As String, OpenTitle As String, File As String, InitialDir As String, Filter As String, FilterIndex As Long, View As Long, flags As Long, fOpen As Boolean) As Long (требует ключ)

Диалог открытия/сохранения файлов.
fOpen=True – откыть
fOpen=False – сохранить
flags – в паре с View определяет вид отображения элементов в диалоге.

View = 0 и flags = 0
Вид: Список
View = 0 и flags = 64
Вид: Детальный
View = 1 и flags = 64
Вид: «Устаревший вид» ? – yt ghjdthtyj
View = 2 и flags = 64
Вид: «Свойства»
дополнительно:
View = 0 и flags = 32
Просмотри выбор только каталогов
' View = 0 y flags = 12
мультиселект – позволяет выбрать несколько файлов

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
Sub wzGetFileName()
Dim wzhwndOwner As Long
Dim wzAppName As String
Dim wzDlgTitle As String
Dim wzOpenTitle As String
Dim wzFile As String
Dim wzInitialDir As String
Dim wzFilter As String
Dim wzFilterIndex As Long
Dim wzView As Long
Dim wzflags As Long
Dim wzfOpen As Boolean
Dim ret As Long
    
    WizHook.Key =  51488399 
    
    wzhwndOwner =  0 &
    wzAppName = ""
    wzDlgTitle = "Cuadro de diбlogo con WizHook"
    wzOpenTitle = "Abrir con Wz"
    wzFile = String( 255 , Chr( 0 ))
    wzInitialDir = ""
    wzFilter = "Archivos grбficos " _
    & "(*.wmf;*.emf;*.dib;*.bmp;*.ico;" _
    & "*.pcx;*.pcx;*.jpg;*.gif;*.png)"
    wzFilterIndex =  1 
    wzView =  1 
    wzflags =  64 
    wzfOpen = True

    ret = WizHook.GetFileName(wzhwndOwner, _
        wzAppName, wzDlgTitle, wzOpenTitle, wzFile, _
        wzInitialDir, wzFilter, wzFilterIndex, _
        wzView, wzflags, wzfOpen)
        
 ' Проверим, не произошел ли возврат в результате нажатия клавиши Esc (-302)
 
    If ret <> - 302  Then
        MsgBox "Выбран файл: " & wzFile
    End If

End Sub



GetFileName2(hwndOwner As Long, AppName As String, DlgTitle As String, OpenTitle As String, File As String, InitialDir As String, Filter As String, FilterIndex As Long, View As Long, flags As Long, fOpen As Boolean, fFileSystem) As Long
Судя по всему, дополнена параметром выбора только элементов файловой системы.

Работа не проверена.
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556905
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GetFileOdso(bstrExt As String, bstrFilename As String) As Long

Работа не проверена, судя по всему, возвращает по полученному имени файла источника данных офис - *.ods содержащуюся в нем строку подключения. При подаче неверного имени файла открывает диалог поиска файла-источника данных. Требуется уточнение
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556906
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GetInfoForColumns(bstrBase As String) As String

Похоже на информацию о типах данных полей таблицы. Значения мной не расшифровывались.
...
Рейтинг: 0 / 0
WizHook - перевод "документации"
    #32556911
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GetScriptString(HScr As Long, ScriptColumn As Long, Value As String) As Boolean

Метод возвращает значения для различных столбцов макроса. Возвращает истину , если выполнился успешно

Аргументы
HScr – Long – идентификатор (манипулятор) макроса
ScriptColumn – Long – столбец макроса. 0 – Имя макроса, 1 – комментарий, 2 – Условие, 3 - 12 аргументы
Value – значение, содержащееся в запрошенном столбце.

Рибера указывает, что образцом для нижеприведенного кода послужили V-tools 2000-2002 c http://www.skrol29.com

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
 ' API для закрытия макроса в памяти
 
Private Declare Sub fCloseHscr _
            Lib "msaccess.exe" _
            Alias "#20" _
            (ByVal HScr As Long)
            
 ' API для перехода к строке макроса
 
Private Declare Function fNextHscr _
            Lib "msaccess.exe" _
            Alias "#22" _
            (ByVal HScr As Long, _
            ByVal fSkipBlank As Long, _
            pfEndOfScript As Long) As Long
            
 ' API для получения действия, соответствующего строке макроса
 
Private Declare Function ActidOfHscr _
            Lib "msaccess.exe" _
            Alias "#29" _
            (ByVal HScr As Long) As Long

Sub wzGetScriptString()
Dim hMacro As Long
Dim wzScript As String
Dim wzLabel As String
Dim wzOpenMode As Long
Dim wzExtra As Long
Dim wzVersion As Long
Dim mAction As Variant
Dim mLabel As String
Dim mComment As String
Dim mCondition As String
Dim mArgument As String
Dim EndOfScript As Long

     ' Имя макроса
 
    wzScript = "Пример макроса"
     ' способ чтения
 
    wzOpenMode =  0 
    
    WizHook.Key =  51488399 
     ' Читаем макрос
 
    hMacro = WizHook.OpenScript(wzScript, _
        wzLabel, wzOpenMode, wzExtra, wzVersion)
     ' Позиционируемся для работы в обратном порядке
 
    fNextHscr hMacro,  0 &, EndOfScript
     ' Значение для действия
 
    mAction = ActidOfHscr(hMacro)
     ' передаем значение по цепочке
 
    mAction = WizHook.NameFromActid(mAction)
     ' значение столбца Имя макроса
 
    WizHook.GetScriptString hMacro,  0 &, mLabel
     ' значение столбца Комментария
 
    WizHook.GetScriptString hMacro,  1 &, mComment
     ' значение столбца условия
 
    WizHook.GetScriptString hMacro,  2 &, mCondition
     ' значение первого аргумента для действия
 
    WizHook.GetScriptString hMacro,  3 &, mArgument
    
    Debug.Print "Имя макроса:", mLabel
    Debug.Print "Условие:", mCondition
    Debug.Print "Действие:", mAction
    Debug.Print "Комментарий:", mComment
    Debug.Print "1-ый аргумент:", mArgument

End Sub
...
Рейтинг: 0 / 0
25 сообщений из 102, страница 1 из 5
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / WizHook - перевод "документации"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]