Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Есть ли число в списке чисел (то же что IN(...), только в коде) / 25 сообщений из 33, страница 1 из 2
04.11.2017, 16:39
    #39547786
Настаев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Всем привет!

В конструкторе Access есть удобная инструкция IN
Мне нужно то же самое, только в коде VBA
Например: есть число 7
Как узнать, есть ли это число в списке чисел "3,18,15,389,45"
...
Рейтинг: 0 / 0
04.11.2017, 17:07
    #39547789
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Настаев,

какой ваш вариант?
...
Рейтинг: 0 / 0
04.11.2017, 17:24
    #39547791
Настаев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Вакшуль Сергей, в данном примере числа нет в указанном списке

Я пишу в коде следующим образом (но это неудобно).
Код: vbnet
1.
2.
3.
4.
5.
6.
Select Case число

    Case Is = "2,4,5,788,28"
    Case Else
    
End Select


Хотелось бы в одной строчке типа
Код: xml
1.
число = [2,4,5,788,28]
...
Рейтинг: 0 / 0
04.11.2017, 18:34
    #39547803
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
НастаевКак узнать, есть ли это число в списке чисел "3,18,15,389,45"
Код: vbnet
1.
",3,18,15,389,45," like "*," & число & ",*"


Проверка в Immediate
Код: vbnet
1.
2.
3.
4.
число=389: ?",3,18,15,389,45," like "*," & число & ",*"
True
число=499: ?",3,18,15,389,45," like "*," & число & ",*"
False
...
Рейтинг: 0 / 0
04.11.2017, 18:53
    #39547808
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Настаев
Код: vbnet
1.
    Case Is = "2,4,5,788,28"



это все равно, что:
Код: vbnet
1.
    If myText = "2,4,5,788,28"


не пойму как вы "число" сравниваете со строкой "2,4,5,788,28". Вы должны получать Type mismatch ошибку выполнения

Может вы пытаетесь сделать что-то подобное?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Function IsItemInAddedToList(strList As String, strItem) As Boolean
Dim strArr
Dim i As Long
    strArr = Split(strList, ",")
    For i = 0 To UBound(strArr)
        If strArr(i) = strItem Then
            IsItemInAddedToList = True
            Exit Function
        End If
    Next i
End Function


Вызов:
Код: plaintext
?IsItemInAddedToList("1,2,22,11,7,77,8", "111")

я не понял ваших сложностей.
вы зашили список значений в код "2,4,5,788,28"
т.е. он не меняется. Тогда, что значит ваше "это неудобно", если он неизменный и вы его уже перечислили.

Если массивы не нравятся, попробуйте коллекции:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub test()
Dim idsList As New Collection
    idsList.Add 1, "1"
    idsList.Add 11, "11"
    idsList.Add 111, "111"
    If idsList("11") = 111 Then
        Debug.Print "число 11 есть в списке"
    Else
        Debug.Print "числа 11 нет в списке"
    End If
End Sub
...
Рейтинг: 0 / 0
04.11.2017, 19:07
    #39547810
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
с текстом сообщения "числа 11 нет в списке" я намутил, но суть понятна: обращаясь по интересуемому значению к коллекции можно понять есть ли такой элемент в коллекции или нет
...
Рейтинг: 0 / 0
04.11.2017, 19:34
    #39547815
Настаев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Вакшуль Сергей, я случайно написал в кавычках список значений, испльзуя Select
Вариант с использованием Like отлично подходит. Как я сам не дагадался? :)

да, список чисел у меня статичный, меняется только число
Всем спасибо за помощь...
...
Рейтинг: 0 / 0
04.11.2017, 21:18
    #39547840
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
кстати, решил проверить, что быстрее сравнение like-ом
Код: vbnet
1.
",3,18,15,389,45," like "*," & число & ",*"

или при использование коллекции

Коллекция быстрее. Но все, конечно, определяется контекстом.

Option Explicit
Private Declare Function GetTickCount Lib "kernel32" () As Long

Sub TestComp()
Dim idsList As New Collection
Dim startTime, diffTime As Long
Dim i As Long
Dim result As String
Dim strList As String
Dim blnComp As Boolean
Dim counter As Long

counter = 9999

For i = 0 To counter
idsList.Add i, CStr(i)
Next i

startTime = GetTickCount
For i = 0 To counter
blnComp = idsList(CStr(i)) = i
Next i
diffTime = GetTickCount - startTime
Debug.Print "Использование коллекции. Считываний: " & counter + 1 & " раз. Время: " & diffTime

'=====================================
strList = ","
For i = 0 To counter
strList = strList & i & ","
Next i

startTime = GetTickCount
For i = 0 To counter
blnComp = strList Like "*," & CStr(i) & ",*"
Next i
diffTime = GetTickCount - startTime
Debug.Print "Использование Like. Считываний: " & counter + 1 & " раз. Время: " & diffTime

End Sub

Код: vbnet
1.
2.
Использование коллекции. Считываний: 10000 раз. Время: 31
Использование Like.      Считываний: 10000 раз. Время: 2808
...
Рейтинг: 0 / 0
04.11.2017, 21:35
    #39547844
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Настаевда, список чисел у меня статичный, меняется только числоНастаевХотелось бы в одной строчке типа
Код: vbnet
1.
число = [2,4,5,788,28]




Вы так, наверно, хотели?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub ttt()
Dim n As Long
    n = 788
    Select Case n
        Case 2, 4, 5, 788, 28
            MsgBox "да"
        Case Else
            MsgBox "нет"
    End Select
End Sub
...
Рейтинг: 0 / 0
04.11.2017, 21:47
    #39547851
Настаев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Вакшуль СергейНастаевда, список чисел у меня статичный, меняется только числоНастаевХотелось бы в одной строчке типа
Код: vbnet
1.
число = [2,4,5,788,28]




Вы так, наверно, хотели?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub ttt()
Dim n As Long
    n = 788
    Select Case n
        Case 2, 4, 5, 788, 28
            MsgBox "да"
        Case Else
            MsgBox "нет"
    End Select
End Sub



да, именно так я и сделал
Но я тут прочитал про коллецкию и понял, что мне нужна скорость ))) Хорошо, что есть форум
...
Рейтинг: 0 / 0
04.11.2017, 21:49
    #39547854
Настаев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Вакшуль Сергейкстати, решил проверить, что быстрее сравнение like-ом
Код: vbnet
1.
",3,18,15,389,45," like "*," & число & ",*"

или при использование коллекции

Коллекция быстрее. Но все, конечно, определяется контекстом.

Option Explicit
Private Declare Function GetTickCount Lib "kernel32" () As Long

Sub TestComp()
Dim idsList As New Collection
Dim startTime, diffTime As Long
Dim i As Long
Dim result As String
Dim strList As String
Dim blnComp As Boolean
Dim counter As Long

counter = 9999

For i = 0 To counter
idsList.Add i, CStr(i)
Next i

startTime = GetTickCount
For i = 0 To counter
blnComp = idsList(CStr(i)) = i
Next i
diffTime = GetTickCount - startTime
Debug.Print "Использование коллекции. Считываний: " & counter + 1 & " раз. Время: " & diffTime

'=====================================
strList = ","
For i = 0 To counter
strList = strList & i & ","
Next i

startTime = GetTickCount
For i = 0 To counter
blnComp = strList Like "*," & CStr(i) & ",*"
Next i
diffTime = GetTickCount - startTime
Debug.Print "Использование Like. Считываний: " & counter + 1 & " раз. Время: " & diffTime

End Sub

Код: vbnet
1.
2.
Использование коллекции. Считываний: 10000 раз. Время: 31
Использование Like.      Считываний: 10000 раз. Время: 2808



Спасибо за этот пример. Мне он как раз к стати. Я добавил в избранное. Сейчас буду применять
...
Рейтинг: 0 / 0
04.11.2017, 21:51
    #39547856
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
НастаевХорошо, что есть форум
хорошо, что есть интернет.

но вот я не пойму, как вы выделив в коде "case" и нажав F1, не увидели ответ на свой вопрос
...
Рейтинг: 0 / 0
04.11.2017, 21:56
    #39547859
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Вариация с отвязанным рекордсетом осталась нераскрыта.
:)
...
Рейтинг: 0 / 0
05.11.2017, 10:35
    #39547950
Filter,
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
самый простой способ, через функцию Filter

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub test1()
    Dim V
    V = Array(1, 2, 3, 4, 5)

    Debug.Print UBound(Filter(V, 1))
    Debug.Print UBound(Filter(V, 6))
End Sub


Код: plaintext
1.
2.
test1
 0 
-1 

Только нужно учитывать, что она работает со строками, и ищет по подобию.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub test1()
    Dim V
    V = Array(11, 2, 3, 4, 5)

    Debug.Print UBound(Filter(V, 1))
    Debug.Print UBound(Filter(V, 6))
End Sub


Код: plaintext
1.
2.
test1
 0 
-1 
...
Рейтинг: 0 / 0
05.11.2017, 14:57
    #39547994
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Если ужо тредстартеру так втемяшилось, то, проще, функцию написать

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Function InArr(x As Integer, xx As Variant) As Boolean
  
 Dim i As Variant
 
 For Each i In xx
   If i = x Then
     InArr = True
     Exit Function
   End If
 Next
 
 InArr = False

End Function


Sub test()

 Debug.Print InArr(3, Array(1, 2, 3, 4))
 Debug.Print InArr(33, Array(1, 2, 3, 4))

End Sub
...
Рейтинг: 0 / 0
05.11.2017, 15:14
    #39547998
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Filter,самый простой способ, через функцию Filter...
Только нужно учитывать, что она работает со строками, и ищет по подобию.учесть это можно, например, так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Function ArrayContainsElement(searchedArray As Variant, soughtElement As String, Optional delimiter As String = ",", Optional marker As String = "!") As Boolean
    Dim filteredArray As Variant
    Dim joinedElements As String
    'pre-filter the array for elements containing 1
    filteredArray = Filter(searchedArray, soughtElement, True)
    If UBound(filteredArray) > -1 Then
        'mark the beginning and end of each found element
        'marker and delimiter must be characters that
        'don't occur in any element of the array!
        joinedElements = marker & Join(filteredArray, marker & delimiter & marker) & marker
        If InStr(joinedElements, marker & soughtElement & marker) > 0 Then
            ArrayContainsElement = True
            Exit Function
        End If
    End If
End Function



сейчас заодно и посмотрим, что будет быстрее коллекции или использование Filter. Сейчас....
...
Рейтинг: 0 / 0
05.11.2017, 16:14
    #39548013
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
не знаю, чего я вцепился в это сравнение. Но скорость работы с коллекциями действительно удивила.
Тестовый стенд:
Код: vbnet
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.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
Option Compare Database
Option Explicit
Private Declare Function GetTickCount Lib "kernel32" () As Long

Sub TestComp()
Dim idsList As New Collection
Dim startTime, diffTime As Long
Dim i As Long
Dim result As String
Dim strList As String
Dim blnComp As Boolean
Dim counter As Long
Dim testArr

    counter = 9999
    
    For i = 0 To counter
        idsList.Add i, CStr(i)
    Next i
    
    startTime = GetTickCount
    For i = 0 To counter
        blnComp = idsList(CStr(i)) = i
    Next i
    diffTime = GetTickCount - startTime
    Debug.Print "Использование коллекции.                       Считываний: " & counter + 1 & " раз. Время: " & diffTime
    
    '=====================================
    strList = ","
    For i = 0 To counter
        strList = strList & i & ","
    Next i
    
    startTime = GetTickCount
    For i = 0 To counter
        blnComp = strList Like "*," & CStr(i) & ",*"
    Next i
    diffTime = GetTickCount - startTime
    Debug.Print "Использование Like.                            Считываний: " & counter + 1 & " раз. Время: " & diffTime
    
    '=====================================
    
    ReDim testArr(counter + 1)
    For i = 0 To counter
        testArr(i) = i
    Next i
    
    startTime = GetTickCount
    For i = 0 To counter
        blnComp = ArrayContainsElement_v1(testArr, CStr(i))
    Next i
    diffTime = GetTickCount - startTime
    Debug.Print "Использование функции ArrayContainsElement_v1. Считываний: " & counter + 1 & " раз. Время: " & diffTime
    
    '=====================================
    
    ReDim testArr(counter + 1)
    For i = 0 To counter
        testArr(i) = i
    Next i
    
    startTime = GetTickCount
    For i = 0 To counter
        blnComp = ArrayContainsElement_v2(testArr, CStr(i))
    Next i
    diffTime = GetTickCount - startTime
    Debug.Print "Использование функции ArrayContainsElement_v2. Считываний: " & counter + 1 & " раз. Время: " & diffTime
    
    '=====================================
    
    ReDim testArr(counter + 1)
    For i = 0 To counter
        testArr(i) = i
    Next i
    
    startTime = GetTickCount
    For i = 0 To counter
        blnComp = InArr(i, testArr)
    Next i
    diffTime = GetTickCount - startTime
    Debug.Print "Использование функции InArr.                   Считываний: " & counter + 1 & " раз. Время: " & diffTime
    
End Sub


Function ArrayContainsElement_v1(searchedArray As Variant, soughtElement As String, Optional delimiter As String = ",", Optional marker As String = "!") As Boolean
    Dim filteredArray As Variant
    Dim joinedElements As String
    'pre-filter the array for elements containing 1
    filteredArray = Filter(searchedArray, soughtElement, True)
    If UBound(filteredArray) > -1 Then
        'mark the beginning and end of each found element
        'marker and delimiter must be characters that
        'don't occur in any element of the array!
        joinedElements = marker & Join(filteredArray, marker & delimiter & marker) & marker
        If InStr(joinedElements, marker & soughtElement & marker) > 0 Then
            ArrayContainsElement_v1 = True
            Exit Function
        End If
    End If
End Function

Function ArrayContainsElement_v2(searchedArray As Variant, soughtElement As String, Optional delimiter As String = ",", Optional marker As String = "!") As Boolean
    Dim filteredArray As Variant
    Dim filteredArray2 As Variant
    Dim joinedElements As String
    'pre-filter the array for elements containing 1
    filteredArray = Filter(searchedArray, soughtElement, True)
    If UBound(filteredArray) > -1 Then
        'mark the beginning and end of each found element
        'marker and delimiter must be characters that
        'don't occur in any element of the array!
        filteredArray2 = Split(marker & Join(filteredArray, marker & delimiter & marker) & marker, delimiter)
        If (UBound(Filter(filteredArray2, marker & soughtElement & marker, True)) <> -1) Then
            ArrayContainsElement_v2 = True
            Exit Function
        End If
    End If
End Function

Function InArr(x As Long, xx As Variant) As Boolean
  
 Dim i As Variant
 
 For Each i In xx
   If i = x Then
     InArr = True
     Exit Function
   End If
 Next
 
 InArr = False

End Function



Код: vbnet
1.
2.
3.
4.
5.
Использование коллекции.                       Считываний: 10000 раз. Время: 31
Использование Like.                            Считываний: 10000 раз. Время: 4399
Использование функции ArrayContainsElement_v1. Считываний: 10000 раз. Время: 92384
Использование функции ArrayContainsElement_v2. Считываний: 10000 раз. Время: 92976
Использование функции InArr.                   Считываний: 10000 раз. Время: 2637
...
Рейтинг: 0 / 0
05.11.2017, 16:30
    #39548015
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Сергей немного слукавил, вынеся этап заполнения коллекции из замеров времени и не обрабатывая вариант отсутствия искомого.

Для чистоты эксперимента, было бы правильнее привести все варианты к "общему знаменателю".
Например, взять три исходных строки:
короткую vbnullstring (нет значений),
среднюю (десяток значений)
и длинную (сотню значений).

Описать все варианты функцией "под ключ" с аргументами - строкой и искомым.

И сравнить на разных исходных строках, с нахождением искомого в начале, середине, конце исходной строки и отсутствии в исходной строке искомого.
...
Рейтинг: 0 / 0
05.11.2017, 17:13
    #39548024
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Predeclared,
я в самом начале сделал оговорку:
Вакшуль СергейКоллекция быстрее. Но все, конечно, определяется контекстом.
насчет вот этого замечания:
PredeclaredСергей немного слукавил, вынеся этап заполнения коллекции из замеров времени
это не лукавство, а аспект того самого "контекста". Конечно, если на вход пришла строка, то о какой коллекции можно говорить. Тут уже придется работать со строкой.

Меня больше интересовала именно скорость обращения к элементу. Скорость считывания. Скорость считывания в цикле.
Вообще интерес скорее более академический, чем прикладной.
Собственно, о чем я думал. Понятно, что в основе наверно любого метода лежит перебор(если нет прямой ссылки на области памяти). Так или иначе, но перебор. Просто перебор, производимый функцией InArr от aleks222 был бы самым быстрым(т.к. перебор прекращается сразу, как только Enumerator доходит до нужного элемента, в то время как Filter лопатит массив полностью), если бы он производился не в медленном интерпретаторе VBA.
Вот собственно это и было сравнение возможностей внешних ресурсов применительно к заинтересовавшему меня аспекту.
...
Рейтинг: 0 / 0
05.11.2017, 17:30
    #39548029
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Вакшуль Сергей... Конечно, если на вход пришла строка, то о какой коллекции можно говорить. Тут уже придется работать со строкой...
А почему бы и нет? Раскидать части строки по элементам коллекции тоже вариант.
Я сейчас аккурат "развлекаюсь" над вариантами. :)
...
Рейтинг: 0 / 0
05.11.2017, 17:35
    #39548032
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
PredeclaredРаскидать части строки по элементам коллекции используя для этого цикл в интерпретаторе? Это должно быть долго
...
Рейтинг: 0 / 0
05.11.2017, 18:05
    #39548037
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
И потому ты вынес "тяжелую" часть за рамки замера скорости. :)

Я надеялся на выигрыш в скорости (перед массивом) в варианте,
когда искомое находится в конце исходной строки,
но "заливка" коллекции съела весь выигрыш в скорости поиска.
...
Рейтинг: 0 / 0
05.11.2017, 18:10
    #39548039
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Predeclared, ну да, вынес. Ну, я же говорю, интересовало считывание :)
...
Рейтинг: 0 / 0
05.11.2017, 18:16
    #39548040
Вакшуль Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Predeclaredно "заливка" коллекции съела весь выигрыш в скорости поиска.
это смотря сколько раз считывать
...
Рейтинг: 0 / 0
05.11.2017, 18:24
    #39548043
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли число в списке чисел (то же что IN(...), только в коде)
Я рассматривал (в данном контексте вопроса) варианты функции "All in One", без внешних (от тела функции) описаний.

Для описания реализации других вариантов пока нет информации о необходимой частоте пользования данной функцией,
количестве исходных строк и т.д.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Есть ли число в списке чисел (то же что IN(...), только в коде) / 25 сообщений из 33, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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