Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/47: Рейтинг темы: голосов - 47, средняя оценка - 4.51
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 16

Ошибка CS0122 "Form1.ConnectionString" недоступен из-за его уровня защиты

26.02.2020, 21:46. Показов 10247. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ошибка CS0122 "Form1.ConnectionString" недоступен из-за его уровня защиты. Не понимаю в чем дело. Подскажите пожалуйста что не правильно.
Миниатюры
Ошибка CS0122 "Form1.ConnectionString" недоступен из-за его уровня защиты  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.02.2020, 21:46
Ответы с готовыми решениями:

"WindowsFormsApplication1.Form1.ConnectionString" недоступен в силу его уровня защиты
Вот такая вот возникла проблема, собственно говоря.

Ошибка CS0122 'Form2.textBox1" недоступен из-за его уровня защиты. (Компилятор Visual Studio 2017)
private void историяToolStripMenuItem1_Click(object sender, EventArgs e) { Form2 History = new Form2(); ...

CS0122 недоступен из-за его уровня защиты
в чем проблема?

9
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
27.02.2020, 10:24
Marusya32, модификатор доступа у вашего поля Form1.ConnectionString не публичный.
А вообще это бред. Форма не должна содержать ConnectionString. Он должен быть в модели данных.
У вас получается так, что компонент который предназначен для отображения данных сам является источником данных.
0
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 16
28.02.2020, 19:11  [ТС]
Подскажите пожалуйста как сделать его публичным.
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
28.02.2020, 20:36
Marusya32, паблик написать
0
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 16
29.02.2020, 08:54  [ТС]
Рядовой, я понимаю что нужно написать паблик я не знаю в каком модификаторе
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
29.02.2020, 10:15
Marusya32, в модификаторе доступа вашего ConnectionString. Код формы покажите.
0
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 16
29.02.2020, 19:58  [ТС]
Рядовой,
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
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
 
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Programs\\3_kurs_KP_Reshetnikov\\WindowsFormsApp1\\WindowsFormsApp1\\Baza_dly_KP.mdb";
        private int act_table = 1; //активная таблица (1-билеты, 2-маршруты, 3-автобусы, 4-водители, 5-диспетчеры
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string CommandText = "SELECT " +
                "[Перевозка].[Номер], " +
                "[Маршрут].[Номер маршрута], " +
                "[Маршрут].[Пункт назначения], " +
                "[Маршрут].[Время отправки], " +
                "[Маршрут].[Время прибытия], " +
                "[Билет].[Место], " +
                "[Билет].[Ф_И_О], " +
                "[Билет].[Стоимость], " +
                "[Водитель].[Ф_И_О] " +
                "FROM " +
                "[Перевозка], " +
                "[Маршрут], " +
                "[Билет], " +
                "[Водитель] " +
                "WHERE " +
                "([Перевозка].[ID_Marshrut]=[Маршрут].[ID_Marshrut]) AND " +
                "([Перевозка].[ID_Bilet] = [Билет].[ID_Bilet]) AND " +
                "([Перевозка].[ID_Voditel] = [Водитель].[ID_Voditel]) ";
            if (textBox1.Text != "")  // если набран текст в поле фильтра
            {
                if (comboBox1.SelectedIndex == 0) // № перевозки
                    CommandText = CommandText + " AND ([Перевозка].[Номер] = '" + textBox1.Text + "')";
                if (comboBox1.SelectedIndex == 1) // № маршрута
                    CommandText = CommandText + " AND (Маршрут.[Номер маршрута] = '" + textBox1.Text + "') ";
                if (comboBox1.SelectedIndex == 2) // Пункт назначения
                    CommandText = CommandText + " AND (Маршрут.[Пункт назначения] LIKE '" + textBox1.Text + "%') ";
                if (comboBox1.SelectedIndex == 3) // Пассажир
                    CommandText = CommandText + " AND (Билет.[Ф_И_О] LIKE '" + textBox1.Text + "%') ";
                if (comboBox1.SelectedIndex == 4) // Водитель
                    CommandText = CommandText + " AND ([Водитель].[Ф_И_О] LIKE '" + textBox1.Text + "%') ";
            }
 
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);
            DataSet ds = new DataSet();
            dataAdapter.Fill(ds, "[Перевозка]");
            dataGridView1.DataSource = ds.Tables["[Перевозка]"].DefaultView;
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.SelectedIndex = 0;
            button1_Click(sender, e);
            Get_Bilets();
        }
 
        // выполнение SQL-запроса для команд INSERT, UPDATE, DELETE
        public void My_Execute_Non_Query(string CommandText)
        {
            OleDbConnection conn = new OleDbConnection(ConnectionString);
            conn.Open();
            OleDbCommand myCommand = conn.CreateCommand();
            myCommand.CommandText = CommandText;
            myCommand.ExecuteNonQuery();
            conn.Close();
        }
        private void button2_Click(object sender, EventArgs e)
        {
            string CommandText;
            string num_per, ID_M, ID_B, ID_D, ID_A, ID_V;
            int row;
            Form2 f = new Form2(); // создали новую форму
 
            if (f.ShowDialog() == DialogResult.OK)
            {
                // добавляем данные
                // Номер перевозки
                if (f.textBox1.Text == "") num_per = "0";
                else num_per = f.textBox1.Text;
                // добавляем ID_Marshrut
                row = f.dataGridView1.CurrentCell.RowIndex; // взяли строку с dataGridView1
                ID_M = Convert.ToString(f.dataGridView1[0, row].Value);
                // добавляем ID_Bilet
                row = f.dataGridView2.CurrentCell.RowIndex; // взяли строку с dataGridView2
                ID_B = Convert.ToString(f.dataGridView2[0, row].Value);
                // добавляем ID_Dispetcher
                row = f.dataGridView3.CurrentCell.RowIndex; // взяли строку с dataGridView3
                ID_D = Convert.ToString(f.dataGridView3[0, row].Value);
                // добавляем ID_Avtobus
                row = f.dataGridView4.CurrentCell.RowIndex; // взяли строку с dataGridView4
                ID_A = Convert.ToString(f.dataGridView4[0, row].Value);
                // добавляем ID_Voditel
                row = f.dataGridView5.CurrentCell.RowIndex; // взяли строку с dataGridView5
                ID_V = Convert.ToString(f.dataGridView5[0, row].Value);
                // формируем CommandText
                CommandText = "INSERT INTO [Перевозка] (Номер, ID_Marshrut, ID_Bilet, ID_Dispetcher, ID_Avtobus, ID_Voditel) " +
                "VALUES (" + num_per + ", " + ID_M + ", " + ID_B + ", " +
                         ID_D + ", " + ID_A + ", " + ID_V + ")";
 
                // выполняем SQL-команду
                My_Execute_Non_Query(CommandText);
                // перерисовываем dataGridView1
                button1_Click(sender, e);
            }
            
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            Form3 f = new Form3();
 
            if (f.ShowDialog() == DialogResult.OK)
            {
                int index, index_old;
                string ID;
                string CommandText = "DELETE FROM ";
 
                index = dataGridView1.CurrentRow.Index; // № по порядку в таблице представления
                index_old = index;
                ID = Convert.ToString(dataGridView1[0, index].Value); // ID подаем в запрос как строку
 
                // Формируем строку CommandText
                CommandText = "DELETE FROM [Перевозка] WHERE [Перевозка].[Номер] = '" + ID + "'";
 
                // выполняем SQL-запрос
                My_Execute_Non_Query(CommandText);
 
                // перерисовывание dbGridView1
                button1_Click(sender, e);
 
                if (index_old >= 0)
                {
                    dataGridView1.ClearSelection();
                    dataGridView1[0, index_old].Selected = true;
                }
            }
        }
        private void Get_Bilets()  // читает все поля из таблицы "Билет"
        {
            string CommandText = "SELECT ID_Bilet, [Место], [Стоимость], [Время], [Ф_И_О], [Паспорт], [Льготы] FROM [Билет]";
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);
 
            // создаем объект DataSet
            DataSet ds = new DataSet();
            // заполняем dataGridView1 данными из таблицы "Билет" базы данных
            dataAdapter.Fill(ds, "[Билет]");
            dataGridView2.DataSource = ds.Tables[0].DefaultView;
            dataGridView2.Columns[0].Visible = false; // Прячем поле ID_Bilets
        }
 
        // Клик на кнопке "Билеты" из группы "Просмотр"
        private void button4_Click(object sender, EventArgs e)
        {
            Get_Bilets();
            act_table = 1;
        }
        private void Get_Marshruts()  // читает все поля из таблицы "Маршрут"
        {
            string CommandText = "SELECT * FROM [Маршрут]";
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);
            DataSet ds = new DataSet();  // создаем объект DataSet
            dataAdapter.Fill(ds, "[Маршрут]");
            dataGridView2.DataSource = ds.Tables[0].DefaultView;
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            Get_Marshruts();
            act_table = 2;
        }
        private void Get_Avtobus()  // читает все поля из таблицы "Автобус"
        {
            string CommandText = "SELECT * FROM Автобус";
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);
            DataSet ds = new DataSet();  // создаем объект DataSet
            dataAdapter.Fill(ds, "Автобус"); // заполняем набор данных данными из таблицы "Автобус"
            dataGridView2.DataSource = ds.Tables[0].DefaultView;
            dataGridView2.Columns[0].Visible = false; // спрятать нулевой столбец (поле ID_Avtobus)
        }
        private void button6_Click(object sender, EventArgs e)
        {
            Get_Avtobus();
            act_table = 3;
        }
        private void Get_Voditel()  // читает все поля из таблицы "Водитель"
        {
            string CommandText = "SELECT * FROM Водитель";
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);
            DataSet ds = new DataSet();
            dataAdapter.Fill(ds, "Водитель");
            dataGridView2.DataSource = ds.Tables[0].DefaultView;
            dataGridView2.Columns[0].Visible = false;
        }
 
        private void button7_Click(object sender, EventArgs e)
        {
            Get_Voditel();
            act_table = 4;
        }
        // заполняет dataGridView2 данными из таблицы "Диспетчер"
        private void Get_Dispetcher()
        {
            string CommandText = "SELECT * FROM [Диспетчер]";
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);
            DataSet ds = new DataSet();
            dataAdapter.Fill(ds, "Диспетчер");
            dataGridView2.DataSource = ds.Tables[0].DefaultView;
            dataGridView2.Columns[0].Visible = false;
        }
 
        private void button8_Click(object sender, EventArgs e)
        {
            Get_Dispetcher();
            act_table = 5;
        }
        // добавление Билета через ConnectionString и запрос ExecuteNonQuery()
        private void Add_Bilet(string mesto, string stoimost, DateTime vremja, string name, string passport, bool lgota)
        {
            string CommandText;
            string s_vremja;
            string s_stoimost;
            s_vremja = Convert.ToString(vremja); // переводим время в строку
            s_stoimost = stoimost.Replace(',', '.'); // меняем разделитель разрядов '.' на 
                                                     // разделитель понятный синтаксису SQL '.'
 
            CommandText = "INSERT INTO [Билет] (Место, Стоимость, [Время], [Ф_И_О], Паспорт, Льготы) " + "VALUES ('" + mesto + "', " + s_stoimost + ", '" + s_vremja + "', '"
            + name + "', '" + passport + "', " + lgota + ")";
            My_Execute_Non_Query(CommandText);
        }
        private void Add_Marshrut(string num_marsh, string punkt, string rajon, string oblast, double rasst, double ves, DateTime vremja_otpr, DateTime vremja_prib)
        {
            string CommandText;
            string s_otpr, s_prib;
            string s_ves, s_rasst;
 
            s_otpr = Convert.ToString(vremja_otpr); // переводим время отправки в строку
            s_prib = Convert.ToString(vremja_prib); // переводим время прибытия в строку
            s_ves = Convert.ToString(ves); // переводим вес из double в строку
            s_ves = s_ves.Replace(',', '.'); // меняем запятую на точку согласно синтаксису SQL
            s_rasst = Convert.ToString(rasst); // переводим расстояние из double в string
            s_rasst = s_rasst.Replace(',', '.'); // меняем запятую на точку
 
            CommandText = "INSERT INTO [Маршрут] ([Номер маршрута], [Пункт назначения], Район, Область, Расстояние, Вес, [Время отправки], [Время прибытия])"
            + " VALUES ('" + num_marsh + "', '" + punkt + "', '" + rajon + "', '" + oblast + "', "
            + s_rasst + ", " + s_ves + ", '" + s_otpr + "', '" + s_prib + "')";
            My_Execute_Non_Query(CommandText);
        }
        void Add_Avtobus(string num, string model, string znak, string k_mest)
        {
            string CommandText;
            CommandText = "INSERT INTO [Автобус] ([Номер], [Модель], [Номерной знак], [Количество мест])"
            + " VALUES ('" + num + "', '" + model + "', '" + znak + "', " + k_mest + ")";
            My_Execute_Non_Query(CommandText);
        }
        void Add_Voditel(string f_i_o, string d_r, string passport) // добавить водителя
        {
            string CommandText;
            CommandText = "INSERT INTO [Водитель] ([Ф_И_О], [Дата рождения], [Паспорт])"
            + " VALUES ('" + f_i_o + "', '" + d_r + "', '" + passport + "')";
            My_Execute_Non_Query(CommandText);
        }
        void Add_Dispetcher(string f_i_o, string d_r, string adres) // добавить диспетчера
        {
            string CommandText;
            CommandText = "INSERT INTO [Диспетчер] ([Ф_И_О], [Дата рождения], [Адрес])"
            + " VALUES ('" + f_i_o + "', '" + d_r + "', '" + adres + "')";
            My_Execute_Non_Query(CommandText);
        }
 
        private void button9_Click(object sender, EventArgs e)
        {
            if (act_table == 1) // обрабатываем таблицу "Билет"
            {
                Form4 f = new Form4();
 
                if (f.ShowDialog() == DialogResult.OK)
                {
                    // добавляем данные в таблицу "Билеты"
                    Add_Bilet(f.textBox1.Text, f.textBox2.Text, Convert.ToDateTime(f.textBox3.Text),
         f.textBox4.Text, f.textBox5.Text, f.checkBox1.Checked);
                    Get_Bilets();
                }
            }
            else
   if (act_table == 2) // обрабатываем таблицу "Маршрут"
            {
                Form5 f = new Form5();
                if (f.ShowDialog() == DialogResult.OK)
                {
                    // добавляем данные в таблицу "Маршрут"
                    Add_Marshrut(f.textBox1.Text, f.textBox2.Text, f.textBox3.Text, f.textBox4.Text,
                      Convert.ToDouble(f.textBox5.Text), Convert.ToDouble(f.textBox6.Text),
         f.dateTimePicker1.Value, f.dateTimePicker2.Value);
                    Get_Marshruts();
                }
            }
            else
   if (act_table == 3) // обрабатываем таблицу "Автобус"
            {
                Form6 f = new Form6();
                if (f.ShowDialog() == DialogResult.OK)
                {
                    // добавляем данные в таблицу "Автобус"
                    Add_Avtobus(f.textBox1.Text, f.textBox2.Text, f.textBox3.Text, f.textBox4.Text);
                    Get_Avtobus();
                }
            }
            else
   if (act_table == 4) // обрабатываем таблицу "Водитель"
            {
                Form7 f = new Form7();
                if (f.ShowDialog() == DialogResult.OK)
                {
                    // добавляем данные в таблицу "Водитель"
                    Add_Voditel(f.textBox1.Text, Convert.ToString(f.dateTimePicker1.Value), f.textBox2.Text);
                    Get_Voditel();
                }
            }
            else
   if (act_table == 5) // обрабатываем таблицу "Диспетчер"
            {
                Form8 f = new Form8();
                if (f.ShowDialog() == DialogResult.OK)
                {
                    // добавляем данные в таблицу "Диспетчер"
                    Add_Dispetcher(f.textBox1.Text, Convert.ToString(f.dateTimePicker1.Value), f.textBox2.Text);
                    Get_Dispetcher();
                }
            }
        }
 
        private void button10_Click(object sender, EventArgs e)
        {
            Form3 f = new Form3();
            f.Text = " ";
            if (f.ShowDialog() == DialogResult.OK)
            {
                int index, index_old;
                string ID;
                string CommandText = "DELETE FROM ";
                index = dataGridView2.CurrentRow.Index; // № по порядку в таблице представления
                index_old = index;
                ID = Convert.ToString(dataGridView2[0, index].Value); // ID подаем в запрос как строку
 
                // Формируем строку CommandText
                if (act_table == 1) // обрабатываем таблицу "Билет"
                    CommandText = "DELETE FROM Билет WHERE Билет.ID_Bilet = " + ID;
                if (act_table == 2) // обрабатываем таблицу "Маршрут"
                    CommandText = "DELETE FROM Маршрут WHERE Маршрут.ID_Marshrut = " + ID;
                if (act_table == 3) // обрабатываем таблицу "Автобус"
                    CommandText = "DELETE FROM Автобус WHERE Автобус.ID_Avtobus = " + ID;
                if (act_table == 4) // обрабатываем таблицу "Водитель"
                    CommandText = "DELETE FROM Водитель WHERE Водитель.ID_Voditel = " + ID;
                if (act_table == 5) // обрабатываем таблицу "Диспетчер"
                    CommandText = "DELETE FROM Диспетчер WHERE Диспетчер.ID_Dispetcher = " + ID;
                // выполняем SQL-запрос
                My_Execute_Non_Query(CommandText);
 
                // перерисовывание dbGridView2
                if (act_table == 1) Get_Bilets();
                else
                if (act_table == 2) Get_Marshruts();
                else
                if (act_table == 3) Get_Avtobus();
                else
                if (act_table == 4) Get_Voditel();
                else
                if (act_table == 5) Get_Dispetcher();
 
                if (index_old >= 0)
                {
                    dataGridView2.ClearSelection();
                    dataGridView2[0, index_old].Selected = true;
                }
            }
        }
 
    }
}
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
29.02.2020, 20:06
Marusya32,
C#
1
public string ConnectionString = "Provider=Microsoft.Jet...
0
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 16
29.02.2020, 20:11  [ТС]
Рядовой, спасибо.
0
0 / 0 / 0
Регистрация: 08.02.2017
Сообщений: 5
03.06.2020, 13:28
Marusya32, это работа с сайта bestprog? Автовокзал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.06.2020, 13:28
Помогаю со студенческими работами здесь

Ошибка 1 "Personal.Form1.listBox1" недоступен из-за его уровня защиты
Этот код пишу в Program.cs Хочу записать значение Workers.Name в элемент listBox1 формы Form1 Но вот такая ошибка:...

Ошибка ""WindowsFormsApplication1.Form1.Week.group_" недоступен в силу его уровня защиты
итак, есть структура struct Para //Описываем структуру с полями: { int para_number; //Номер пары ...

Недоступен из-за уровня его защиты
Добрый день! При написании кода возникла проблема доступа из формы к методу из другого класса. Пошерстил здесь темы, увы, ничего не...

Класс недоступен из-за его уровня защиты
Создаю отдельный класс в проекте, условно public class A{ String b; A(String b){this.b=b;} } Пытаюсь потом создать объект...

SaveToolStripMenuItem недоступен из-за его уровня защиты
Есть 2 формы. При закрытии Form2 пытаюсь изменить свойство элемента меню: Form1.saveToolStripMenuItem.Enabled = true; Выскакивает...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru