Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/51: Рейтинг темы: голосов - 51, средняя оценка - 4.63
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537

Visual C++ Studio 2010 для начинающих :)

04.01.2011, 12:28. Показов 9959. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет сем!
Начал осваивать Visual Studio 2010, перейдя с C++Builder 2010.
У меня такой вопрос.
В C++Builder было всегда 2 файла:
Заголовочный, к примеру Form1.h и Cpp, с кодом, Form.cpp
В заголовочном соотвественно функции, к примеру
C++
1
void __fastcall Draw();
Ну и сама функция пишется уже в cpp файле:
C++
1
void __fastcall TForm1::Draw() {... };
Ну и впрочем в Delphi так же.
В Visaul Studio вообще другая структура.
Создал я проект WidowsForms, при вызове обработчика события он сразу автоматом направляет на заголовочный файл. В заголовочном файле писать код вообще не рекомендуется.
Cpp файла я вообще для форм не нашёл, разве что только WindowsForm.cpp.
Поясните пожалуйста со структурой Нормаьлного даже учебниа не нашёл ((
===================================
WindowsForms.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
// WindowsForm.cpp: главный файл проекта.
 
#include "stdafx.h"
#include "Form1.h"
 
using namespace WindowsForm;
 
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    // Включение визуальных эффектов Windows XP до создания каких-либо элементов управления
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false); 
    
    // Создание главного окна и его запуск
    Application::Run(gcnew Form1());
    return 0;
}
 
void  Form1::Drawing()
{
//  Form1->Canvas;  
}
Form1.h:
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
#pragma once
 
namespace WindowsForm {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
    /// <summary>
    /// Сводка для Form1
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        Form1(void)
        {
            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }
        void Drawing();
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~Form1()
        {
            if (components)
            {
                delete components;
            }
        }
 
    protected: 
 
 
    private: System::Windows::Forms::ColorDialog^  colorDialog1;
    private: System::Windows::Forms::MenuStrip^  menuStrip1;
    private: System::Windows::Forms::ToolStripMenuItem^  менюToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  создатьToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  документToolStripMenuItem;
    private: System::Windows::Forms::ToolStripSeparator^  toolStripMenuItem1;
    private: System::Windows::Forms::ToolStripMenuItem^  выходToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  правкаToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  цветToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  toolStripMenuItem2;
    private: System::Windows::Forms::Button^  button1;
    private: System::Windows::Forms::RichTextBox^  R1;
    private: System::Windows::Forms::ColorDialog^  colorDialog2;
 
 
    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent(void)
        {
            this->colorDialog1 = (gcnew System::Windows::Forms::ColorDialog());
            this->menuStrip1 = (gcnew System::Windows::Forms::MenuStrip());
            this->менюToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->создатьToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->документToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->toolStripMenuItem1 = (gcnew System::Windows::Forms::ToolStripSeparator());
            this->выходToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->правкаToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->цветToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->toolStripMenuItem2 = (gcnew System::Windows::Forms::ToolStripMenuItem());
            this->button1 = (gcnew System::Windows::Forms::Button());
            this->R1 = (gcnew System::Windows::Forms::RichTextBox());
            this->colorDialog2 = (gcnew System::Windows::Forms::ColorDialog());
            this->menuStrip1->SuspendLayout();
            this->SuspendLayout();
            // 
            // menuStrip1
            // 
            this->menuStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(3) {this->менюToolStripMenuItem, 
                this->правкаToolStripMenuItem, this->toolStripMenuItem2});
            this->menuStrip1->Location = System::Drawing::Point(0, 0);
            this->menuStrip1->Name = L"menuStrip1";
            this->menuStrip1->Size = System::Drawing::Size(533, 24);
            this->menuStrip1->TabIndex = 2;
            this->menuStrip1->Text = L"menuStrip1";
            // 
            // менюToolStripMenuItem
            // 
            this->менюToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(3) {this->создатьToolStripMenuItem, 
                this->toolStripMenuItem1, this->выходToolStripMenuItem});
            this->менюToolStripMenuItem->Name = L"менюToolStripMenuItem";
            this->менюToolStripMenuItem->Size = System::Drawing::Size(53, 20);
            this->менюToolStripMenuItem->Text = L"Меню";
            // 
            // создатьToolStripMenuItem
            // 
            this->создатьToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(1) {this->документToolStripMenuItem});
            this->создатьToolStripMenuItem->Name = L"создатьToolStripMenuItem";
            this->создатьToolStripMenuItem->Size = System::Drawing::Size(117, 22);
            this->создатьToolStripMenuItem->Text = L"Создать";
            // 
            // документToolStripMenuItem
            // 
            this->документToolStripMenuItem->Name = L"документToolStripMenuItem";
            this->документToolStripMenuItem->Size = System::Drawing::Size(128, 22);
            this->документToolStripMenuItem->Text = L"Документ";
            // 
            // toolStripMenuItem1
            // 
            this->toolStripMenuItem1->Name = L"toolStripMenuItem1";
            this->toolStripMenuItem1->Size = System::Drawing::Size(114, 6);
            // 
            // выходToolStripMenuItem
            // 
            this->выходToolStripMenuItem->Name = L"выходToolStripMenuItem";
            this->выходToolStripMenuItem->Size = System::Drawing::Size(117, 22);
            this->выходToolStripMenuItem->Text = L"Выход";
            this->выходToolStripMenuItem->Click += gcnew System::EventHandler(this, &Form1::выходToolStripMenuItem_Click);
            // 
            // правкаToolStripMenuItem
            // 
            this->правкаToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(1) {this->цветToolStripMenuItem});
            this->правкаToolStripMenuItem->Name = L"правкаToolStripMenuItem";
            this->правкаToolStripMenuItem->Size = System::Drawing::Size(59, 20);
            this->правкаToolStripMenuItem->Text = L"Правка";
            // 
            // цветToolStripMenuItem
            // 
            this->цветToolStripMenuItem->Name = L"цветToolStripMenuItem";
            this->цветToolStripMenuItem->Size = System::Drawing::Size(109, 22);
            this->цветToolStripMenuItem->Text = L"Цвет...";
            // 
            // toolStripMenuItem2
            // 
            this->toolStripMenuItem2->Name = L"toolStripMenuItem2";
            this->toolStripMenuItem2->Size = System::Drawing::Size(12, 20);
            // 
            // button1
            // 
            this->button1->FlatStyle = System::Windows::Forms::FlatStyle::Flat;
            this->button1->Location = System::Drawing::Point(446, 304);
            this->button1->Name = L"button1";
            this->button1->Size = System::Drawing::Size(75, 23);
            this->button1->TabIndex = 3;
            this->button1->UseVisualStyleBackColor = true;
            this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
            // 
            // R1
            // 
            this->R1->BorderStyle = System::Windows::Forms::BorderStyle::None;
            this->R1->Location = System::Drawing::Point(12, 27);
            this->R1->Name = L"R1";
            this->R1->ScrollBars = System::Windows::Forms::RichTextBoxScrollBars::ForcedBoth;
            this->R1->Size = System::Drawing::Size(509, 257);
            this->R1->TabIndex = 4;
            this->R1->Text = L"";
            // 
            // Form1
            // 
            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(533, 339);
            this->Controls->Add(this->R1);
            this->Controls->Add(this->button1);
            this->Controls->Add(this->menuStrip1);
            this->MainMenuStrip = this->menuStrip1;
            this->Name = L"Form1";
            this->Text = L"Мое первое приложение";
            this->menuStrip1->ResumeLayout(false);
            this->menuStrip1->PerformLayout();
            this->ResumeLayout(false);
            this->PerformLayout();
 
        }
#pragma endregion
    private: System::Void выходToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {Close();
             }
private: 
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
colorDialog1->RunDialog();
 
         }
};
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.01.2011, 12:28
Ответы с готовыми решениями:

Visual Studio 2010
Панель элементов windows form стала не активна в любом проэкте( как включить?

Структура проекта в Visual Studio 2010
Создал проект в виде формы с кнопками и различными элементами, но при ее программировании все действия c элементами записываются в .h файл...

Visual Studio 2010 вызов формы.
Здравствуйте, обращаюсь с таким вопросом, учусь программировать до этого писал в Builder 6. Перешел на Visual Studio 2010. Попробовал в...

17
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
04.01.2011, 12:39
DanUnited, в MS как раз и решили писать код в *.h файлах форм, поэтому там где создался обработчик - там и пишите
0
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
04.01.2011, 14:30  [ТС]
C точки зрения безопасности это норм ??

Добавлено через 1 час 2 минуты
Ещёодин вопрос, вот пишу я программу, простая смена фона в текстовом редакторе при помощи ColorDialog:
C++
1
2
3
4
5
 ColorDialog^ MyDialog = gcnew ColorDialog();
             MyDialog->AllowFullOpen = false ;
             MyDialog->ShowHelp = true ;
             MyDialog->ShowDialog();
             R1->SelectionBackColor = MyDialog->Color;
Правильно ли я написал ? На код
C++
1
2
 if(MyDialog->ShowDialog()){
             R1->SelectionBackColor = MyDialog->Color;}
Компилятор выдаёт ошибку

Добавлено через 27 минут
P.S. и очень интересно узнать где объявлять глобальные переменные ((
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
04.01.2011, 23:41
Цитата Сообщение от DanUnited Посмотреть сообщение
C++
1
if(MyDialog->ShowDialog())
Вообще-то тут вы должны проверять, что возвращается DialogResult равный OK


Цитата Сообщение от DanUnited Посмотреть сообщение
и очень интересно узнать где объявлять глобальные переменные ((
Что есть глобальные переменные с точки зрения ООП?
0
22 / 22 / 2
Регистрация: 06.12.2010
Сообщений: 125
05.01.2011, 04:01
вообще, там в коде полно названий элементов формы на кириллице. конечно, мелкософт это вроде как допускает, но всё же лучше этого не делать. название элемента и его текст - разные вещи. а русские названия в переменных - потенциальный геморрой. сам же запаришься потом с кодировками (крайне сложно найти ошибки с буквами из другого языка в коде), а впоследствии будут проблемы с экспортом, если потребуется делать библиотеки: не будет никакой совместимости с другими компиляторами.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
05.01.2011, 08:38
Iron Bug, а это - очередная тупая фишка MS. Если при добавлении нового MenuItem на MenuStrip назвать этот айтем кириллицей, то он по дефолту и добавит кириллическое название в код
0
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
05.01.2011, 13:19  [ТС]
Да, про кириллицу новости не порадовали... ((
Что сказать про переменную. Глобальная переменная с моей точки зрения - это переменная, являющаяся членом класса public, доступной из вне методом extern. С другой стороны, я даже не мог нигде объявить переменную вне данной функции. К примеру при вызове создания вкладки у меня есть переменная index, которая считает их кол-во. Данная переменная должна быть вне функции, я её объявлял в public, private, вне класса вообще, везде объявлял компилятор ошибку
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
05.01.2011, 14:04
Цитата Сообщение от DanUnited Посмотреть сообщение
WidowsForms
Если не ошибаюсь, WindowsForms - это не С++ =) Это C++/CLI - эдакий выкидышь гюрзы и змея горыныча. Поэтому там все можно =)

Добавлено через 1 минуту
Цитата Сообщение от DanUnited Посмотреть сообщение
C точки зрения безопасности это норм ??
вообще.. что касается классов, то написание кода метода в .h файле делает это метод кандидатом на inline, не более того. Но компилятор оставляет за собой право решать: делать inline или нет (большие методы делать не будет). Поэтому мне так думается, что на безопасность это никоим образом не повлияет. =)
0
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
05.01.2011, 14:05  [ТС]
Я пробовал Win32 Application создавать приложение, но там форма программируется без ООП, вс1 ручками ))) Вот ацтой ) Ориентироваться на форме же нереально
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.01.2011, 14:29
DanUnited, А все ручками и надо. Формошлепство в топку.
1
Заблокирован
05.01.2011, 14:49
Цитата Сообщение от DanUnited Посмотреть сообщение
Я пробовал Win32 Application создавать приложение, но там форма программируется без ООП, вс1 ручками ))) Вот ацтой ) Ориентироваться на форме же нереально
И ты после таких слов надеешься стать программистом??? ...Чтож мир получил еще одну кодообезьянку
0
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
05.01.2011, 14:50  [ТС]
Ручками надо когда уже в ООП мастер и знаешь наизусть все свойства и мтоды всех компонентов наизусть, тогда твоя самая сложная задача будет только верно вслепую угадать и разместить всё это дело
Вот VC++ хре*ь ), у них даже подсказки Ctrl+Space в этом деле не предусмотренно, скавчивал крякнутую фигню какуе-то ассистент ((((
0
Заблокирован
05.01.2011, 14:55
Цитата Сообщение от DanUnited Посмотреть сообщение
Ручками надо когда уже в ООП мастер и знаешь наизусть все свойства и мтоды всех компонентов наизусть, тогда твоя самая сложная задача будет только верно вслепую угадать и разместить всё это дело
Вот VC++ хре*ь ), у них даже подсказки Ctrl+Space в этом деле не предусмотренно, скавчивал крякнутую фигню какуе-то ассистент ((((
Причем тут ООП и GUI ??? Ты вообще не понимаешь об чем говоришь
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
05.01.2011, 15:14
Цитата Сообщение от DanUnited Посмотреть сообщение
Ручками надо когда уже в ООП мастер и знаешь наизусть все свойства и мтоды всех компонентов наизусть, тогда твоя самая сложная задача будет только верно вслепую угадать и разместить всё это дело
Вот VC++ хре*ь ), у них даже подсказки Ctrl+Space в этом деле не предусмотренно, скавчивал крякнутую фигню какуе-то ассистент ((((
для тебя программирование - покидать кнопку на форму и привязать обработчик событий, поэтому ты пишешь в билдере. Все что ты можешь разработать это GUI оболочку, мб когда-нибудь поймешь какая сила скрыта в Visual Studio подсказки есть, и еще классная штука как MSDN
0
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
05.01.2011, 15:28  [ТС]
панеслося...
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.01.2011, 16:12
DanUnited, Окэ. По ООП просто пару вопросов. Можешь продемонстрировать основные понятия?
1) Инкапсуляция
2) Полиморфизм
Ну хотя бы эти два. Обычным кодом на С++/C#/Java. Да на чем угодно, поддерживающем ООП

Если не сможешь - стоит почитать хоть что-то по ООП.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
05.01.2011, 17:11
 Комментарий модератора 
Давайте не устраивать тут холивары и не отклоняемся от темы



Цитата Сообщение от DanUnited Посмотреть сообщение
Глобальная переменная с моей точки зрения - это переменная, являющаяся членом класса public, доступной из вне методом extern. С другой стороны, я даже не мог нигде объявить переменную вне данной функции. К примеру при вызове создания вкладки у меня есть переменная index, которая считает их кол-во. Данная переменная должна быть вне функции, я её объявлял в public, private, вне класса вообще, везде объявлял компилятор ошибку
Вы не смогли объявить паблик переменную? Какую ошибку получили?
0
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
05.01.2011, 17:14  [ТС]
Цитата Сообщение от ForEveR Посмотреть сообщение
DanUnited, Окэ. По ООП просто пару вопросов. Можешь продемонстрировать основные понятия?
1) Инкапсуляция
2) Полиморфизм
Ну хотя бы эти два. Обычным кодом на С++/C#/Java. Да на чем угодно, поддерживающем ООП

Если не сможешь - стоит почитать хоть что-то по ООП.
мдя книжки читал )
Вы не смогли объявить паблик переменную? Какую ошибку получили?
упс, всё заработало.... и в private норм, и в public )))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2011, 17:14
Помогаю со студенческими работами здесь

Visual Studio 2010 C Graphic Basics (GDI+)
День добрый, форумчане. Есть одна задача, а именно : &quot;В PictureBox случайно выбираются 2 точки. Соединить эти 2 точки случайной...

Visual Studio 2010 Windows Forms OpenFileDialog
Здравствуйте! Создаю стандартное Windows Forms приложение в Visual Studio 2010. На форму кидаю, допустим, кнопку или текстовое поле. ...

MS Visual Studio 2010.с++.хочу создать текстовый редактор
windows Forms ..подскажите как написать код для кнопки.. открывать . с функцией openFileDialog1

создание в Visual Studio 2010 графической оболочки к программке на с++
Есть скомпилированная программа, вопрос как соединить в проекте файлы .cpp и Windous Forms?

Игра Ping Pong в Windows Forms (Visual Studio 2010)
Приветствую всех кто решил помочь мне с игрой по С++, я должен сделать банальный пинг понг. :-| Суть в том, что макет я сделал как он...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru