Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44

Почему не работает Remove()?

03.12.2015, 20:30. Показов 3869. Ответов 20

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите, пожалуйста При нажатии на
button1
должен создаться textbox1, при повторном нажатии - удалиться. И почему-то удаления не происходит. Я пробовал также
delete
и
Visible = false
, но никаких действий с textbox1 не происходит. Если прописать что-то другое в
else
, то все работает. Проблема в том, что не происходят изменения действий с
textbox1
. В данном случае мне нужно,
this->Controls->Remove(textbox1);
, но, как я писал выше, это не работает. Кстати,
C++
1
2
3
4
5
if (bool1 == false)
                {
                    this->Controls->Add(textbox1);
                    bool1=true;
                }
работает. А вот в else нет
Вот сам код.
Я также объявил глобальную переменную bool1 и, конечно, инициализировал.
Если bool1=false, то должен появиться на форме textbox1, а если bool1=true, то удалиться.

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
     
 
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
 
//создание textbox1.
//написано вне оператора [CODE]if[/CODE], чтобы textbox1 был виден и в [CODE]else[/CODE].
            TextBox ^ textbox1 = gcnew TextBox();                       
            textbox1->Text = "Текст";
            textbox1->ReadOnly = true;
            textbox1->Size = System::Drawing::Size(83, 22);
                        textbox1->Location = Point(518,240);
            textbox1->Font = (gcnew System::Drawing::Font(L"Calibri", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
                static_cast<System::Byte>(204)));
            textbox1->TextAlign = System::Windows::Forms::HorizontalAlignment::Center;
            
 
// добавление на форму
             if (bool1 == false)
                {
                    this->Controls->Add(textbox1);
                    bool1=true;
                }
 
// удаление
             else if (bool1 == true)
                {
                    this->Controls->Remove(textbox1);           
                    bool1 = false;
                }
Добавлено через 16 минут
Здравствуйте! Помогите, пожалуйста При нажатии на button1 должен создаться textbox1, при повторном нажатии - удалиться. И почему-то удаления не происходит. Я пробовал также delete и Visible = false, но никаких действий с textbox1 не происходит. Если прописать что-то другое в else, то все работает. Проблема в том, что не происходят действия именно с textbox1. В данном случае мне нужно, this->Controls->Remove(textbox1);, но, как я писал выше, это не работает. Кстати,
C++
1
2
3
4
5
if (bool1 == false)
                {
                    this->Controls->Add(textbox1);
                    bool1=true;
                }
работает. А вот
C++
1
2
3
4
5
else if (bool1 == true)
                {
                    this->Controls->Remove(textbox1);           
                    bool1 = false;
                }
как раз-таки нет
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2015, 20:30
Ответы с готовыми решениями:

Почему не работает Remove
добрый день, можете подсказать почему не срабатывает удаление из списка: using System; using System.Collections.Generic; using...

Почему List.remove(0) удаляет последний элемент?
есть result.addAll(orElements); где result и orElements - оба List&lt;StackElement&gt; результат: StackElement...

Реализовать аппликативный оператор MY-REMOVE-IF с интерфейсом и семантикой, аналогично стандартному REMOVE-IF
Реализовать аппликативный оператор MY-REMOVE-IF с интерфейсом и семантикой, аналогично стандартному REMOVE-IF.

20
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18292 / 14216 / 5368
Регистрация: 17.03.2014
Сообщений: 28,893
Записей в блоге: 1
03.12.2015, 22:59
Лучший ответ Сообщение было отмечено SMore как решение

Решение

SMore, Remove() не работает потому что ты создаешь новый textBox и пытаешься его удалить. Присвой textBox-у Name. При удалении ищи с помощью метода Find() и удаляй. Примерно так:
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
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    if (bool1 == false)
    {
        // добавление на форму
        TextBox ^ textbox1 = gcnew TextBox();                       
        textbox1->Text = "Текст";
        textbox1->Name = "myTextBox";
        textbox1->ReadOnly = true;
        textbox1->Size = System::Drawing::Size(83, 22);
        textbox1->Location = Point(518,240);
        textbox1->Font = (gcnew System::Drawing::Font(L"Calibri", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
        static_cast<System::Byte>(204)));
        textbox1->TextAlign = System::Windows::Forms::HorizontalAlignment::Center;
        this->Controls->Add(textbox1);
    }
    else
    {
        // удаление
        array<Control^>^ textboxes = this->Controls->Find("myTextBox", false);
        for (int i=0; i<textboxes->Length; i++)
        {
            this->Controls->Remove(textboxes[i]);
        }
    }
    bool1 = !bool1;
}
1
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44
04.12.2015, 18:56  [ТС]
Спасибо большое!
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44
04.12.2015, 20:11  [ТС]
У меня есть еще вопрос. Что если эта кнопка (button1) создает textbox1 и соответствующую для него button_delete1 для удаления. Просто при нажатии любой из button_delete1 удаляются сразу все textbox, а не для него соответствующий. Пытаюсь это сделать так

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
//button1_Click для создания контролов: textbox1 и button_delete1 для удаления textbox1
 
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    
         h=h+30; //глобальная переменная для координат. 
        //При создании нового textbox высота изменится на h=h+30;
 
        // добавление на форму textbox1
 
        TextBox ^ textbox1 = gcnew TextBox();                       
        textbox1->Text = "Текст";
        textbox1->Name = "textbox1";
        textbox1->ReadOnly = true;
        textbox1->Size = System::Drawing::Size(83, 22);
        textbox1->Location = Point(518,h);
        textbox1->Font = (gcnew System::Drawing::Font(L"Calibri", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
        static_cast<System::Byte>(204)));
        textbox1->TextAlign = System::Windows::Forms::HorizontalAlignment::Center;
        this->Controls->Add(textbox1);
 
//создание кнопки button_delete1 для удаления textbox1
        Button ^ button_delete1 = gcnew Button();
        this->Controls->Add(button_delete1);                
    button_delete1->Size = System::Drawing::Size(22, 22);
    button_delete1->Text = "Удалить";
    button_delete1->Font = (gcnew System::Drawing::Font(L"Arial Rounded MT Bold", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, 
                static_cast<System::Byte>(0)));
    button_delete1->ForeColor = System::Drawing::Color::DarkRed;    
    button_delete1->Location = Point(648,h);
    button_delete1->Name = "button_delete1";
 
        //при нажатии на button_delete1 происходит удаление textbox1
        //путем вызова Bdelete_Click, в которой написано удаление
    button_delete1->Click += gcnew EventHandler(this, &MyForm::Bdelete_Click);
    }
 
//само удаление
private: System::Void Bdelete_Click(System::Object^  sender, System::EventArgs^  e) {   
            
        array<Control^>^ textboxes = this->Controls->Find("textbox1", false);
        for (int i=0; i<textboxes->Length; i++)
        {
            this->Controls->Remove(textboxes[i]);
        }
 
        array<Control^>^ buttondelete1 = this->Controls->Find("button_delete1", false);
    for (int i=0; i<buttondelete1->Length; i++)
    {
        this->Controls->Remove(buttondelete1[i]);
    }
        
         h=h-30;        
    }
И вот скриншот программы, если не понятно для чего мне это
Миниатюры
Почему не работает Remove()?  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18292 / 14216 / 5368
Регистрация: 17.03.2014
Сообщений: 28,893
Записей в блоге: 1
05.12.2015, 23:02
SMore, имена элементов должны быть уникальными чтобы можно было найти только один конкретный элемент управления. В данном случае можно пойти другим путем - использовать свойство Tag для связи между кнопкой и полем ввода. Примерно так:
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
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
{
    h += 30;
 
    TextBox^ textboxNote = gcnew TextBox();
    textboxNote->Size = System::Drawing::Size(83, 22);
    textboxNote->Location = Point(518, h);
    this->Controls->Add(textboxNote);
 
    Button ^ button_delete = gcnew Button();
    button_delete->Size = System::Drawing::Size(22, 22);
    button_delete->Text = "Удалить";
    button_delete->Location = Point(648, h);
    button_delete->Click += gcnew EventHandler(this, &MyForm::Bdelete_Click);
    button_delete->Tag = textboxNote; // Запоминаем какой TextBox связан с данной кнопкой
    this->Controls->Add(button_delete);
}
 
private: System::Void Bdelete_Click(System::Object^ sender, System::EventArgs^  e)
{
    Button^ button_delete = static_cast<Button^>(sender);
    TextBox^ textboxNote = static_cast<TextBox^>(button_delete->Tag);
 
    button_delete->Click -= gcnew EventHandler(this, &MyForm::Bdelete_Click);
    button_delete->Tag = nullptr;
 
    this->Controls->Remove(textboxNote);
    this->Controls->Remove(button_delete);
 
    h -= 30;
}
P.S. Обрати внимание что код добавления работает неверно если удалять не последную запись. В этом случае новые элементы управления размещаются поверх уже существуюших.
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44
06.12.2015, 11:02  [ТС]
А как присвоить Tag, если у меня создаются textboxNote1 и textboxNote2, а кнопка удаления для них единственная? Например, я нажимаю на button1, создается заголовок (textboxNote1), рядом с ним текст textboxNote2 и кнопка button_delete уже для удаления заголовка и текста. И вот пример такой программы
Миниатюры
Почему не работает Remove()?  
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44
06.12.2015, 11:08  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
P.S. Обрати внимание что код добавления работает неверно если удалять не последную запись. В этом случае новые элементы управления размещаются поверх уже существуюших.
Да, надо как-то смещать вверх текстбоксы, которые оказались ниже удаленного.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18292 / 14216 / 5368
Регистрация: 17.03.2014
Сообщений: 28,893
Записей в блоге: 1
06.12.2015, 19:05
SMore, назначь обоим textbox-ам одинаковое имя. При первом нажатии "создать заметку" это должно быть имя "textboxNote1", при втором "textboxNote2", при третьем"textboxNote3" и т.п. По аналогии назначай имя для кнопки удаления. Тогда "номер" кнопки удаления будет всегда соответстовать "номеру" полей ввода. Так мы сможем удалить только нужные textbox-ы. Вот модифицированный предыдущий пример. Тут textbox один, но принцип понятен.
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
private: int noteNum = 0;
 
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
{
    h += 30;
    noteNum++;
 
    TextBox^ textboxNote = gcnew TextBox();
    textboxNote->Name = "textboxNote" + noteNum.ToString(); // Имя поля ввода
    textboxNote->Size = System::Drawing::Size(83, 22);
    textboxNote->Location = Point(518, h);
    this->Controls->Add(textboxNote);
 
    Button ^ button_delete = gcnew Button();
    button_delete->Name = "button_delete" + noteNum.ToString(); // Имя кнопки удаления
    button_delete->Size = System::Drawing::Size(22, 22);
    button_delete->Text = "Удалить";
    button_delete->Location = Point(648, h);
    button_delete->Click += gcnew EventHandler(this, &MyForm::Bdelete_Click);
    button_delete->Tag = textboxNote; // Запоминаем какой TextBox связан с данной кнопкой
    this->Controls->Add(button_delete);
}
 
private: System::Void Bdelete_Click(System::Object^ sender, System::EventArgs^  e)
{
    Button^ button_delete = static_cast<Button^>(sender);
    button_delete->Click -= gcnew EventHandler(this, &MyForm::Bdelete_Click);
    button_delete->Tag = nullptr;
    this->Controls->Remove(button_delete);
 
    String^ textboxNoteName = "textboxNote" + button_delete->Name->Substring(13);
    array<Control^>^ textboxes = this->Controls->Find(textboxNoteName, false);
    for (int i = 0; i<textboxes->Length; i++)
    {
        this->Controls->Remove(textboxes[i]);
    }
 
    h -= 30;
}
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44
06.12.2015, 19:54  [ТС]
К сожалению, выдается ошибка, когда я нажимаю на удаление(button_delete) textbox'ов
Необработанное исключение типа "System.ArgumentOutOfRangeException" в mscorlib.dll
на строчке
C++
1
String^ textboxNoteName = "textboxNote" + button_delete->Name->Substring(13);
.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18292 / 14216 / 5368
Регистрация: 17.03.2014
Сообщений: 28,893
Записей в блоге: 1
06.12.2015, 21:19
SMore, назначь имя кнопке удаления при её создании:
C#
1
button_delete->Name = "button_delete" + noteNum.ToString(); // Имя кнопки удаления
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44
07.12.2015, 17:22  [ТС]
Все равно ):
Необработанное исключение типа "System.ArgumentOutOfRangeException" в mscorlib.dll

Дополнительные сведения: startIndex не может быть больше, чем длина строки.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18292 / 14216 / 5368
Регистрация: 17.03.2014
Сообщений: 28,893
Записей в блоге: 1
07.12.2015, 17:30
SMore, код рабочий. Я проверял. Покажи свой код.
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44
07.12.2015, 17:53  [ТС]
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
private: System::Void Bdelete33_Click(System::Object^  sender, System::EventArgs^  e) {                    
                         hg=hg-23;
                
            Button^ de33 = static_cast<Button^>(sender);
             de33->Click -= gcnew EventHandler(this, &MyForm::Bdelete33_Click);
    de33->Tag = nullptr;
    this->Controls->Remove(de33);
 
    String^ T33 = "T33" + de33->Name->Substring(13);
    array<Control^>^ textboxes = this->Controls->Find(T33, false);
    for (int i = 0; i<textboxes->Length; i++)
    {
        this->Controls->Remove(textboxes[i]);
    }
                              }
         
 
private: System::Void button33_Click(System::Object^  sender, System::EventArgs^  e) {
 
            if(hg == 0)
                 label2->Visible=true;
             else label2->Visible=false;
             number++;
                int b;
                 b=hg;
                 hg=hg + 23;
            TextBox ^ HText33 = gcnew TextBox();
            TextBox ^ NText33 = gcnew TextBox();
            TextBox ^ CText33 = gcnew TextBox();
            Button ^ de33 = gcnew Button();
            this->Controls->Add(HText33);
            HText33->Text = button33->Text;
            HText33->ReadOnly = true;
            HText33->Size = System::Drawing::Size(110, 22);
            HText33->Font = (gcnew System::Drawing::Font(L"Calibri", 9, static_cast<System::Drawing::FontStyle>((System::Drawing::FontStyle::Bold | System::Drawing::FontStyle::Italic)), 
                System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(204)));
            HText33->TextAlign = System::Windows::Forms::HorizontalAlignment::Center;           
            HText33->Location = Point(0,b); 
            HText33->Name = "T33" + number.ToString();
 
            this->Controls->Add(NText33);
            NText33->ReadOnly = false;
            NText33->Size = System::Drawing::Size(396, 22);
            NText33->Font = (gcnew System::Drawing::Font(L"Calibri", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, 
                static_cast<System::Byte>(204)));
            NText33->TextAlign = System::Windows::Forms::HorizontalAlignment::Center;           
            NText33->Location = Point(116,b);
            NText33->Name = "T33" + number.ToString();
 
            this->Controls->Add(CText33);
            CText33->Text = "Четверг";
            CText33->ReadOnly = true;
            CText33->Size = System::Drawing::Size(83, 22);
            CText33->Font = (gcnew System::Drawing::Font(L"Calibri", 9, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, 
                static_cast<System::Byte>(204)));
            CText33->TextAlign = System::Windows::Forms::HorizontalAlignment::Center;
            CText33->Location = Point(518,b);
            CText33->Name = "T33" + number.ToString();
 
            this->Controls->Add(de33);              
            de33->Size = System::Drawing::Size(22, 22);
            de33->Text = "x";
            de33->Font = (gcnew System::Drawing::Font(L"Arial Rounded MT Bold", 9.75F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, 
                static_cast<System::Byte>(0)));
            de33->ForeColor = System::Drawing::Color::DarkRed;  
            de33->Location = Point(648,b);
            de33->Name = "de33" + number.ToString();
            de33->Tag=HText33;
 
            de33->Click += gcnew EventHandler(this, &MyForm::Bdelete33_Click);  
 
         }
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18292 / 14216 / 5368
Регистрация: 17.03.2014
Сообщений: 28,893
Записей в блоге: 1
08.12.2015, 00:27
SMore, метод Substring возвращает строку начиная с указанной позиции. В данном случае нам это нужно чтобы получить "номер" кнопки. В моем коде кнопка удаления называется "button_deleteNN". Догадайся почему я использовал цифру 13, и какую цифру нужно написать тебе, если кнопка называется "de33NN"
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44
08.12.2015, 18:24  [ТС]
Спасибо, помогло! Я все понял.
А как сделать смещение textbox'ов вверх если над ними удалить один из них? И вообще, есть какие-либо методы, которые мне помогли бы это сделать? Идеально, конечно, я считаю, чтобы была сортировка этих текстов (как раз они после сортировки, допустим при запуске формы, могли отобразиться по порядку). Например, им присваивалась дата создания, и они бы сортировались по дням недели (сначала все textbox'ы за понедельник и т.д.)

Добавлено через 18 минут
Пытаюсь сделать это так. В кнопке Bdelete33_Click(удаление текстов) Узнать номер de33NN, потом в цикле создать новый textbox со всеми свойствами, как у NText33->Name = "T33" + number.ToString(); но координаты hg-=23;, а сам NText33->Name = "T33" + number.ToString(); - удалить и так со всеми следующими. Т.е. будут все следующие textbox'ы удаляться, а на координату выше создаваться такие же. В итоге, все сместится вверх до места, где был удален textbox. Но они не будут сортироваться. В любом случае, сложность в создании этого цикла...

Добавлено через 6 минут
Т.е. будут все следующие textbox'ы удаляться и сразу же на координату выше создаваться. В итоге, все сместится вверх до места, где был удален textbox.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18292 / 14216 / 5368
Регистрация: 17.03.2014
Сообщений: 28,893
Записей в блоге: 1
08.12.2015, 18:47
SMore, я бы использовал TableLayoutPanel в качестве контейнера для полей ввода и кнопок.
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44
08.12.2015, 21:09  [ТС]
А в чем будет отличие при смещении вверх нижних строчек?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18292 / 14216 / 5368
Регистрация: 17.03.2014
Сообщений: 28,893
Записей в блоге: 1
08.12.2015, 21:17
SMore, в том что удаление строки TableLayoutPanel автоматически сместит все нижелажащие строки вверх.
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 44
13.12.2015, 15:05  [ТС]
Что-то я решил им воспользоваться, как-то все громоздко получается. Нельзя все-таки в Bdelete33_Click запихнуть цикл, который пройдется по "de33" + number.ToString(); и изменит их координаты на hg-=23?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18292 / 14216 / 5368
Регистрация: 17.03.2014
Сообщений: 28,893
Записей в блоге: 1
13.12.2015, 16:14
Цитата Сообщение от SMore Посмотреть сообщение
Что-то я решил им воспользоваться, как-то все громоздко получается.
Угу. Оказалось что TableLayoutPanel устроен по дурацки и не упрощает задачу

Цитата Сообщение от SMore Посмотреть сообщение
Нельзя все-таки в Bdelete33_Click запихнуть цикл, который пройдется по "de33" + number.ToString(); и изменит их координаты на hg-=23?
Можно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2015, 16:14
Помогаю со студенческими работами здесь

Функция remove() удаляет только заранее запланированые файлы, выдавая ошибку на remove (STRING)
Салем, начал изучать файловую работу в С++, и столкнулся с такой проблемой, что функция remove() соглашается удалять только заранее...

Remove() не работает
Доброй ночи) помогите разобраться с проблемой. https://jsfiddle.net/qp3nnfc5/ - тут проблема следующая. Не удаляет элемент списка...

Не работает Remove(At) ArrayList
Собственно сабж. Remove не удаляет элемент,не RemoveAt не удаляет:cry:. Скажите пожалуйста,что я не так делаю? ArrayList Line = new...

Remove работает странно
Что-то у меня функция remove перестала работать. Я что-то не так начал делать? (setq a '((3 1) (3 3) (2 4)) ) (remove '(3 1) a) ...

Не правильно работает erase + remove
мне надо удалить из строки все пробелы, я сделал так: std::string expr; ... expr.erase(std::remove(expr.begin(), expr.end(), ' ')); ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru