Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73

Код из CodeBlocks не работает в Visual Studio 2022

05.12.2024, 07:12. Показов 4900. Ответов 54
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я все время работал в средах разработки wing и CodeBlocks. В CodeBlocks я работал для C++ и OpenGL проектов. Недавно решил попробовать Visual Studio, но начальный код из CodeBlocks проекта OpenGL в Visual Studio не работает и выдает ошибку:

Ошибка (активно) E0513 значение типа "const char *" нельзя присвоить сущности типа "LPCWSTR" (aka "const WCHAR *")
аргумент типа "const char *" несовместим с параметром типа "LPCWSTR" (aka "const WCHAR *")
Project1 D:\Мои документы\Desktop\C++\Project1\Project1\ Source.cpp 33

И еще несколько ошибок данного типа. Решил задокументировать строки с ошибками, я понимал, что сам код перестанет работать при пропаже строк, но попытка - не пытка. По итогу ошибка пошла дальше и прошлась по аргументам функции

CreateWindowEx(0,
"GLSample",
"OpenGL Sample",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
256,
256,
NULL,
NULL,
hInstance,
NULL);

Догадываюсь, что дело в компиляторе, но могут быть и другие тонкости. Как исправить данную ошибку?

Вот код:

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
#include <windows.h>
#include <gl/gl.h>
 
LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM);
void EnableOpenGL(HWND hwnd, HDC*, HGLRC*);
void DisableOpenGL(HWND, HDC, HGLRC);
 
 
int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   int nCmdShow)
{
    WNDCLASSEX wcex;
    HWND hwnd;
    HDC hDC;
    HGLRC hRC;
    MSG msg;
    BOOL bQuit = FALSE;
    float theta = 0.0f;
 
    /* register window class */
    wcex.cbSize = sizeof(WNDCLASSEX);
    wcex.style = CS_OWNDC;
    wcex.lpfnWndProc = WindowProc;
    wcex.cbClsExtra = 0;
    wcex.cbWndExtra = 0;
    wcex.hInstance = hInstance;
    wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
    wcex.lpszMenuName = NULL;
    wcex.lpszClassName = "GLSample";
    wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);;
 
 
    if (!RegisterClassEx(&wcex))
        return 0;
 
    /* create main window */
    hwnd = CreateWindowEx(0,
                          "GLSample",
                          "OpenGL Sample",
                          WS_OVERLAPPEDWINDOW,
                          CW_USEDEFAULT,
                          CW_USEDEFAULT,
                          256,
                          256,
                          NULL,
                          NULL,
                          hInstance,
                          NULL);
 
    ShowWindow(hwnd, nCmdShow);
 
    /* enable OpenGL for the window */
    EnableOpenGL(hwnd, &hDC, &hRC);
 
    /* program main loop */
    while (!bQuit)
    {
        /* check for messages */
        if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
        {
            /* handle or dispatch messages */
            if (msg.message == WM_QUIT)
            {
                bQuit = TRUE;
            }
            else
            {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
            }
        }
        else
        {
            /* OpenGL animation code goes here */
 
            glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
            glClear(GL_COLOR_BUFFER_BIT);
 
            glPushMatrix();
            glRotatef(theta, 0.0f, 0.0f, 1.0f);
 
            glBegin(GL_TRIANGLES);
 
                glColor3f(1.0f, 0.0f, 0.0f);   glVertex2f(0.0f,   1.0f);
                glColor3f(0.0f, 1.0f, 0.0f);   glVertex2f(0.87f,  -0.5f);
                glColor3f(0.0f, 0.0f, 1.0f);   glVertex2f(-0.87f, -0.5f);
 
            glEnd();
 
            glPopMatrix();
 
            SwapBuffers(hDC);
 
            theta += 1.0f;
            Sleep (1);
        }
    }
 
    /* shutdown OpenGL */
    DisableOpenGL(hwnd, hDC, hRC);
 
    /* destroy the window explicitly */
    DestroyWindow(hwnd);
 
    return msg.wParam;
}
 
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
        case WM_CLOSE:
            PostQuitMessage(0);
        break;
 
        case WM_DESTROY:
            return 0;
 
        case WM_KEYDOWN:
        {
            switch (wParam)
            {
                case VK_ESCAPE:
                    PostQuitMessage(0);
                break;
            }
        }
        break;
 
        default:
            return DefWindowProc(hwnd, uMsg, wParam, lParam);
    }
 
    return 0;
}
 
void EnableOpenGL(HWND hwnd, HDC* hDC, HGLRC* hRC)
{
    PIXELFORMATDESCRIPTOR pfd;
 
    int iFormat;
 
    /* get the device context (DC) */
    *hDC = GetDC(hwnd);
 
    /* set the pixel format for the DC */
    ZeroMemory(&pfd, sizeof(pfd));
 
    pfd.nSize = sizeof(pfd);
    pfd.nVersion = 1;
    pfd.dwFlags = PFD_DRAW_TO_WINDOW |
                  PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
    pfd.iPixelType = PFD_TYPE_RGBA;
    pfd.cColorBits = 24;
    pfd.cDepthBits = 16;
    pfd.iLayerType = PFD_MAIN_PLANE;
 
    iFormat = ChoosePixelFormat(*hDC, &pfd);
 
    SetPixelFormat(*hDC, iFormat, &pfd);
 
    /* create and enable the render context (RC) */
    *hRC = wglCreateContext(*hDC);
 
    wglMakeCurrent(*hDC, *hRC);
}
 
void DisableOpenGL (HWND hwnd, HDC hDC, HGLRC hRC)
{
    wglMakeCurrent(NULL, NULL);
    wglDeleteContext(hRC);
    ReleaseDC(hwnd, hDC);
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2024, 07:12
Ответы с готовыми решениями:

Visual Studio 2022 не работает
Пользовался раньше с большим удовольствием Visual Studio 2019 года, и всё у меня было хорошо, недавно решил подучить C# и решил обновить до...

Не запускается код в Visual Studio 2022
using Telegram.Bot; using Telegram.Bot.Types; namespace Telegram_Bot { internal class Program { static void...

Не работает отладка кода C# в Visual Studio 2022
Делаю надстройку для Revit, но, думаю, сама программа тут роли не играет. Распишу полный порядок моих действий, благо, их не много: ...

54
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
05.12.2024, 15:12
В настройках проекта (правой кнопкой по корню проекта) есть переключение между однобайтовой и многобайтовой кодировками. У вас в коде программы используется однобайтовая кодировка, а в настройках проекта выставлена многобайтовая. Переключитесь на однобайтовую, если в программе вы не будете использовать Unicode, то есть, например, текст на русском, а будете использовать только ASCII, то есть, например, английский. Поправьте, кто-нибудь, если я неправильно написал. У меня не установлена VS. Я думаю, что скорее всего Unicode и многобайтовая кодировка - это одно и тоже.

Второй способ, чтобы было независимо он этой настройки:
  • использовать макрос _T("text") для строк, например: _T("Привет, мир!")
  • LPSTR заменить на LPTSTR
  • заменить WinMain на _tWinMain
  • добавить #include <tchar.h>
  • если будет char, то заменить на TCHAR
  • если будет char*, то заменить на LPTSTR
  • если будет const char*, то заменить на LPCTSTR

Второй вариант я проверил, создав Non-QT проект CMake в Qt Creator на языке С:

CMakeLists.txt

Code
1
2
3
4
5
6
cmake_minimum_required(VERSION 3.20)
 
project(messagebox-cmake-cpp LANGUAGES C)
add_executable(app WIN32)
 
target_sources(app PRIVATE main.cpp)
main.c

C
1
2
3
4
5
6
7
8
9
10
11
#include <windows.h>
#include <tchar.h>
 
int WINAPI _tWinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine,
    int nCmdShow)
{
    MessageBox(NULL, _T("Привет, мир!"), _T("Оконная процедура"), MB_OK);
    return 0;
}
Название: e8c1317fd0040929fbf3b04456c74f7f0dd76b08.png
Просмотров: 228

Размер: 1.4 Кб

Кстати, вы, скорее всего, можете открыть CMake проект в VS, но нужно при установке VS выбрать CMake (либо поддержка проектов CMake по умолчанию устанавливается). Не знаю, ставит ли VS по умолчанию CMake. CMake можно скачать здесь: https://cmake.org/download/ Я не пробовал CMake в VS. В Qt Creator можно просто открыть проект CMake, открыв из меню файл CMakeLists.txt Попробуйте Qt Creator. Необязательно ставить весь фреймворк Qt, который займёт 4 ГБ, а можно отдельно скачать архив с Qt Creator: https://github.com/qt-creator/qt-creator/releases Три дня назад вышел новый релиз Qt Creator версии 15.0.0
0
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
05.12.2024, 15:26
Занимает Qt Creator 464 MB. Он подхватит при запуске инструменты сборки MSVC, либо MinGW, если MinGW есть в PATH. MinGW можно скачать здесь: https://winlibs.com/ Весит MinGW в зависимости от версии, от 571 MB для MinGW 11.2 и более. Если у вас стационарный компьютер или достаточно мощный ноутбук с большим запасом места, то оставайтесь на VS, либо ставьте и пробуйте CLion и смотрите, что вам больше понравится.
0
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
05.12.2024, 18:43  [ТС]
А что имеется ввиду под "корнем проекта"? В интернете пытался найти информацию, но так и не нашел
0
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
05.12.2024, 19:09
Я так назвал проект в решении. Надо кликнуть правой кнопкой мыши по имени проекта, чтобы показать его свойства. Эта там же, где подключаются библиотеки. Я думал, там есть опция "Однобайтовая". Оказывается многобойтовая кодировка и Unicode это не одно и тоже. Если у вас установлена опция "Многобайтовая", то переключите на Unicode или наоборот. Я нагуглил скриншот:



Можно ещё поставить букву L перед строками - тоже должно работать, например: L"text".
0
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
05.12.2024, 19:18
Очень часто помогает погуглить текст ошибки, например скопируйте в гугл:
значение типа "const char *" нельзя присвоить сущности типа "LPCWSTR"
Когда находите тему на КиберФоруме, то пролистайте в самый низ страницы, там будет список схожих тем.
0
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
06.12.2024, 10:52
Получается, если три разных варианта:
  1. В настройках проекта изменить "Genera/Character Set"
  2. Ставить букву L перед строками, например: L"GLSample"
  3. Использовать макрос _T, например: "_T("GLSample")"
Что пробовали, какие результаты?
0
Модератор
Эксперт Java
 Аватар для alecss131
2835 / 1344 / 403
Регистрация: 11.08.2017
Сообщений: 4,297
Записей в блоге: 2
06.12.2024, 11:13
Цитата Сообщение от 8Observer8 Посмотреть сообщение
три разных варианта
А лучше всего использовать универсальный вариант макрос TEXT

Хотя если не нужен русский язык, то лучше просто отключить в настройках проекта юникод

Еще как вариант использовать не макросы, а функции для обычных строк. Например CreateWindowEx это макрос, может раскрываться в CreateWindowExA и CreateWindowExW, первый вариант для простых строк (std::string), а второй для широких (std::wstring)
1
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
06.12.2024, 12:39
Цитата Сообщение от alecss131 Посмотреть сообщение
А лучше всего использовать универсальный вариант макрос TEXT
Я сам не проверял, но здесь, некоторые пишут, что макрос TEXT это тоже самое, что и макрос _T

Добавлено через 8 минут
Хотя дальше в той теме пишут, что нет, не одно и тоже. Тема там большая, неохота разбираться. Я в WinAPI больше или пока не хочу снова погружаться. Может автору темы или кому-то ещё будет интересно, понять, как лучше.
0
06.12.2024, 17:52

Не по теме:

Там зарядил вопросик на основы компутерной графики, подключайтесь

0
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
07.12.2024, 11:01  [ТС]
Здравствуйте! Попытался порыться в Visual Studio 2022. Не смог найти нужные параметры для настройки. Думаю, что пока останусь сидеть в CodeBlocks. В этой среде я уже давно, более менее разобраться могу, в отличии от Visual Studio
0
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
07.12.2024, 11:53
Лучше попытаться решить проблему. Покажите скриншоты, что вы выбираете, чтобы открыть настройки проекта и на каком моменте вы застреваете.
0
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
07.12.2024, 16:19  [ТС]
Думаю, что не получится. Для меня visual studio изначально представлял проблему из-за своего объема, что перечеркивает на возможность работать над другими проектами. (хотя можно сохранять проекты на флешке)
0
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
07.12.2024, 23:57
Записал видео, где показал скачать Qt Creator без Qt, как подключить CMake и MinGW. В видео запустил ваш пример из первого сообщения на компиляторе C.

Вес:
  • Архив с Qt Creator 15.0.0 весит 123 MB. Займёт на жёстком 465 MB
  • CMake 3.31.2 - 115 MB
  • MinGW 14.2 - 829 MB



2
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
08.12.2024, 21:05
Пришлось заново закачать видео, потому что звук был очень тихий. Я разместил видео в блоге: Подключение CMake и MinGW к Qt Creator для C и C++ без фреймворка Qt. Вдруг что-то ещё захочется переделать, а в блоге можно редактировать спустя время. Слишком тихий звук был опасен тем, что приходится прибавлять на максимум, а когда переходишь на другие видео, то звук на максимуме. Оказывается, в Camtasia Studio легко сделать звук громче в настройках звука и там же есть кнопка, чтобы убрать шумы.
1
09.12.2024, 22:32

Не по теме:

Ваня, вот отличная болванка/заготовка чтобы потренироваться и узнать много нового. Исходники в конце. "Не проходите мимо" :)

0
9036 / 2937 / 493
Регистрация: 05.10.2013
Сообщений: 7,960
Записей в блоге: 216
10.12.2024, 17:49
Daniil_G, вы пробовали поместить все строки в макрос TEXT()? Заработало?

main.c

C
1
2
3
4
5
6
7
8
9
10
#include <windows.h>
 
int WINAPI WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine,
    int nCmdShow)
{
    MessageBox(NULL, TEXT("Hello, World!"), TEXT("My Message"), MB_OK);
    return 0;
}
CMakeLists.txt

Code
1
2
3
4
5
6
cmake_minimum_required(VERSION 3.20)
 
project(messagebox-cmake-cpp LANGUAGES C)
add_executable(app WIN32)
 
target_sources(app PRIVATE main.c)
Надо осваивать современную, очень популярную и удобную систему сборки CMake. Если у вас установлена CMake (если не установлена, то скачать можно здесь: https://github.com/Kitware/CMake/releases), то сохраните файл CMakeLists.txt выше в папке с main.c, откройте CMD (то есть консоль) в этой папке и введите последовательно три команды:
Bash
1
2
3
$ cmake -G "MinGW Makefiles" -S . -B dist
$ cd dist
$ cmake --build .
Первая команда - это cmake, которая конфигурирует сборку в папке dist. Здесь первая часть команды это ключ -G после которого идёт название инструментов для сборки, то есть в данном случае это MinGW, а можно передать NMake для MSVC. В команде cmake следующим аргументом идёт ключ -S (сокращение от Source) с точкой. Точка показывает, что текущая директория это директория, где находится файл CMakeLists.txt. Далее, в команде cmake идёт ключ -B (сокращение от Build), после которого идёт название папки, которая автоматически будет создана для файлов сборки. Потом нужно перейти в папку dist с помощью команды cd dist, а далее идёт команда для сборки EXE: cmake --build . А когда сборка произошла в файл app.exe, то вы можете запустить его набрав имя без расширения: app После этого, когда вы изменили код, вы можете в консоли нажать клавишу вверх или вниз, чтобы выбрать команду "cmake --build ." или запуска приложения: app

Цитата Сообщение от Daniil_G Посмотреть сообщение
Для меня visual studio изначально представлял проблему из-за своего объема, что перечеркивает на возможность работать над другими проектами. (хотя можно сохранять проекты на флешке)
У меня на ноуте, примерно года три назад или чуть больше, была установлена VS вместе с C++, C#, Web и т.д. По-моему, VS 2019. Когда я её удалил вместе с .NET Core, то у меня освободилось больше, чем 20 GB. Сами проекты занимали десятки MB, потому что VS генерирует файлы большого размера, по-моему, с расширением .db (видимо, какая-то база данных, может SQLite), которые я забывал удалять у мелких примеров и это дополнительно отнимало место. Долго потом приходилось вручную удалять из всех примеров эти большие файлы. Для интереса глянул в установщике VS 2022, что она требует, как минимум 7.4 GB для программирования на С++. У кого-то терабайты места и SSD, поэтому есть люди, которые вообще об этом не задумываются. Просто ставят VS или CLion. Если у вас проблема с местом, то удаляйте VS, ставьте Qt Creator 15, который займёт 465 MB, а MinGW у вас, видимо, уже есть, раз работали в Code::Blocks. Поставьте CMake - эта система сборки займёт 100 MB. Итого у вас получится меньше, чем 1.3 GB. По ссылкам ниже архив с более старой, но меньшей версией MinGW 11.2, которая весит 571 MB в распакованном виде, а не 829 MB, как MinGW 14.2:То есть вы можете уложиться в 1 GB.

Можно, конечно, докупить жёсткий большей ёмкости, или лучше SSD для системы и VS, или ещё более лучший тип диска, если ноут/комп поддерживает. Меня устраивает Qt Creator для С, С++ и Python, если мне нужно отлаживать с точками останова или посмотреть автодополение кода (в VS это называется Intellisense). А большую часть времени я программирую в редакторе кода Sublime Text 4. Этот редактор требует ресурсов почти столько же, сколько Notepad++, то есть почти ничего. Ноут работает очень тихо. А отсутствие автодополнения мне только нравится, потому что тогда приходится самому написать код, без подсказок, так лучше запоминаются команды. Я собираю и запускаю программы с помощью CMake из консоли. Sublime Text 4 использую для С, С++, Python и JavaScript/HTML/CSS. Если нужно отдалить программу на JavaScript, то либо открываю инструменты разработчика в браузере, либо запускаю VS Code - это тоже редактор кода, которые требует почти в 10 раз больше оперативы, чем Sublime Text 4, но зато в нём можно отлаживать серверную часть на Node.js вместе с клиетской, например, когда серверная и клиентская часть обмениваются сообщениями через вебсокеты.
1
175 / 10 / 1
Регистрация: 05.08.2024
Сообщений: 73
14.12.2024, 08:54  [ТС]
Да, я пытался использовать TEXT и T, но уже появилось множество совсем других ошибок (их было около 28). А Cmake заняться смогу только через несколько месяцев, мне надо изучить до конца OpenGL, и после этого смогу заняться OpenGL
0
397 / 33 / 7
Регистрация: 09.01.2019
Сообщений: 141
14.12.2024, 12:00
Лучший ответ Сообщение было отмечено 8Observer8 как решение

Решение

1) Копируешь базовый код из шаблона кодблокса в студию
2) Перед всеми строковыми литералами ставишь префикс L - например, wcex.lpszClassName = L"GLSample", их там всего три
3) В настройках Linker -> System -> subsystem ставишь значение Windows (/SUBSYSTEM:WINDOWS)
4) В настройках Linker -> Input -> Additional Dependencies добавляешь библиотеки opengl32.lib glu32.lib gdi32.lib
Профит!
1
397 / 33 / 7
Регистрация: 09.01.2019
Сообщений: 141
14.12.2024, 12:10
Лучший ответ Сообщение было отмечено 8Observer8 как решение

