С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/170: Рейтинг темы: голосов - 170, средняя оценка - 4.59
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325

Использование собственного класса в Windows Forms

20.09.2012, 18:16. Показов 31878. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть такая проблема, никак не могу понять как в Winwows Forms использовать свой класс. Есть у меня класс class.cpp, form1.h, проект.cpp. Может ли мне кто-нибудь подробно объяснить, как подружить класс с проектом? На этом форуме уже была такая тема, но там насколько я понял проблему так и не решили, то есть может быть и решили, но я не заметил. Там как-то всё не содержательно, урывками. Внедрить свой класс в Windows Forms приложение.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.09.2012, 18:16
Ответы с готовыми решениями:

Использование собственного класса в Windows Forms
Здравствуйте! Прошу помочь мне с использованием собственного класса (последовательный алгоритм шифрования RSA) - представлен усеченный...

Использование собственного класса в Виндовс Формс
Надо сделать программу на Windows Forms. По сути ето типа база данных транспортных средств должа быть, правда без использования баз данных...

Использование Boost в Windows Forms
Здравствуйте, возникла необходимость использовать библиотеки boost в windows forms. Скачал, подключил, в консоли работают. В формах...

19
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
20.09.2012, 21:13
Создаём Решение (Solution) C++ Windows Forms Applicftion
В папку хедерфайлов (там уже есть Form1) добавляем MyClass.h
в нём пишем:
C++
1
2
3
4
5
6
public ref class MyClass{
int _memb;
public:
int get();
void set(int a);
};
в папку исходников (sorce files) добавляем MyClass.Cpp(в диалогах указывайте имя без расширения здесь и выше)
в нём пишем:
C++
1
2
3
4
5
6
7
8
#include "StdAfx"
#include "MyClass.h"
int  MyClass::get(){
return  _memb;
}
void MyClass::set(int a){
int _memb=a;
}
В вверху хедер-файла Form1.h, где инклуды пишем:
C++
1
#include "MyClass.h"
теперь где хотите, хоть среди объявлений компонентов прямо в конструкторе объявляете:
C++
1
MyClass^ myC;
или
C++
1
static MyClass^ myC = gcnew  MyClass() ;//если static - можно в конструкторе создать переменную и ее будет видно везде в методах формы
или в методе где надо (если не статическим объявили), например в Form1_Load или button1_Click
C++
1
2
3
 MyClass^ myC =  gcnew  MyClass() ;
int a;
myC->Set(a);
писал по памяти, если что спрашивайте
2
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
20.09.2012, 21:31  [ТС]
Спасибо, буду пробовать
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
20.09.2012, 21:49
Цитата Сообщение от IGPIGP Посмотреть сообщение
[/Cpp]
в папку исходников (sorce files) добавляем MyClass.Cpp(в диалогах указывайте имя без расширения здесь и выше)
в нём пишем:
C++
1
2
3
4
5
6
7
8
#include "StdAfx"
#include "MyClass.h"
int  MyClass::get(){
return  _memb;
}
void MyClass::set(int a){
int _memb=a;
}
в нём пишем:
C++
1
2
3
4
5
6
7
8
#include "StdAfx"
#include "MyClass.h"
int  MyClass::get(){
return  _memb;
}
void MyClass::set(int a){
_memb=a;//ВОТ ТУТ ВЛЕПИЛ int И ПОЛУЧИЛОСЬ ОБЪЯВЛЕНИЕ,)))
}
думаю такие мелочи, Вы поправите сами. Имейте в виду, что если в классе объявляются члены классов NET нужно подключить их библиотеки в хедер. То есть если использоваться будет класс ввода-вывода то using namespace System::IO;
Если в методе используется не объявленная в классе переменная класса NET включайте то же в Cpp.
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
20.09.2012, 22:37  [ТС]
Сделал как вы сказали, появилось две ошибки:
1>d:\мои документы\visual studio 2010\projects\matrix_lite\matrix_lite\Cl ass_Matrix.h(8): error C4368: не удается определить "Matrix_L" как член управляемого "Matrix_of_Light": смешанные типы не поддерживаются
1>d:\мои документы\visual studio 2010\projects\matrix_lite\matrix_lite\Cl ass_Matrix.h(9): error C4368: не удается определить "Mass_mult" как член управляемого "Matrix_of_Light": смешанные типы не поддерживаются
На форуме нашел похожую тему, (Не могу использовать класс на форме)сделал так как там сказано, не помогло. Появилось еще больше ошибок, вместе с теми, которые были еще раньше.
Выложу коды cpp и h:
Код .h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <vector>
#include "stdafx.h"
 
 
public ref class Matrix_of_Light{
    int i, j, k, n;
    double factor_f;
    vector< vector<double> > Matrix_L;
    vector<double> Mass_mult;
 
    void step_out_inv(vector< vector<double> > matrix_L, double factor);
    void step_out_inv(vector< vector<double> > matrix_L, double factor , double mult); 
 
                                            
public:
    Matrix_of_Light(int n_f);
    ~Matrix_of_Light();
    void elem_trans_inverse(vector< vector<double> > matrix_L, bool steps);
    void Res(vector< vector<double> > matrix_L);
    void elem_trans_determ(vector< vector<double> > matrix_L, bool steps);
};
Код .cpp (не закончен)
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
#include "stdafx.h"
#include "Class_Matrix.h"
 
Matrix_of_Light::Matrix_of_Light(int n_f)
{
    n = n_f;
    for (i = 0; i < n - 1; i++)
    {
        Matrix_L.push_back(vector<double>());
        for (j = 0; j < n - 1; j++)
        {
            if (i = j) 
                Matrix_L[i].push_back(1);
            else
                Matrix_L[i].push_back(0);
        }
        i = 1;
        j = 0;
        k = 1;
    }
 
};
 
void Matrix_of_Light::elem_trans_inverse(vector< vector<double> > matrix_L, bool steps)
{
    vector< vector<double> >::iterator it = matrix_L.begin();
    vector<double>::iterator it2 = (*it).begin();
    vector< vector<double> >::iterator it3 = Matrix_L.begin();
    vector<double>::iterator it4 = (*it3).begin();
    while (it < matrix_L.end() - 1) 
    {
        vector<double>::iterator itk = (*(it + k)).begin();
        vector<double>::iterator itk1 = (*(it3 + k)).begin();
        while (it2 < (*it).end())
        {
            *itk = -(*it2 / *itk) + *itk;
            it2++;
            itk++;
            *itk1 = -(*it4 / *itk1) + *itk1;
            it4++;
            itk1++;
        }
        if (k <= n)
            k++;
        else
        {
            k = 1;
            i++;
        }
        it++;
        it2 = (*it).begin() + i;
        it3++;
        it4 = (*it3).begin() + i;
            
    }
 
};
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
20.09.2012, 22:47
fredwriter, в NET свои, управляемые типы. Там есть и своя библиотека<vector/>, например. То есть делайте в NET, если хотите использовать ссылочные классы управляемой среды (кучи). А это тема для самообразования.
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
20.09.2012, 23:05  [ТС]
Не понял, что значит делайте в NET? Я понял, что в NET есть свои управляемые типы, и <vector/>. То есть мне в классе использовать какие-то заголовочные файлы NET и в NET есть такой-же класс как вектор или я не так понял?
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
20.09.2012, 23:15
Цитата Сообщение от fredwriter Посмотреть сообщение
Не понял, что значит делайте в NET? Я понял, что в NET есть свои управляемые типы, и <vector/>. То есть мне в классе использовать какие-то заголовочные файлы NET и в NET есть такой-же класс как вектор или я не так понял?
fredwriter, <vector/> это библиотека:
#include <vector/>
которая позволяет объявить и использовать тип. В NET свои массивы, векторы, списки... Но это нужно читать. Книги (их не много), MSDN... Поэтому и не рвётся никто отвечать на такие вопросы. Я показал как подключить класс. Но как использовать типы и библиотеки, - места не хватит. Впрочем это и не сложно. Обычно. Однако нужно почитать. Но некоторые вещи и не возможно сделать, - С++ Cli не поддерживает множественное наследование, например.
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
20.09.2012, 23:47  [ТС]
Я целых полтора дня потратил на изучение vector'a, думал, ура, теперь буду использовать двумерный вектор в классе, радовался, а теперь оказывается придется опять что-то читать и изучать. Посоветуйте литературу (желательно на русском) и я создам тему на тему векторы, массивы в NET.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
20.09.2012, 23:59
Хортон А. Базовый курс Visual C++ 2005: Базовый курс. //есть и для 2010
Пахомов Б.И. С/С++ и Visual C++ 2008 для начинающих.
Не волнуйтесь, - есть свой вектор. Посмотрите, ещё в заголовке раздела, различия C++NEТ и C# или как-то так. Я если найду - кину ссылку.
зы:Если Вы только начали изучение С++, лучше его и учите. C++/NET, - никуда не денется. Нужно будет быстро GUI сделать, - овладеете. Но правильнее учить чистый С++ сначала (имхо).
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
21.09.2012, 00:29  [ТС]
За литру спасибо. Про вектор интересно.
Мне в университете задали написать класс именно для WinForm, поэтому придется изучать NET. Я C++ изучаю по книге Герберта Шилдта - Самоучитель С++.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
21.09.2012, 01:16
Цитата Сообщение от fredwriter Посмотреть сообщение
За литру спасибо. Про вектор интересно.
Мне в университете задали написать класс именно для WinForm, поэтому придется изучать NET. Я C++ изучаю по книге Герберта Шилдта - Самоучитель С++.
Шилдт, - это хорошо. Кратко, сухо, но по делу. Хорошо, конечно читать разное, для объемности, но для начала, - хороший выбор. Удачи!
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
21.09.2012, 19:28  [ТС]
Переписал класс без использования вектора, просто массивы использую.
1>Matrix_Lite.obj : error LNK2020: неразрешенная лексема (06000001) Matrix_of_Light::step_out_inv
1>Matrix_Lite.obj : error LNK2020: неразрешенная лексема (06000002) Matrix_of_Light::step_out_det
1>Matrix_Lite.obj : error LNK2020: неразрешенная лексема (06000003) Matrix_of_Light::.ctor
1>Matrix_Lite.obj : error LNK2020: неразрешенная лексема (06000004) Matrix_of_Light::~Matrix_of_Light
1>Matrix_Lite.obj : error LNK2020: неразрешенная лексема (06000005) Matrix_of_Light::elem_trans_inverse
1>Matrix_Lite.obj : error LNK2020: неразрешенная лексема (06000006) Matrix_of_Light::Res
1>Matrix_Lite.obj : error LNK2020: неразрешенная лексема (06000007) Matrix_of_Light::elem_trans_determ
1>d:\мои документы\visual studio 2010\Projects\Matrix_Lite\Debug\Matrix_L ite.exe : fatal error LNK1120: 7 неразрешенных внешних элементов
Подключаю #include "Class_Matrix.h" в cpp проекта.
Вот код класса:
.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
 
 
public ref class Matrix_of_Light{
    int i, j, k, n;
    double factor_f;
    double **Matrix;
    double *Mass_mult;
 
    void step_out_inv(double **matrix, double factor);
    void step_out_det(double **matrix, double factor, double mult); 
 
                                            
public:
    Matrix_of_Light(int n_f);
    ~Matrix_of_Light();
    void elem_trans_inverse(double **matrix, bool steps);
    void Res(double **matrix);
    void elem_trans_determ(double **matrix, bool steps);
};
.cpp (не закончен)
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
#include "stdafx.h"
#include "Class_Matrix.h"
Matrix_of_Light::Matrix_of_Light(int n_f)
{
    n = n_f;
    Matrix = new double*[n];
    for (i = 0; i < n; i++)
    {
        Matrix[i] = new double[n];
        for (j = 0; j < n; j++)
        {
            if (i = j) 
                Matrix[i][j] = 1;
            else
                Matrix[i][j] = 0;
        }
        i = 1;
        j = 0;
        k = 1;
    }
 
};
 
void Matrix_of_Light::elem_trans_inverse(double **matrix, bool steps)
{
    while (i < n - 1) 
    {
        while (j < n)
        {
            matrix[i + k][j] = -(matrix[i + 1][j] / matrix[i][j]) + matrix[i + k][j];
            Matrix[i + k][j] = -(Matrix[i + 1][j] / Matrix[i][j]) + Matrix[i + k][j];
            i++;
            j++;
        }
        if (k < n)
            k++;
        else
        {
            k = 1;
            i++;
        }
        j = i; 
            
    }
 
};
Странно, что он не ругается на конструктор. Я подумал, что это из-за того, что там массива нет, попробовал убрать массивы в других функциях, не помогло.

...понятно, на конструктор он тоже ругается, в тексте ошибки он его почему-то .ctor обозвал.

Добавлено через 17 минут
нашел на одном форуме похожую тему, там написали, что шаблоны нельзя выносить в .cpp файл. Переместил, те функции, которые у меня уже были описаны в хедэр и они перестали отображаться как запрещенные лексемы, значит вроде как решил проблему?
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
21.09.2012, 20:13
Ошибки сыпятся потому-что нет реализаций всех методов и конструктора.
Хотя бы пустые скобки поставьте пока
C++
1
Matrix_of_Light::~Matrix_of_Light(){};
Почему не используете управляемые типы Array, ArrayList, List ?
Зачем проблемы ?
MSDN Array
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
21.09.2012, 20:23
Цитата Сообщение от fredwriter Посмотреть сообщение
нашел на одном форуме похожую тему, там написали, что шаблоны нельзя выносить в .cpp файл. Переместил, те функции, которые у меня уже были описаны в хедэр и они перестали отображаться как запрещенные лексемы, значит вроде как решил проблему?
fredwriter, я думаю, то что шаблонные классы не разделяются, это не относится к теме. Хотя то, что Вам удалось это скомпилировать собрав в хедере, для меня новость. Нужно как-нибудь попробовать. Понимаете, в cli управляемые массивы тоже есть. Это встроенный шаблонный, кстати, класс.
например одномерный массив целых объявляется так:
C++
1
2
3
4
5
array<int,1>^ myIntArrOneD= gcnew array<int>(10);//10 элементов
//двумерный:
array<int,2>^ myIntArrTwoD= gcnew array<int>(10,20);//200 элементов
myIntArrTwoD->SetValue(345,0,0);//первому элементу присвоено 345
int a=myIntArrTwoD->GetValue(0,0)//a=345
Смотрите cli:Array в MSDN-help/ литеретуре...
А типы родного С++ в ref class'ах не живут.
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
21.09.2012, 20:46  [ТС]
Хорошо уговорили, буду использовать CLI array, только мне не очень понятно, зачем так делать: на числом С++ один массив, на CLI другой, неужели нельзя было какой-нибудь один оставить? Ладно, хорошо, пусть хоть десять, но сделали бы их не конфликтующими... Но тогда все бы пользовались каким-нибудь одним. Заставляют они что-ли таким образом? Не скорее всего я просто что- нибудь не знаю важного в этом всём деле.
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
21.09.2012, 22:50
Цитата Сообщение от fredwriter Посмотреть сообщение
на числом С++ один массив, на CLI другой,

Не по теме:

хотел сразу написать но у меня интернет отрубился



Не, ну смешивать то можно, хотел сказать, зачем напрягаться ?
Например на форме текстбокс и кнопка .
Создаем матрицу в своем классе ( неуправляемом )
и выводим на форму в текстбокс

MyClass.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//  MyClass.h
#pragma once    
#include "stdafx.h"
 
 public  class MyClassMatrix{
  
    double **Matrix;
                                           
public:
    MyClassMatrix();
    ~MyClassMatrix();
    void Print(System::Windows::Forms::TextBox ^tb) ;
 
public:
    static const int SIZE = 3;  
   
};
MyClass.cpp
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
//  MyClass.cpp
#include "stdafx.h"
#include "MyClass.h"
using namespace System;
 
MyClassMatrix::~MyClassMatrix()
{
    for(int i=0; i < SIZE; i++) 
          delete[] Matrix[ i ];
                delete Matrix;
}
 
MyClassMatrix::MyClassMatrix( )
{
    System::Random ^rnd = gcnew Random();
    Matrix = new double*[SIZE];
 
   for(int i=0; i<SIZE; i++)
   {
       Matrix[i] = new double [SIZE];
   }
 
   for(int i=0; i<SIZE; i++)
   {
       for(int j=0; j<SIZE; j++)   
           Matrix[i][j] = rnd->Next(100);
   }
 
}
 
 
void MyClassMatrix::Print(System::Windows::Forms::TextBox ^tb )
{
    for(int i=0; i<SIZE; i++)
   {
       for(int j=0; j<SIZE; j++)
       {
          tb->Text += Convert::ToString( Matrix[i][j] );
          tb->Text += " ";
       }
   }
}
Form1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private:
 
        MyClassMatrix *matrix;
..........................................
............................................
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                
                 
          matrix = new  MyClassMatrix();
 
                    matrix->Print(textBox1);
 
                         delete matrix;
         }
Изображения
 
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
21.09.2012, 22:55  [ТС]
У меня появилась еще один вопрос. В проекте, по нажатии на одну из кнопок, я инициализировал двумерный массив данными, введенными пользователем в dataGridView, и это работало и с векторами, и с динамическими массивами, и сейчас прекрасно работает с CLI:array.
Цитата Сообщение от IGPIGP Посмотреть сообщение
типы родного С++ в ref class'ах не живут
То есть они только в ref классах не живут, а в самой CLI прекрасно размножаются?
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
21.09.2012, 23:16
Цитата Сообщение от fredwriter Посмотреть сообщение
У меня появилась еще один вопрос. В проекте, по нажатии на одну из кнопок, я инициализировал двумерный массив данными, введенными пользователем в dataGridView, и это работало и с векторами, и с динамическими массивами, и сейчас прекрасно работает с CLI:array.
То есть они только в ref классах не живут, а в самой CLI прекрасно размножаются?
Именно в собственных, управляемых классах не хотят. Смешивать в формах можно, но не желательно.
Тут внизу окна надыбал:
Использование структур в управляемом классе (класс окна Windows Forms)
0
7 / 7 / 2
Регистрация: 17.10.2009
Сообщений: 325
22.09.2012, 00:24  [ТС]
Переделал на CLI array, те же ошибки, что были с динамическими C++ - те же неразрешенные лексемы.
Цитата Сообщение от IGPIGP Посмотреть сообщение
Понимаете, в cli управляемые массивы тоже есть. Это встроенный шаблонный, кстати, класс.
Получается, если шаблонный класс, то нужно все функции в хедере описывать?

На секундочку, у меня в хедере работало и с динамическими от C++.

Цитата Сообщение от fredwriter Посмотреть сообщение
нашел на одном форуме похожую тему, там написали, что шаблоны нельзя выносить в .cpp файл. Переместил, те функции, которые у меня уже были описаны в хедэр и они перестали отображаться как запрещенные лексемы.
Или может я что-то не так подключаю, у меня к .cpp класса подключён .h класса, и к .cpp проекта подключён .h класса.

Добавлено через 28 минут
Цитата Сообщение от IGPIGP Посмотреть сообщение
Использование структур в управляемом классе (класс окна Windows Forms)
Ну, структуру же нельзя разделить на хедэр и .cpp файл. Или можно?

Добавлено через 30 минут
Ура, экземпляр класса создался!!! Класс весь в хедере.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.09.2012, 00:24
Помогаю со студенческими работами здесь

Использование WinINet в Windows Forms
Возможно использовать WinInet в Windows Form или нет. Если возможно то пожалуйста подскажите как.

Использование string в Windows Forms Application
Я уже достаточно давно и вроде бы неплохо программирую на Turbo Delphi и решил перейти на Visual C++, но столкнулся с такими проблемами,...

Использование std::string в проектах Windows Forms
Вот кусок из кода с участием переменной string. Всё необходимое для работы с ней подключено: #include &lt;iostream&gt; #include...

Чтение переменных класса из файла в Windows Forms
Здравствуйте. Столкнулся с такой проблемой. Пользователь в моей программе должен выбрать файл, из которого будет произведено чтение...

Array из собственного класса
Здравствуйте. Описал классы нота и массив нот: #pragma once #include &lt;stdlib.h&gt; using namespace System; ref class Note { ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru