Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
7 / 7 / 3
Регистрация: 19.04.2016
Сообщений: 169

Интерактивность в электрической схеме

19.04.2016, 12:50. Показов 4802. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Словами описать сложно, но попробую.
Я видел программу, на которой была изображена цепь, которую обычно собирают на уроках по физике или электротехнике.
Частью этой цепи был реостат. Двигая его, можно было изменять его параметры.
Очень было похоже на TrackBar, но вся соль в том, что передвигался именно ползунок реостата (Часть этой картинки)

Вопрос:
Как такую программу реализовать? Стоит ли использовать C# и если нет, то на какие технологии мне обратить свой взор?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.04.2016, 12:50
Ответы с готовыми решениями:

Определения на электрической схеме
Всем добрый день! Подскажите пожалуйста, что означают определения на данной схеме? R - резистор, C - конденсатор, К - это ключ...

УГО на схеме электрической принципиальной (Э3)
Всем здравствуйте) Подскажите пожалуйста, что за элементы, которые выделены красным) Все остальное я знаю) Заранее спасибо)

Трассировка ПП по схеме электрической принципиальной
Доброго времени суток! столкнулся с такой проблемой, что не могу разобрать пример как нужно делать плату по схеме вот схема, а вот плата...

39
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
24.04.2016, 14:38
Студворк — интернет-сервис помощи студентам
Dauary, просто делать кастомную отрисовку не такое уж простое занятие. Лично мне было бы проще изучить WPF, благо он не так сильно отличается, чтобы за 2-3 дня ежедневного изучения не понять, в чем он состоит. Но конечно же у вас может быть иное мнение
0
7 / 7 / 3
Регистрация: 19.04.2016
Сообщений: 169
24.04.2016, 14:45  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
было бы проще изучить WPF
А чем он поможет?
0
9992 / 2964 / 497
Регистрация: 05.10.2013
Сообщений: 8,146
Записей в блоге: 244
24.04.2016, 14:49
Цитата Сообщение от Dauary Посмотреть сообщение
Что касается Unity - ни разу не имел с ним дело. И мне страшно начинать, ибо времени не так много осталось, чтобы еще изучать новую технологию.
Если вам схемотично нужно, то лучше в WPF или в WinForms. Потому что в Unity быстро и красиво можно сделать (с анимациями, c эффектами частиц, с 3D эффектами на шейдерах на Cg/HLSL), только если хорошо знаком с этим фреймворком
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
24.04.2016, 15:59
Цитата Сообщение от Dauary Посмотреть сообщение
А чем он поможет?
Тем, что он из коробки позволяет кастомизировать контролы. А в винформах придется делать контролы с собственной отрисовкой абсолютно всего.
1
103 / 104 / 54
Регистрация: 23.03.2016
Сообщений: 462
24.04.2016, 16:00
Psilon, чем WPF, наверно лучше юнити)
0
7 / 7 / 3
Регистрация: 19.04.2016
Сообщений: 169
24.04.2016, 16:19  [ТС]
Psilon, можно ли в проект WIn Forms добавить одну форму WPF?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
24.04.2016, 18:22
Dauary, вообще можно. Даже можно WPF контролы использовать в винформах, если мне память не изменяет. Но там возможны неприятности вроде несовместимости или багов, сам я на практике не использовал. Смысла нет.
0
7 / 7 / 3
Регистрация: 19.04.2016
Сообщений: 169
24.04.2016, 20:03  [ТС]
Psilon,
Можно ли проект Win Forms переквалифицировать в WPF?
0
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
24.04.2016, 21:51
Цитата Сообщение от Psilon Посмотреть сообщение
у нас один парень для диплома просто показал стандартную форму 1С
И сколько, если не секрет, получил за это?
Цитата Сообщение от Dauary Посмотреть сообщение
Единственное что мне приходит в голову, это понаделать кучу пиксербоксов - и в зависимости от положения мыши скрывать все .Hide и показывать нужный .show
Вот только это будет крайне неудобно.
Можно даже на WinForms не сложные контролы накидать. По сути нужны кастомный трекБар в виде реостата и кастомный прогрессБар в виде вольметра/амперметра. В идеал должно быть векторной графикой, но можно просто найти в интернете фон в виде шкалы и останется лишь дорисовывать поверх стрелку
1
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
24.04.2016, 22:53
Вот набросал пару контролов чисто для примера. Один на основе готовых картинок, второй сами рисуем. Все топорно, но для примера пойдет

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
 
        int min = 0;
        int max = 100;            
        newTrackBar1.Min = min;        
        newTrackBar1.Max = max;
        voltmeter1.Min = min;
        voltmeter1.Max = max;
 
        newTrackBar1.Scroll += NewTrackBar1_Scroll;       
    }
    
    private void NewTrackBar1_Scroll(object sender, NewTrackBarEventArgs e)
    {
        voltmeter1.Value = e.Value;
    }
}
Реостат
Кликните здесь для просмотра всего текста
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
public delegate void RheostatEventHandler(object sender, RheostatEventArgs args);
public class RheostatEventArgs : EventArgs
{
    int value;
    public int Value { get { return value; } }
    public RheostatEventArgs(int value)
    {
        this.value = value;
    } 
}
 
public partial class Rheostat : UserControl
{
    public new event RheostatEventHandler Scroll;
 
    Image slider;
    
    const int sliderMinPositionX = 70;
    const int sliderMaxPositionX = 205;
    const int sliderPositionY = 0;
 
    int sliderCurrentPositionX;
 
    int sliderTempPositionX;
    int tempX;
 
    bool isSliderActive;
 
    double smallChange;
 
    int min;
    int max;
 
    [Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public int Min
    {
        get { return min; }
        set
        {
            if (value < max && value >= 0)
            {
                min = value;
                smallChange = GetSmallChange();
            }
        }
    }
 
    [Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public int Max
    {
        get { return max; }
        set
        {
            if (value > min && value >= 1)
            {
                max = value;
                smallChange = GetSmallChange();
            }
        }
    }
 
    [Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public int Value
    {
        get { return (int)((sliderCurrentPositionX - sliderMinPositionX) * smallChange); }
    }
 
    public Rheostat()
    {
        SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true);
        InitializeComponent();
 
        slider = LoadImg("http://www.************/uploads/160424/Y4huZAs18H.png");
        BackgroundImage = LoadImg("http://www.************/uploads/160424/6UIxMRjt2B.png");
        BackgroundImageLayout = ImageLayout.Center;            
        MaximumSize = BackgroundImage.Size;
        Cursor = Cursors.Hand;
        min = 0;
        max = 100;
        smallChange = GetSmallChange();
        sliderCurrentPositionX = sliderMinPositionX;            
    }
 
    double GetSmallChange()
    {
        return (double)(max - min) / (sliderMaxPositionX - sliderMinPositionX);
    }
 
    private Image LoadImg(string url)
    {
        WebRequest.DefaultWebProxy = null;
        var request = WebRequest.Create(url);
 
        using (var response = request.GetResponse())
        using (var stream = response.GetResponseStream())
            return Bitmap.FromStream(stream);
    }
 
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
        e.Graphics.DrawImage(slider, new Rectangle(new Point(sliderCurrentPositionX, sliderPositionY), slider.Size));
    }
 
    protected override void OnMouseDown(MouseEventArgs e)
    {
        base.OnMouseDown(e);
        isSliderActive = true;
        tempX = e.X;
        sliderTempPositionX = sliderCurrentPositionX;
    }
    protected override void OnMouseMove(MouseEventArgs e)
    {
        base.OnMouseMove(e);
        if (isSliderActive)
        {
            int step = tempX - e.X;
            int newX = sliderTempPositionX - step;
 
            if (newX >= sliderMinPositionX && newX <= sliderMaxPositionX)
            {
                sliderCurrentPositionX = newX;
                Invalidate();
                Scroll?.Invoke(this, new RheostatEventArgs(Value));
            }
        }
    }
    protected override void OnMouseUp(MouseEventArgs e)
    {
        isSliderActive = false;
    }
}


Вольтметр/амперметр
Кликните здесь для просмотра всего текста
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
public partial class Voltmeter : UserControl
{
    double smallChange;
    int min;
    int max;
    int value;
 
    int angle;
 
    [Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public int Min
    {
        get { return min; }
        set
        {
            if (value < max && value >= 0)
            {
                min = value;
                smallChange = GetSmallChange();
            }
        }
    }
 
    [Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public int Max
    {
        get { return max; }
        set
        {
            if (value > min && value >= 1)
            {
                max = value;
                smallChange = GetSmallChange();
            }
        }
    }
 
    [Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public int Value
    {
        get { return value; }
        set
        {
            if (value >= min && value <= max)
            {
                this.value = value;
                angle = (int)(this.value * smallChange);
                Invalidate();
            }
        }
    }
 
    public Voltmeter()
    {
        InitializeComponent();
        SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true);
        
        min = 0;
        max = 100;
        angle = 0;
        smallChange = GetSmallChange();
 
    }
    private double GetSmallChange()
    {
        return (double) 180 / (max - min);
    }
 
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
        e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
        DrawScale(e.Graphics);
        DrawArrow(e.Graphics);
        DrawInfo(e.Graphics);
    }
 
    private void DrawInfo(Graphics graphics)
    {
        using (SolidBrush brush = new SolidBrush(Color.Black))
        {
            int y = 150;
            graphics.DrawString(min.ToString(), Font, brush, 15, y);
            graphics.DrawString(max.ToString(), Font, brush, 250, y);
 
            graphics.DrawString(value.ToString(), new Font(new FontFamily("Consolas"), 15f, FontStyle.Regular, GraphicsUnit.Point), brush, 140, y+10);
        }           
    }
 
    void DrawScale(Graphics graphics)
    {
        using (Pen blackPen = new Pen(Color.Black, 3))
        {                
            int x = 25;
            int y = 25;
            int width = 250;
            int height = 250;
 
            int startAngle = 180;
            int sweepAngle = 180;
 
            graphics.DrawArc(blackPen, x, y, width, height, startAngle, sweepAngle);
        }
    }
 
    private void DrawArrow(Graphics graphics)
    {
        using (var pen = new Pen(Color.Red, 2))
        {                
            float angle =  (float)(this.angle * Math.PI / 180.0); ;
            float r = 150f;                
 
            var x = r - r * (float)Math.Cos(angle);
            var y = r - r * (float)Math.Sin(angle);
 
            graphics.DrawLine(pen, r, r, x, y);
        }
    }        
}
Миниатюры
Интерактивность в электрической схеме  
1
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
24.04.2016, 23:02
правка
1
7 / 7 / 3
Регистрация: 19.04.2016
Сообщений: 169
24.04.2016, 23:06  [ТС]
sldp,
По этому коду куча вопросов.
Это Win Forms?
Если да, то
Цитата Сообщение от sldp Посмотреть сообщение
C#
1
2
3
4
newTrackBar1.Min = min; * * * *
* * * * newTrackBar1.Max = max;
* * * * voltmeter1.Min = min;
* * * * voltmeter1.Max = max;
Ошибка - невозможно присвоить Min значение т.к. он является группой методов.
Если не добавить trackBar в конструктор и переименовать его в newTrackBar1, то он и вовсе не будет существовать.

voltermetr1 это PictureBox?

С этими двумя классами около 105 ошибок вышло. Нужно подключать какое-то пространство имен?
0
25.04.2016, 00:29

Не по теме:

Цитата Сообщение от sldp Посмотреть сообщение
И сколько, если не секрет, получил за это?
3 вроде, но только потому, что не смог ответить ни на 1 вопрос из разряда "как расшифровывается аббревиатура из названия Вашего диплома" :) Правда там фишка была в том, что я за полчаса гуглежа не смог найти что же она означает... Такие дела.

0
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
25.04.2016, 14:28
Лучший ответ Сообщение было отмечено Dauary как решение

Решение

Dauary, это два пользовательских контрола. Их нужно поместить в отдельные файлы (желательно), пересобрать проект (F6) и они появятся в списке со всеми остальными контролами (где текстбоксы, лейблы и т.п.). Ну а затем просто пользоваться как и обычными контролами. Реостат - аналог трекБара. Задаем минимально значение и максимальное. Можно двигать ползунок и будет меняться value в заданных ранее пределах. Событие Scroll возникает при перемещении ползунка. Вольтметр - аналог прогрессБара. задаем опять же мин и макс значение. И при задании различных value он будет менять состояние. Набросано на скорую руку, но идея думаю понятна
Вложения
Тип файла: rar WindowsFormsApplication1.rar (124.0 Кб, 9 просмотров)
1
7 / 7 / 3
Регистрация: 19.04.2016
Сообщений: 169
25.04.2016, 17:23  [ТС]
sldp,
Запустил проект. Было 6 ошибок. Нажал F6 - осталось 2. В этой строке:
C#
1
 Scroll?.Invoke(this, new RheostatEventArgs(Value));
Ошибки:
Недопустимый элемент "." в выражении
Синтаксическая ошибка, требуется ":"
Я закрыл решение. Запустил свой проект. Там этих контролов не было.
Я полагаю их нужно как-то добавить либо в папку с MS VS, либо в свой проект.
Но как поместить их в отдельные файлы? Куда их поместить, чтобы какой проект я не создал - они там были?

P.S. работает ли без доступа к интернету?
Миниатюры
Интерактивность в электрической схеме  
0
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
25.04.2016, 17:31
Студия 15?
а так?
C#
1
if(Scroll!= null)Scroll(this, new RheostatEventArgs(Value));
Цитата Сообщение от Dauary Посмотреть сообщение
P.S. работает ли без доступа к интернету?
Нет, но ведь никто не мешает загрузить эти картинки из ресурсов
1
7 / 7 / 3
Регистрация: 19.04.2016
Сообщений: 169
25.04.2016, 19:40  [ТС]
sldp,
Цитата Сообщение от sldp Посмотреть сообщение
Студия 15?
12
Цитата Сообщение от sldp Посмотреть сообщение
а так?
Заработало.

Цитата Сообщение от sldp Посмотреть сообщение
Нет, но ведь никто не мешает загрузить эти картинки из ресурсов
Я скачал первую картинку. Поместил ее в одну папку .exe файлом.
C#
1
 slider = LoadImg("/Регулятор.png");
Новая ошибка.
Я так понимаю это класс, который загружает картинку из URL. Кастомые контролы это нечто новое для меня, поэтому я не знаю как загрузить картинку с папки с .exe.

Ах да. Правильно ли я понимаю, что для того, чтобы воспользоваться этими кастомными контролами - мне нужно будет добавить два класа - вольтерметр.cs и реостат.cs в свой проект и добавить 2 этих контрола к себе на форму?
Миниатюры
Интерактивность в электрической схеме  
0
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
25.04.2016, 20:18
https://msdn.microsoft.com/ru-... 90%29.aspx
Если из ресурсов, то там свойство сразу Bitmap вернет
Цитата Сообщение от Dauary Посмотреть сообщение
Я так понимаю это класс, который загружает картинку из URL.
Не, это и етсь контрол, но картинку для фона и ползунка он берет через функцию LoadImg из интернета. Не очень хороший тон использовать растровые изображения, потому что мы их не сможем увеличить без потери качества и т.п. но для начала сойдет

А сам проект, который я скидывал запускается?

Цитата Сообщение от Dauary Посмотреть сообщение
12
лучше перейти на свежую версию. Там последняя версия языка поддерживаются)

Для начала разберитесь что вообще из себя представляют User Controls на простых примерах. И сразу все станет ясно.
как вариант здесь: https://www.cyberforum.ru/blog... g3301.html

класс RheostatEventArgs и делегат RheostatEventHandler - для реализации события Scroll (Так "принято" базироваться на EventHandler и EventArgs, думаю видели обработчики событий клика мыши и т.п.)
1
7 / 7 / 3
Регистрация: 19.04.2016
Сообщений: 169
25.04.2016, 20:51  [ТС]
Цитата Сообщение от sldp Посмотреть сообщение
А сам проект, который я скидывал запускается?
Да, я исправил строку. Все запустилось.
Цитата Сообщение от sldp Посмотреть сообщение
Если из ресурсов, то там свойство сразу Bitmap вернет
Это как понять? Если зайти в свойства реостат и найти свойство Bitmap, то я его не нашел.
Цитата Сообщение от sldp Посмотреть сообщение
лучше перейти на свежую версию. Там последняя версия языка поддерживаются)
Я уже немало сделал на 12. К тому же, диплом защищать мб придется на компьютере института, а у них .NET Framework старый. Риск, что программа не запустится из-за старой версии.
Цитата Сообщение от sldp Посмотреть сообщение
через функцию LoadImg из интернета
Опять же, в институте у нас проблемы с интернетом.
Цитата Сообщение от sldp Посмотреть сообщение
не сможем увеличить без потери качества
На данном этапе - нет необходимости увеличивать.
0
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
25.04.2016, 22:53
Цитата Сообщение от Dauary Посмотреть сообщение
Это как понять? Если зайти в свойства реостат и найти свойство Bitmap, то я его не нашел.
Я же выше ссылку кидал:
https://msdn.microsoft.com/ru-... 90%29.aspx
Там все подробно.И будет:
slider = НазваниеПроекта.Properties.Resources.ИмяКартинки;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.04.2016, 22:53

Конструктивный компонент на схеме электрической структурной
Здравствуйте. Рисовал структурную схему и столкнулся с проблемой: не знаю как указать в принципиальной схеме, то что обведено красным,...

Составить уравнения состояния по электрической схеме
По данной схеме нужно получить математическую модель методом пространств состояний. Суть я понял, но конкретно в своем варианте застрял в...

Расчет разветвленной линейной электрической цепи постоянного тока с одним источником электрической энергии
Доброй ночи. Срочно нужна помощь. Определить токи в ветвях методом преобразований ...

Интерактивность в приложении
1)Можно ли при нажатии на какую-либо кнопку отключить определенную функцию в запущенной программе. Например, отключить ф-ю, которая...

Интерактивность форм на VS 2010 C++
Добрый вечер! Очередной камень преткновения, о котором немало рассуждений в сети, изменение переменных одной формы функционалом другой....


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru