Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / И все же число прописью, как? / 22 сообщений из 22, страница 1 из 1
28.01.2017, 16:55
    #39393778
MSSQLuserK1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
Всем доброго времени суток!
Обращаюсь к Вам за помощью.
есть такие входные данные в mssql:
Код: sql
1.
SELECT CONVERT(DECIMAL(10,3), 53.5)

результат 53.500
Это все делается convert-ом в varchar чтобы не обрезались 0, нужны числа именно до тысячных.
Как средствами sql можно вывести эти данные в формате: "пятьдесят три целых пятьсот тысячных"?
Особенность еще в том, что все будет делаться внутри другого select из которого также выводятся другие данные.
Заранее спасибо!
...
Рейтинг: 0 / 0
28.01.2017, 17:56
    #39393793
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
...
Рейтинг: 0 / 0
28.01.2017, 18:32
    #39393802
aleks2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
invm http://morpher.ru/Products/DLL/SQLServer.aspx

Ога.

Написать "все варианты" для числительных - хватит таблички в "тыщу строк" и инлайн-функции.
...
Рейтинг: 0 / 0
28.01.2017, 18:56
    #39393811
И все же число прописью, как?
на делфи/VBA... есть десятки функций, преобразования цифры в строку ;)
Выгрузку же все равно будете в чём то делать, вот это и заставить трудиться! А MSSQL тут не причём. По моему скромному мнению ;)
...
Рейтинг: 0 / 0
28.01.2017, 20:01
    #39393830
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
aleks2Написать "все варианты" для числительных - хватит таблички в "тыщу строк" и инлайн-функции.Ну так поделись реализацией с общественностью.
...
Рейтинг: 0 / 0
28.01.2017, 21:08
    #39393840
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
Александра77есть десятки функций, преобразования цифры в строкуКакой именно цифры?
...
Рейтинг: 0 / 0
29.01.2017, 08:51
    #39393939
MSSQLuserK1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
Один из вариантов в Delphi, FloatToText - но выводит только до "сотых"
И так как не факт что позже БД будет взаимодействовать с утилитой на Delphi, то логично сделать это (или попробовать сделать в sql)
Как то ограничить, возможных вариантов "списка всех цифр".
...
Рейтинг: 0 / 0
29.01.2017, 11:28
    #39393962
aleks2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
invmaleks2Написать "все варианты" для числительных - хватит таблички в "тыщу строк" и инлайн-функции.Ну так поделись реализацией с общественностью.

Код: sql
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.
declare @num table(num int primary key, spell nvarchar(128))

insert @num
  values -- 0 - 99
     (0, N'ноль'), (1, N'один'), (2, N'два'), (11, N'одинадцать'), (20, N'двадцать'), (99, N'девяносто девять'),
     -- 100 - 900
     (100, N'сто'), (200, N'двести'), (900, N'девятьсот'),
     -- 1 000 - 1 000 000
     (1000, N'одна тысяча'), (7000, N'семь тысяч'), (900000, N'девятьсот тысяч')
     -- далее ужо сами. Если хорошо подумать - далее все то же самое. Можно сэкономить.

declare @numParts table(n int primary key, num int)
insert @numParts
  values (1, 100), (2, 1000), (3, 1000000);

declare @n int = 7211;

with p as (select @n%num as p, nnum = @n%num, n = 1 from @numParts where n = 1
           union all
           select (@n - p.nnum)%np.num as p, nnum = @n%num, n = np.n from p inner join @numParts as np on np.n = p.n + 1
          )
 select * from p;


with p as (select @n%num as p, nnum = @n%num, n = 1 from @numParts where n = 1
           union all
           select (@n - p.nnum)%np.num as p, nnum = @n%num, n = np.n from p inner join @numParts as np on np.n = p.n + 1
          )
    select n.spell 
      from p inner join @num as n on p.p = n.num and p <> 0
      order by p.n desc
...
Рейтинг: 0 / 0
29.01.2017, 12:18
    #39393976
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
aleks2,

А падеж и род? А дробная часть?
Не устанешь таблицу заполнять?
...
Рейтинг: 0 / 0
29.01.2017, 15:33
    #39394028
aleks2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
invmaleks2,

А падеж и род? А дробная часть?
Не устанешь таблицу заполнять?

Родов всего 3. Падежей не помню, но помню что не более 10.

Оценка сверху:
3x10x10000 = 300000

Не, ничего сложного в заполнении таблички не предвидится.

ЗЫ. Конечно, цитируемая DLL - это вершина искуcственного интеллекта, познавшая глубины русского языка.
...
Рейтинг: 0 / 0
30.01.2017, 11:04
    #39394448
MSSQLuserK1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
Morpher платный, да и сторонние dll не хочется подкидывать, так как факт их безопасности не установлен.(
...
Рейтинг: 0 / 0
30.01.2017, 17:35
    #39394914
MaxusPerfectus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
Через скалярную функцию.

Код: sql
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.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
alter function dbo.fn_NumberToCursive_3N(@num bigint, @thousand bit) 
returns varchar(1000)
as
begin
	declare @return varchar(1000);
	select 
		@return = 
			t1.number_3 + iif(t1.number_3 <> '' and t1.number_2 <> '', ' ', '') + 
			t1.number_2 + iif(t1.number_2 <> '' and t1.number_1 <> '', ' ', '') + 
			t1.number_1
	from
	(
		select
			case 
				when @num = 0 then 'ноль'
				else 
					case
						when @num % 100 not between 11 and 19 and @num % 10 = 1 and @thousand = 0 then 'один'
						when @num % 100 not between 11 and 19 and @num % 10 = 1 and @thousand = 1 then 'одна'
						when @num % 100 not between 11 and 19 and @num % 10 = 2 and @thousand = 0 then 'два'
						when @num % 100 not between 11 and 19 and @num % 10 = 2 and @thousand = 1 then 'две'
						when @num % 100 not between 11 and 19 and @num % 10 = 3 then 'три'
						when @num % 100 not between 11 and 19 and @num % 10 = 4 then 'четыре'
						when @num % 100 not between 11 and 19 and @num % 10 = 5 then 'пять'
						when @num % 100 not between 11 and 19 and @num % 10 = 6 then 'шесть'
						when @num % 100 not between 11 and 19 and @num % 10 = 7 then 'семь'
						when @num % 100 not between 11 and 19 and @num % 10 = 8 then 'восемь'
						when @num % 100 not between 11 and 19 and @num % 10 = 9 then 'девять'
						else ''
					end
			end number_1,
			case
				when @num % 100 between 11 and 19 then
					case @num % 100
						when 11 then 'одинадцать'
						when 12 then 'двенадцать'
						when 13 then 'тринадцать'
						when 14 then 'четырнадцать'
						when 15 then 'пятнцадцать'
						when 16 then 'шестнадцать'
						when 17 then 'семнадцать'
						when 18 then 'восемнадцать'
						when 19 then 'девятнадцать'
					end
				when @num % 100 / 10 = 0 then ''
				when @num % 100 / 10 = 2 then 'двадцать'
				when @num % 100 / 10 = 3 then 'тридцать'
				when @num % 100 / 10 = 4 then 'сорок'
				when @num % 100 / 10 = 5 then 'пятьдесят'
				when @num % 100 / 10 = 6 then 'шестьдесят'
				when @num % 100 / 10 = 7 then 'семьдесят'
				when @num % 100 / 10 = 8 then 'восемьдесят'
				when @num % 100 / 10 = 9 then 'девяносто'
				else ''
			end number_2,
			case @num % 1000 / 100
				when 0 then ''
				when 1 then 'сто'
				when 2 then 'двести'
				when 3 then 'триста'
				when 4 then 'четыреста'
				when 5 then 'пятьсот'
				when 6 then 'шестьсот'
				when 7 then 'семьсот'
				when 8 then 'восемьсот'
				when 9 then 'девятьсот'
				else ''
			end number_3
	) t1

	return @return;
end
go

create function dbo.fn_NumberToCursive(@num bigint)
returns varchar(1000)
as
begin
	declare @return varchar(1000);
	select 
	@return =
		t1.number_5_text +
		case
			when t1.number_5_text = '' then ''
			when t1.number_5 % 100 between 11 and 19 then ' триллионов'
			when t1.number_5 % 10 = 0 and t1.number_5 <> 0 then ' триллионов'
			when t1.number_5 % 10 = 1 then ' триллион'
			when t1.number_5 % 10 between 5 and 9 then ' триллионов'
			when t1.number_5 % 10 between 2 and 4 then ' триллиона'
		end +
		iif(t1.number_5 <> 0 and t1.number_4 <> 0, ' ', '') +
		t1.number_4_text +
		case
			when t1.number_4_text = '' then ''
			when t1.number_4 % 100 between 11 and 19 then ' миллиардов'
			when t1.number_4 % 10 = 0 and t1.number_4 <> 0 then ' миллиардов'
			when t1.number_4 % 10 = 1 then ' миллиард'
			when t1.number_4 % 10 between 5 and 9 then ' миллиардов'
			when t1.number_4 % 10 between 2 and 4 then ' миллиарда'
		end +
		iif((t1.number_4 + t1.number_5) <> 0 and t1.number_3 <> 0, ' ', '') +
		t1.number_3_text +
		case
			when t1.number_3_text = '' then ''
			when t1.number_3 % 100 between 11 and 19 then ' миллионов'
			when t1.number_3 % 10 = 0 and t1.number_3 <> 0 then ' миллионов'
			when t1.number_3 % 10 = 1 then ' миллион'
			when t1.number_3 % 10 between 5 and 9 then ' миллионов'
			when t1.number_3 % 10 between 2 and 4 then ' миллиона'
		end +
		iif((t1.number_3 + t1.number_4 + t1.number_5) <> 0 and t1.number_2 <> 0, ' ', '') +
		t1.number_2_text +
		case
			when t1.number_2_text = '' then ''
			when t1.number_2 % 100 between 11 and 19 then ' тысяч'
			when t1.number_2 % 10 = 0 and t1.number_2 <> 0 then ' тысяч'
			when t1.number_2 % 10 = 1 then ' тысяча'
			when t1.number_2 % 10 between 5 and 9 then ' тысяч'
			when t1.number_2 % 10 between 2 and 4 then ' тысячи'
		end +
		iif((t1.number_2 + t1.number_3 + t1.number_4 + t1.number_5) <> 0 and t1.number_1 <> 0, ' ', '') +
		t1.number_1_text
	from 
	(
		select 
			dbo.fn_NumberToCursive_3N(@num, 0) number_1_text,
			cast(@num % 1000 as int) number_1,
			case
				when @num > 1000 then dbo.fn_NumberToCursive_3N(@num % 1000000 / 1000, 1) 
				else ''
			end number_2_text,
			cast(@num % 1000000 / 1000 as int) number_2,
			case
				when @num > 1000000 then dbo.fn_NumberToCursive_3N(@num % 1000000000 / 1000000, 0) 
				else ''
			end number_3_text,
			cast(@num % 1000000000 / 1000000 as int) number_3,
			case
				when @num > 1000000000 then dbo.fn_NumberToCursive_3N(@num % 1000000000000 / 1000000000, 0) 
				else ''
			end number_4_text,
			cast(@num % 1000000000000 / 1000000000 as int) number_4,
			case
				when @num > 1000000000000 then dbo.fn_NumberToCursive_3N(@num % 1000000000000000 / 1000000000000, 0) 
				else ''
			end number_5_text,
			cast(@num % 1000000000000000 / 1000000000000 as int) number_5
	) t1;

	return @return;
end
go



create function dbo.fn_NumberToCursive_Decimal(@num decimal(30,15))
returns varchar(1000)
as
begin
	declare @return varchar(1000) = '';
	declare
		@fractionalPartOfNumber bigint = 
			cast(replace(cast(cast(@num % 1 * 1000000000000000 as bigint) as varchar(100)), '0', '') as bigint),
		@integerPartOfNumber bigint = cast(@num as bigint);

	
	declare @fractionalPart_text varchar(100) = right(cast(@num as varchar(100)), 15);
	while (right(@fractionalPart_text, 1) = '0')
		set @fractionalPart_text = left(@fractionalPart_text, len(@fractionalPart_text) - 1);
	declare @fractionalPartLen bigint = len(@fractionalPart_text); 

	declare @fractionalPart varchar(1000) = ltrim(dbo.fn_NumberToCursive(@fractionalPartOfNumber));
	if right(@fractionalPart, 3) = 'два'
		set @fractionalPart = left(@fractionalPart, len(@fractionalPart) - 3) + 'две';

	select
		@return = 
			dbo.fn_NumberToCursive(@integerPartOfNumber) +
			case
				when @fractionalPartOfNumber = 0 then ''
				when @fractionalPartOfNumber = 1 then 
					case @fractionalPartLen
						when 1 then ' целых и одна десятая'
						when 2 then ' целых и одна сотая'
						when 3 then ' целых и одна тысячная'
						when 4 then ' целых и одна десятитысячная'
						when 5 then ' целых и одна стотысячная'
						when 6 then ' целых и одна милионная'
						when 7 then ' целых и одна десятимилионная'
						when 8 then ' целых и одна стомилионная'
						when 9 then ' целых и одна миллиардная'
						when 10 then ' целых и одна десятимиллиардная'
						when 11 then ' целых и одна стомиллиардная'
						when 12 then ' целых и одна триллионная'
						when 13 then ' целых и одна десятитриллионная'
						when 14 then ' целых и одна стотриллионная'
						when 15 then ' целых и одна квадрилионная'
						else ''
					end
				else 
					case @fractionalPartLen
						when 1 then ' целых и ' + @fractionalPart + ' десятых'
						when 2 then ' целых и ' + @fractionalPart + ' сотых'
						when 3 then ' целых и ' + @fractionalPart + ' тысячных'
						when 4 then ' целых и ' + @fractionalPart + ' десятитысячных'
						when 5 then ' целых и ' + @fractionalPart + ' стотысячных'
						when 6 then ' целых и ' + @fractionalPart + ' милионных'
						when 7 then ' целых и ' + @fractionalPart + ' десятимилионных'
						when 8 then ' целых и ' + @fractionalPart + ' стомилионных'
						when 9 then ' целых и ' + @fractionalPart + ' миллиардных'
						when 10 then ' целых и ' + @fractionalPart + ' десятимиллиардных'
						when 11 then ' целых и ' + @fractionalPart + ' стомиллиардных'
						when 12 then ' целых и ' + @fractionalPart + ' триллионных'
						when 13 then ' целых и ' + @fractionalPart + ' десятитриллионных'
						when 14 then ' целых и ' + @fractionalPart + ' стотриллионных'
						when 15 then ' целых и ' + @fractionalPart + ' квадрилионных'
						else ''
					end
				
			end

	return @return;
end
go



Пример:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select t1.num, dbo.fn_NumberToCursive_Decimal(t1.num)
from
(
	select 4517121121289.454 num
	union select 451712112128349.5454054540489001 num
	union select 4514070 num
	union select 551381.001 num
	union select 751062.454 num
	union select 45174583.4 num
	union select 153020.78564 num
	union select 4531002735.45 num
	union select 7981912.1 num
) t1
...
Рейтинг: 0 / 0
31.01.2017, 14:05
    #39395474
Mairos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
MaxusPerfectus, здорово. Пока только один косяк нашёл - пропускает значимые нули между цифрами в дробной части

Код: sql
1.
2.
3.
4.
5.
6.
7.
-- Пример вызова
select t1.num, dbo.fn_NumberToCursive_Decimal(t1.num)
from
(
	 select 62.405 num
	
) t1



Результат "шестьдесят два целых и сорок пять тысячных"
...
Рейтинг: 0 / 0
31.01.2017, 18:08
    #39395775
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
iapАлександра77есть десятки функций, преобразования цифры в строкуКакой именно цифры?

всех!
...
Рейтинг: 0 / 0
06.02.2017, 17:48
    #39399482
MSSQLuserK1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
Всем спасибо!) Пока вопрос временно снялся)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
12.08.2019, 09:15
    #39848090
Евгенич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
MairosMaxusPerfectus, здорово. Пока только один косяк нашёл - пропускает значимые нули между цифрами в дробной части

Код: sql
1.
2.
3.
4.
5.
6.
7.
-- Пример вызова
select t1.num, dbo.fn_NumberToCursive_Decimal(t1.num)
from
(
	 select 62.405 num
	
) t1



Результат "шестьдесят два целых и сорок пять тысячных"



Не нашли почему?
...
Рейтинг: 0 / 0
12.08.2019, 09:22
    #39848097
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
ЕвгеничMairosMaxusPerfectus, здорово. Пока только один косяк нашёл - пропускает значимые нули между цифрами в дробной части

Код: sql
1.
2.
3.
4.
5.
6.
7.
-- Пример вызова
select t1.num, dbo.fn_NumberToCursive_Decimal(t1.num)
from
(
	 select 62.405 num
	
) t1




Результат "шестьдесят два целых и сорок пять тысячных"



Не нашли почему?

Код: sql
1.
2.
3.
declare
		@fractionalPartOfNumber bigint = 
			cast(replace(cast(cast(@num % 1 * 1000000000000000 as bigint) as varchar(100)), '0', '') as bigint)


не?
...
Рейтинг: 0 / 0
13.08.2019, 12:55
    #39848753
Евгенич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
ПосетительЕвгеничпропущено...




Не нашли почему?

Код: sql
1.
2.
3.
declare
		@fractionalPartOfNumber bigint = 
			cast(replace(cast(cast(@num % 1 * 1000000000000000 as bigint) as varchar(100)), '0', '') as bigint)


не?

Как поправить?
...
Рейтинг: 0 / 0
13.08.2019, 13:06
    #39848760
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
Клопов подавить трудно?

Вот потом маяться с падежами придётся.
...
Рейтинг: 0 / 0
13.08.2019, 13:31
    #39848770
Евгенич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
ЕвгеничПосетительпропущено...


Код: sql
1.
2.
3.
declare
		@fractionalPartOfNumber bigint = 
			cast(replace(cast(cast(@num % 1 * 1000000000000000 as bigint) as varchar(100)), '0', '') as bigint)


не?

Как поправить?

Сделал так:
Код: sql
1.
2.
@fractionalPartOfNumber bigint = 
			cast(replace(rtrim(replace(cast(cast(@num % 1 * 1000000000000000 as bigint) as varchar(100)), '0', ' ')),' ','0') as bigint)
...
Рейтинг: 0 / 0
22.08.2019, 14:51
    #39852783
Khrupchik Eugeny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
Евгенич,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT n [ЧислоПрописью] from
(SELECT n1000.n + n100.n + case when n10.n = ' десять' and n1.n != ''
										then
										case n1.n when ' два'    then ' две'
											  when ' четыре' then ' четыр'
										 else n1.n end
										+ 'надцать'
										else n10.n + n1.n
										END [n]
		,n1.c + n10.c + n100.c + n1000.c [c]
FROM (VALUES('',0),(' сто',100),(' двести',200),(' триста',300),(' четыреста',400),(' пятьсот',500),(' шестьсот',600),(' семьсот',700),(' восемьсот',800),(' девятьсот',900)) n100(n,c), 
	(VALUES('',0),(' один',1),(' два',2),(' три',3),(' четыре',4),(' пять',5),(' шесть',6),(' семь',7),(' восемь',8),(' девять',9)) n1(n,c),
	(VALUES('',0),(' десять',10),(' двадцать',20),(' тридцать',30),(' сорок',40),(' пятьдесят',50),(' шестьдесят',60),(' семьдесят',70),(' восемьдесят',80),(' девяносто',90)) n10(n,c),
	(VALUES('',0),(' одна тысяча',1000),(' две тысячи',2000),(' три тысячи',3000),(' четыре тысячи',4000),(' пять тысяч',5000),(' шесть тысяч',6000),(' семь тысяч',7000),(' восемь тысяч',8000),(' девять тысяч',9000)) n1000(n,c)
	) a
	WHERE c = 5234 --сюда написать число которое надо прописью
...
Рейтинг: 0 / 0
22.08.2019, 16:10
    #39852847
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И все же число прописью, как?
Khrupchik Eugeny,

Код: sql
1.
WHERE c = 15



" пят ь надцать"
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / И все же число прописью, как? / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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