Решение

На всякий случай, подробно
Миниатюры
Код из CodeBlocks не работает в Visual Studio 2022   Код из CodeBlocks не работает в Visual Studio 2022   Код из CodeBlocks не работает в Visual Studio 2022  

2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2024, 12:10
Помогаю со студенческими работами здесь

Visual Studio 2022 - не работает определение препроцессора в свойствах проекта
Здравствуйте, Подскажите пожалуйста, что я не так делаю ? Есть простейший код: в main вызывается функция в которой есть условие...

Хочу перенести код из CodeBlocks в Visual Studio, но выдаётся ошибка
Помогите переписать код так, чтобы он работал в Visual Studio. Просто до этого я писал программы в CodeBlocks (а она менее чувствительная)...

Код в Visual Studio 2022. Вычисление площади под графиками двумя разными методами
Дано два графика и промежуток 1. Рассчитать точки пересечения заданных функций. 2. Изобразить на координатной плоскости фигуру,...

Расширение для Visual Studio 2022 на фреймворке Visual Studio Community Toolkit
Переписываю свое старое расширение под новую 2022 студию, вот нашел вроде хороший фреймворк:...

Visual Studio 2022 vs DevC++
Всем привет! Не так давно начал изучать С++, и всегда пользовался компилятором DevC++ и проблем никогда не было. Но недавно решил...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru