Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
.NET 4.x

Две ошибки в одном месте "CS1061 и CS0021" которые никак не исправляются

17.04.2020, 15:04. Показов 3657. Ответов 64

Студворк — интернет-сервис помощи студентам
Из заголовка думаю понятна суть ошибки...

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private IEnumerable<Rgba32> GeneratePalette(Image<Rgba32> inImage)
        {
            var knownColours = new List<Rgba32>();
 
            using (var quantizedImage = inImage.Clone(cx => cx.Quantize()))
            {
                var pixels = quantizedImage.GetPixelSpan();
 
                for (var i = 0; i < pixels.(Здесь ошибка >)Length; ++i)
                {
                    var pixelColour = (Здесь ошибка >) pixels[i];
                    if (knownColours.Contains(pixelColour))
                    {
                        continue;
                    }
 
                    knownColours.Add(pixelColour);
                }
            }
 
            return knownColours;
        }
Какие есть предположения?
Миниатюры
Две ошибки в одном месте "CS1061 и CS0021" которые никак не исправляются  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2020, 15:04
Ответы с готовыми решениями:

Могут ли две точки находиться на одной прямой в одном и том же месте
Суть вопроса, решали задание по геометрии 7-го класса: Дан равнобедренный треугольник ABC с основанием BC, На BC расположены две точки M...

Посчитать количество букв, которые стоят на одном и том же месте
Здравствуйте! Переделываю задачу из Си в Pascal.Не особо ещё изучил этот язык. Вот собственно сама задача: записать строку Х в...

Набор текст в одном месте, аналогичный тест появлялся бы в другом месте. Word 2016
Нужно чтобы при наборе текста в одном месте аналогичный тест появлялся бы в другом месте в ворде 2016. Есть договор в нем на разных...

64
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
18.04.2020, 21:46  [ТС]
Студворк — интернет-сервис помощи студентам
Casper-SC, На BLP падает?
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
18.04.2020, 21:46
Цитата Сообщение от VarionDrakon Посмотреть сообщение
Casper-SC, Да...
Ок, попробую сейчас

Добавлено через 25 секунд
Цитата Сообщение от VarionDrakon Посмотреть сообщение
Casper-SC, На BLP падает?
Нет
0
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
18.04.2020, 21:47  [ТС]
Casper-SC, А, на простом изображении это нормально(
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
18.04.2020, 21:49
Цитата Сообщение от VarionDrakon Посмотреть сообщение
А, на простом изображении это нормально(
Так понятное дело, ведь его нет

Добавлено через 1 минуту
Какой размер должен быть у изображения?

Добавлено через 19 секунд
У простого, которое в паре с тем, что в архиве
0
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
18.04.2020, 21:54  [ТС]
Casper-SC, 250x250
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
18.04.2020, 21:56
VarionDrakon, не, там должно быть 64х64, первый же Assert об этом сказал
0
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
18.04.2020, 21:57  [ТС]
Casper-SC, Однако у Меня открывал файлы и большии размером... Странно...
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
18.04.2020, 21:58
VarionDrakon, всё норм работает. Всё открывается.

Добавлено через 40 секунд
Там по коду видно, что идёт проверка, что размеры должны совпадать и цвет каждого пикселя может немного отличаться.
0
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
18.04.2020, 21:59  [ТС]
Casper-SC, Даже файл из архива?

Добавлено через 52 секунды
Casper-SC, Это понятно, самое интересное что у аналогов почему-то лучше раюотает...
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
18.04.2020, 22:05
Лень было морочиться с библиотекой System.Drawing.dll. Создал Windows Forms проект.

C#
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
using System;
using System.Diagnostics;
using System.Windows.Forms;
 
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            Load += OnLoad;
            InitializeComponent();
        }
 
        private void OnLoad(object sender, EventArgs e)
        {
            var test = new BlpImageTest();
            string imageInputPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "BTNAbomination.blp");
            string expectedImagePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Test.png");
            Debug.Assert(File.Exists(imageInputPath));
            Debug.Assert(File.Exists(expectedImagePath));
            test.TestGetBlpBitmap(imageInputPath, expectedImagePath, 0);
        }
    }
}
C#
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
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using War3Net.Drawing.Blp;
 
namespace WindowsFormsApp1
{
    //[TestClass]
    public class BlpImageTest
    {
        //[DataTestMethod]
        //[DynamicData(nameof(GetBlpImageData), DynamicDataSourceType.Method)]
        public void TestGetBlpSKBitmap(string inputImagePath, string expectedImagePath, int mipMapLevel)
        {
            using (var fileStream = File.OpenRead(inputImagePath))
            {
                var expectedImage = new Bitmap(expectedImagePath);
                var blpFile = new BlpFile(fileStream);
                var actualImage = blpFile.GetSKBitmap(mipMapLevel);
 
                Assert.AreEqual(expectedImage.Width, actualImage.Width);
                Assert.AreEqual(expectedImage.Height, actualImage.Height);
 
                for (var y = 0; y < expectedImage.Height; y++)
                {
                    for (var x = 0; x < expectedImage.Width; x++)
                    {
                        // Allow pixel values to be slightly different, since some testcases were decoded with WPF (BitmapSource), not SkiaSharp.
                        const int delta = 1;
 
                        var expectedPixel = expectedImage.GetPixel(x, y);
                        var actualPixel = actualImage.GetPixel(x, y);
 
                        var message = $"Expected:<{expectedPixel}>. Actual:<{actualPixel.ToColorString()}>";
 
                        Assert.IsTrue(Math.Abs(expectedPixel.A - actualPixel.Alpha) <= delta, message);
                        Assert.IsTrue(Math.Abs(expectedPixel.R - actualPixel.Red) <= delta, message);
                        Assert.IsTrue(Math.Abs(expectedPixel.G - actualPixel.Green) <= delta, message);
                        Assert.IsTrue(Math.Abs(expectedPixel.B - actualPixel.Blue) <= delta, message);
                    }
                }
 
                expectedImage.Dispose();
                blpFile.Dispose();
            }
        }
 
        //[DataTestMethod]
        //[DynamicData(nameof(GetBlpImageData), DynamicDataSourceType.Method)]
        public void TestGetBlpBitmap(string inputImagePath, string expectedImagePath, int mipMapLevel)
        {
            using (var fileStream = File.OpenRead(inputImagePath))
            {
                var blpFile = new BlpFile(fileStream);
                var expectedImage = new Bitmap(expectedImagePath);
                var actualImage = blpFile.GetBitmap(mipMapLevel);
 
                Assert.AreEqual(expectedImage.Width, actualImage.Width);
                Assert.AreEqual(expectedImage.Height, actualImage.Height);
 
                for (var y = 0; y < expectedImage.Height; y++)
                {
                    for (var x = 0; x < expectedImage.Width; x++)
                    {
                        // Allow pixel values to be slightly different, since some testcases were decoded with WPF (BitmapSource), not SkiaSharp.
                        const int delta = 1;
 
                        var expectedPixel = expectedImage.GetPixel(x, y);
                        var actualPixel = actualImage.GetPixel(x, y);
 
                        var message = $"Expected:<{expectedPixel}>. Actual:<{actualPixel}>";
 
                        Assert.IsTrue(Math.Abs(expectedPixel.A - actualPixel.A) <= delta, message);
                        Assert.IsTrue(Math.Abs(expectedPixel.R - actualPixel.R) <= delta, message);
                        Assert.IsTrue(Math.Abs(expectedPixel.G - actualPixel.G) <= delta, message);
                        Assert.IsTrue(Math.Abs(expectedPixel.B - actualPixel.B) <= delta, message);
                    }
                }
 
                expectedImage.Dispose();
                blpFile.Dispose();
            }
        }
 
#if NETFRAMEWORK || NETCOREAPP3_0
        [DataTestMethod]
        [DynamicData(nameof(GetBlpImageData), DynamicDataSourceType.Method)]
        public void TestGetBlpBitmapSource(string inputImagePath, string expectedImagePath, int mipMapLevel)
        {
            using (var fileStream = File.OpenRead(inputImagePath))
            {
                var expectedImage = new Bitmap(expectedImagePath);
                var blpFile = new BlpFile(fileStream);
                var actualImage = blpFile.GetBitmapSource(mipMapLevel);
 
                Assert.AreEqual(expectedImage.Width, actualImage.PixelWidth);
                Assert.AreEqual(expectedImage.Height, actualImage.PixelHeight);
 
                var bytesPerPixel = (actualImage.Format.BitsPerPixel + 7) / 8;
                var stride = bytesPerPixel * actualImage.PixelWidth;
                var bytes = new byte[stride * actualImage.PixelHeight];
                actualImage.CopyPixels(bytes, stride, 0);
 
                for (var y = 0; y < expectedImage.Height; y++)
                {
                    for (var x = 0; x < expectedImage.Width; x++)
                    {
                        var offset = (y * stride) + (x * bytesPerPixel);
 
                        // Assumes actualImage.Format is either PixelFormats.Bgr32 or PixelFormats.Bgra32
                        Assert.AreEqual(expectedImage.GetPixel(x, y).B, bytes[offset + 0]);
                        Assert.AreEqual(expectedImage.GetPixel(x, y).G, bytes[offset + 1]);
                        Assert.AreEqual(expectedImage.GetPixel(x, y).R, bytes[offset + 2]);
 
                        if (bytesPerPixel > 3)
                        {
                            Assert.AreEqual(expectedImage.GetPixel(x, y).A, bytes[offset + 3]);
                        }
                    }
                }
 
                expectedImage.Dispose();
                blpFile.Dispose();
            }
        }
#endif
 
        //private static IEnumerable<object[]> GetBlpImageData()
        //{
        //    yield return new object[] { "TestData/colorJpg75Mip8Blp1.blp", "TestData/color.png", 0 };
        //    yield return new object[] { "TestData/colorPalettedMip8Blp1.blp", "TestData/color.png", 0 };
 
        //    yield return new object[] { "TestData/colorDxtMip8Blp2.blp", "TestData/color.png", 0 };
        //    yield return new object[] { "TestData/colorPalettedMip8Blp2.blp", "TestData/color.png", 0 };
 
        //    yield return new object[] { "BTNAbomination.blp", "TestData/map101.png", 0 };
        //}
    }
}
Добавлено через 1 минуту
Цитата Сообщение от VarionDrakon Посмотреть сообщение
Casper-SC, Даже файл из архива?
Что значит даже? Я его изначально и открывал. По исходникам видно. У меня почему-то тесты не запускаются, разбираться не хочу сейчас, сделал вручную.

Добавлено через 3 минуты
Кстати, создание изображений нужно поместить в using'и
1
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
19.04.2020, 12:03  [ТС]
Casper-SC, Прости за глупый вопрос, но как его в using засунуть?

Добавлено через 17 минут
Casper-SC, Кстати, вот исходники проекта где всё идёт это дело...
https://github.com/Drake53/War3Net

Добавлено через 3 часа 37 минут
Вообщем Casper-SC, кажется Я поняла что надо делать...
0
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
19.04.2020, 13:20  [ТС]
Если кто-то эту тему смотрит и разбирается, у кого какие есть предположения?
Миниатюры
Две ошибки в одном месте "CS1061 и CS0021" которые никак не исправляются   Две ошибки в одном месте "CS1061 и CS0021" которые никак не исправляются  
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
19.04.2020, 13:31
227 строка должна быть
C#
1
using (var fileStream = File.OpenRead(open_dialog.FileName))
А тесты вообще нахрен удалите они вам не нужны.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
19.04.2020, 13:41
VarionDrakon, слушай, я думаю, для начала нужно освоить основы языка. Если ты не понимаешь, почему inputImagePath не существует в текущем контексте, то какой смысл вообще браться за готовый проект?

Добавлено через 47 секунд
Я понял так: ты не понимаешь, что такое объявление переменной и передача её в метод в качестве параметра. Это как не знать букв и браться читать книгу.

Добавлено через 51 секунду
Да и зачем засовывать код в using нужно тоже понимать, а не просто копировать чей-то код или делать по совету.

Добавлено через 2 минуты
Так же ты упоминала здесь С++. За него лучше вообще не браться, так как там всё сильно сложнее, особенно если не иметь опыта в программировании. Написать cout << "Привет мир" << endl - это не знание С++ и даже не основы.
0
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
19.04.2020, 14:40  [ТС]
Casper-SC, Для понимания прочитай:
https://github.com/Drake53/War... rawing.Blp

Добавлено через 30 секунд
Someone007, Они проверяют целостность файла и Ты предлагаешь удалить это?)
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
19.04.2020, 14:46
VarionDrakon, ну так там пример просто. Подразумевается, что где-то объявлена переменная с названием inputImagePath. Если понимать, что такое параметры в методах, то можно сделать вывод, что нужно туда передать какой-то реальный путь, и без разницы как называется вообще переменная, кстати.

Добавлено через 1 минуту
Цитата Сообщение от VarionDrakon Посмотреть сообщение
Someone007, Они проверяют целостность файла и Ты предлагаешь удалить это?)
Тесты там, скорее, проверяют весь код, что он рабочий. И их же можно использовать как документацию, чтобы подсмотреть, как что делается.
0
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
19.04.2020, 18:53  [ТС]
Casper-SC, Хорошо, тест допустим не нужен, тогда где и что надо приписать для открытия этих файлов без теста?

Добавлено через 31 секунду
Casper-SC, Я про С++ ни слова не упоминала =_=
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
19.04.2020, 19:53
Цитата Сообщение от VarionDrakon Посмотреть сообщение
Casper-SC, Хорошо, тест допустим не нужен, тогда где и что надо приписать для открытия этих файлов без теста?
Вот: Две ошибки в одном месте "CS1061 и CS0021" которые никак не исправляются

Добавлено через 1 минуту
Цитата Сообщение от VarionDrakon Посмотреть сообщение
Casper-SC, Я про С++ ни слова не упоминала =_=
Как бы...
Цитата Сообщение от VarionDrakon Посмотреть сообщение
Casper-SC, Я имею ввиду, эта программка должна открывать этот файл... BLP lab это пример, но там C++ и исходников нигде нет... А на С# это лучше и красивее сделано...
Я понял это так, что если бы были исходники С++, то ты бы взялась

Добавлено через 1 минуту
Цитата Сообщение от VarionDrakon Посмотреть сообщение
тогда где и что надо приписать для открытия этих файлов без теста?
Что значит открытия этих файлов? Выбрать файлы с помощью окна? Или просто чтобы код при запуске софта исполнялся?
0
<Dragon/Craft>
 Аватар для VarionDrakon
24 / 19 / 6
Регистрация: 07.05.2019
Сообщений: 297
Записей в блоге: 2
19.04.2020, 20:04  [ТС]
Цитата Сообщение от Casper-SC Посмотреть сообщение
Хорошо, тест допустим не нужен, тогда где и что надо приписать для открытия этих файлов без теста?
Не выходит, какие пакеты Ты подключал?
Цитата Сообщение от Casper-SC Посмотреть сообщение
Выбрать файлы с помощью окна?
Именно)
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
19.04.2020, 21:23
Цитата Сообщение от VarionDrakon Посмотреть сообщение
Не выходит, какие пакеты Ты подключал?
packages.config
XML
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="MSTest.TestFramework" version="2.1.1" targetFramework="net472" />
  <package id="SkiaSharp" version="1.68.1.1" targetFramework="net472" />
  <package id="System.Buffers" version="4.4.0" targetFramework="net472" />
  <package id="System.Memory" version="4.5.3" targetFramework="net472" />
  <package id="System.Numerics.Vectors" version="4.4.0" targetFramework="net472" />
  <package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net472" />
  <package id="War3Net.Drawing.Blp" version="1.1.0" targetFramework="net472" />
</packages>
В *.csproj проекта, к которому подключаются библиотеки
XML
1
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>

У тебя может быть другая версия, но тогда придётся и в packages.config соответствующую проставить.

Вложение 1135256
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.04.2020, 21:23

Onclick срабатывает не в одном месте, хотя написан в одном
&lt;a href=&quot;&lt;?= $ar_publications_with_id; ?&gt;&quot; class=&quot;button_more downloab_button&quot;&gt; &lt;div&gt;&lt;img src=&quot;images/download2.png&quot;...

Ошибки CS0101, CS0111 и CS1061 при попытке создать форму
Здравствуйте! Делаю графический редактор, всё как обычно, только никак не могу избавиться от трех ошибок: CS0101 Пространство имен...

В одном месте кода проверка условия срабатывает как нужно, а в другом месте кода такое же условие не срабатывает
Здравствуйте. Делаю проверку на заполнение полей. Если поля не заполнены, то вывести ошибку в виде Toast. В одном файле у меня...

Перевести две страницы PDF в две колонки на одном листе
Нужно автоматом в Acrobat'e 2 обычные страницы в портретной ориентации скомпоновать в одну в горизонтальной ориентации. Эти 2 страницы...

2 панели в одном месте
Требуется разместить 2 панели в одном месте. Tabbed не подходит потому как надо без вкладок, но с возможностью переключения между...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru