Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 147

SDL3_image - не отрисовывается текстура

23.02.2025, 17:23. Показов 33677. Ответов 166
Метки sdl (Все метки)

Студворк — интернет-сервис помощи студентам
Не отрисовывается текстура! Путь, формат img, установки и подключения dll - проверил трижды. При наложении текстуры, просто белое поле.
Участок кода (ошибок нет):
C++
1
2
3
4
5
6
7
8
SDL_Texture* player = IMG_LoadTexture(renderer, "2.png");
if (!player) {
    SDL_Log("IMG_LoadTexture: %s\n", SDL_GetError());
}
SDL_RenderTexture(renderer, player, NULL, &rect);
SDL_DestroyTexture(player);
 
SDL_RenderPresent(renderer);
Полный код. Может кто то взглянет опытным глазом где я накосячил?

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
#define SDL_MAIN_USE_CALLBACKS 1
#include <SDL3/SDL.h>
#include <SDL3/SDL_main.h>
#include<SDL3_image/SDL_image.h>
#include<iostream>
 
static SDL_Window* window = NULL;
static SDL_Renderer* renderer = NULL;
SDL_FRect rect = { 0, 0, 100, 100 }; // создаем квадрат
int speed = 10;
 
SDL_AppResult SDL_AppInit(void** appstate, int argc, char* argv[])
{
    SDL_Init(SDL_INIT_VIDEO);
    SDL_CreateWindowAndRenderer("SDL3 Game", 800, 640, 0, &window, &renderer);
    return(SDL_APP_CONTINUE);
}
 
 
SDL_AppResult SDL_AppIterate(void* appstate)
{
    SDL_SetRenderDrawColor(renderer, 30, 30, 30, 255);
    SDL_RenderClear(renderer);
 
    // Получаем массив нажатых клавиш
    const bool* keys = SDL_GetKeyboardState(NULL);
    if (keys[SDL_SCANCODE_W]) {
        rect.y -= speed;
    }
    if (keys[SDL_SCANCODE_S]) {
        rect.y += speed;
    }
    if (keys[SDL_SCANCODE_A]) {
        rect.x -= speed;
    }
    if (keys[SDL_SCANCODE_D]) {
        rect.x += speed;
    }
 
    // Отрисовка квадрата и движение вправо
    SDL_SetRenderDrawColor(renderer, 30, 200, 30, 255);
    SDL_RenderFillRect(renderer, &rect);
 
    SDL_Texture* player = IMG_LoadTexture(renderer, "2.png");
    if (!player) {
        SDL_Log("IMG_LoadTexture: %s\n", SDL_GetError());
    }
    SDL_RenderTexture(renderer, player, NULL, &rect);
    SDL_DestroyTexture(player);
 
    SDL_RenderPresent(renderer);
    SDL_Delay(16);
    return SDL_APP_CONTINUE;
}
 
SDL_AppResult SDL_AppEvent(void* appstate, SDL_Event* event)
{
    switch (event->type)
    {
    case SDL_EVENT_QUIT:
        return SDL_APP_SUCCESS;
        break;
 
    default:
        break;
    }
    return SDL_APP_CONTINUE;
}
 
void SDL_AppQuit(void* appstate, SDL_AppResult result)
{
    /* SDL will clean up the window/renderer for us. */
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2025, 17:23
Ответы с готовыми решениями:

Использование opengl. Не отрисовывается квадрат
Начал изучать opengl и столкнулся с трудностью уже на 1 примере, согласно которому должен просто отрисовываться белый квадрат, а у меня как...

Удаление текстур OpenGL
Ребята подскажите как удалить текстуру? Через метод glDeleteTextures, если да то какие параметры она принимает? И есть ли другой способ...

SDL : Неадекватная загрузка текстур
Есть следующее приложение: Programm.h #include &lt;windows.h&gt; #include &lt;SDL.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; #pragma...

166
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
27.02.2025, 21:33
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от cosmos44 Посмотреть сообщение
show-image-source.zip
У меня работает даже без добавления путей в CMakePresents.json. Надо установить по моим инструкциями добавить пути к bin-папкам, где лежат DLL, в Windows PATH, примерно как у меня:

Тогда точно всё должно работать. Вам даже не надо будет добавлять пути в CMakePresents.json в каждом проекте. Вам нужно будет только в новых проектах в файле CMakeLists.txt дописывать три строки:
Code
1
2
3
find_package(SDL3)
find_package(SDL3_image)
target_link_libraries(show-image PRIVATE SDL3_image::SDL3_image SDL3::SDL3)
Здесь находится две библиотеки через find_package(), а потом они линкуются с именами SDL3_image::SDL3_image и SDL3::SDL3. Только нужно, чтобы SDL3::SDL3 было в конце, а остальные SDL-библиотеки шли до SDL3::SDL3.
Миниатюры
0
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 147
28.02.2025, 18:33  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
У меня работает даже без добавления путей в CMakePresents.json. Надо установить по моим инструкциям
Я уже создал проект CMake, но нужно разбираться. Я впервые работаю в VS и изучаю C

Спасибо! Буду мучать через пару дней.
0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
28.02.2025, 20:40
У меня появилась идея. Надо вам попробовать запустить этот пример на SDL3 без подключения SDL3_image, чтобы убедиться, что хотя бы SDL3 работает или нет. Какие ошибки выдаёт прикреплённый пример?
Вложения
Тип файла: zip hello-sdl3.zip (2.1 Кб, 3 просмотров)
0
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 147
01.03.2025, 06:36  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Какие ошибки выдаёт прикреплённый пример?
0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
01.03.2025, 14:04
Надо два момента уточнить. В примере выше в файле CMakePresents.json выставлен путь к SDL3: C:\\SDL3-3.1.10\\cmake

JSON
1
2
3
4
5
6
7
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "SDL3": {
                    "value": "C:\\SDL3-3.1.10\\cmake",
                    "type": "PATH"
                }
            }
У вас должен существовать этот путь. Проверьте, чтобы номера версии совпадали:



Я скачал сборку SDL3-3.1.10 по ссылке: https://github.com/libsdl-org/... ase-3.1.10



И добавьте путь к bin в PATH:



Миниатюры
0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
01.03.2025, 15:54
Всё, скорее всего, проблема должна решиться, но если опять ошибка, то сообщите об этом. Я описал проблему на официальном Discord* сервере SDL (* - Discord запрещён на территории РФ). Там ответили, что нужно использовать имя "SDL3_DIR" вместо "SDL3". То есть замените "SDL3" на "SDL3_DIR" в файле CMakePresets.json таким образом:

JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        {
            "name": "x64-debug",
            "displayName": "x64 Debug",
            "inherits": "windows-base",
            "architecture": {
                "value": "x64",
                "strategy": "external"
            },
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "SDL3_DIR": {
                    "value": "C:\\SDL3-3.1.10\\cmake",
                    "type": "PATH"
                }
            }
        },
Точно так же надо заменить имя "SDL3_image" на "SDL3_image_DIR" в проекте с выводом текстуры. Проверьте это обязательно, должно сработать.
0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
02.03.2025, 12:39
Сегодня вышли официальные релизы SDL3_image и SDL3_ttf. SDL3_ttf - библиотека для работы с текстом.
Скачайте официальный архив релиза SDL3_image:



Разархивируйте, например, в папку "libs" на диске C и скопируйте путь:



Используйте переменную "SDL3_image_DIR" вместо "SDL3_image" в файле CMakePresets.json:

JSON
1
2
3
4
5
6
7
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "SDL3_image_DIR": {
                    "value": "C:\\libs\\SDL3_image-3.2.2\\cmake",
                    "type": "PATH"
                }
            }
Скоро должен выйти релиз SDL3_mixer - это библиотека для воспроизведения звуков из аудио файлов. На мой взгляд можно какое-то время уделять использованию этих библиотек, но, по-моему, намного полезнее для изучения основ компьютерной графики использовать шейдерный OpenGL вместо SDL3_image. На OpenGL не очень сложно сделать спрайтовую анимации и выводить выводить текст с помощью BMFont. Но для начала лучше всего использовать SDL3_image и SDL3_ttf и сделать на них несколько небольших игровых демок, типа: Змейку, Арканойд, Тетрис, Сапёр и т.д. На шейдерном OpenGL легко увидеть, как матрица действует на вектор и вершинном шейдере и прочие основы компьютерной графики и базовой линейной алгебры.

Запустите следующий пример, чтобы проверить будет ли он у вас работать. Не забудьте в файле CMakePresets.json подправить пути к SDL3 и SDL3_image, если это необходимо. Не забывайте использовать "_DIR" в именах переменных путей:

JSON
1
2
3
4
5
6
7
8
9
10
11
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "SDL3_DIR": {
                    "value": "C:\\libs\\SDL3-3.1.10\\cmake",
                    "type": "PATH"
                },
                "SDL3_image_DIR": {
                    "value": "C:\\libs\\SDL3_image-3.2.2\\cmake",
                    "type": "PATH"
                }
            }
Миниатюры
0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
02.03.2025, 12:51
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Запустите следующий пример, чтобы проверить будет ли он у вас работать.
Забыл прикрепить пример со спрайтовой анимацией на SDL3 API к предыдущему сообщению. Может вам пригодится.

Миниатюры
Вложения
Тип файла: zip sprite-animation.zip (70.0 Кб, 10 просмотров)
0
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 147
04.03.2025, 16:39  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Забыл прикрепить пример со спрайтовой анимацией на SDL3 API к предыдущему сообщению. Может вам пригодится.
Скачал, проверил пути - ошибка та же - target_link_libraries(app PRIVATE SDL3::SDL3)
Пока не буду парить мозги. Завтра на системник поставлю 11 винду и попробую все заново.
0
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 147
04.03.2025, 16:50  [ТС]
Ошибок нет! Но и спрайта так же нет.

Цитата Сообщение от 8Observer8 Посмотреть сообщение
Забыл прикрепить пример со спрайтовой анимацией на SDL3 API к предыдущему сообщению. Может вам пригодится.

Миниатюры
0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
04.03.2025, 17:50
Цитата Сообщение от cosmos44 Посмотреть сообщение
Ошибок нет! Но и спрайта так же нет.
Можно попробовать скопировать эту строку кода после разных функций SDL:
C++
1
SDL_Log("%s", SDL_GetError());
Например, добавить её после создания окна и рисовальщика:
C++
1
2
3
4
5
6
7
    if (!SDL_CreateWindowAndRenderer("Sprite animation using SDL3 and C++",
        350, 350, 0, &window, &renderer)) //
    {
        SDL_Log("Couldn't create window/renderer: %s", SDL_GetError());
        return SDL_APP_FAILURE;
    }
    SDL_Log("%s", SDL_GetError());
И после загрузки текстуры:
C++
1
2
3
4
5
6
7
    const char* texturePath = "./assets/sprites/spritesheet.png";
    texture = IMG_LoadTexture(renderer, texturePath);
    if (!texture) {
        SDL_Log("Couldn't load %s: %s\n", texturePath, SDL_GetError());
        return SDL_APP_FAILURE;
    }
    SDL_Log("%s", SDL_GetError());
SDL_GetError() возвращает строку описывающую ошибку, если ошибка происходит.
0
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 147
04.03.2025, 20:35  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Можно попробовать скопировать эту строку кода после разных функций SDL:
В main.cpp условия прописаны. Но как и с первого скрипта (ящик) ошибка вылазит только после сборки в файл exe.

0
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 147
04.03.2025, 20:42  [ТС]
Выполнил сборку повторно. Сейчас выдает ошибку

>------ Сборка запущено: проект: CMakeLists, конфигурация: Debug ------
[1/2] Building CXX object CMakeFiles\app.dir\src\main.cpp.obj
FAILED: CMakeFiles/app.dir/src/main.cpp.obj
C:\PROGRA~1\MICROS~1\2022\COMMUN~1\VC\To ols\MSVC\1443~1.348\bin\Hostx64\x64\cl.e xe /nologo /TP -external:IC:\SDL3_image-3.2.2\cmake\..\include -external:IC:\SDL3-3.1.10\include -external:W0 /DWIN32 /D_WINDOWS /EHsc /Zi /Ob0 /Od /RTC1 -MDd /showIncludes /FoCMakeFiles\app.dir\src\main.cpp.obj /FdCMakeFiles\app.dir\ /FS -c C:\Users\ut0md\Downloads\sprite-animation\sprite-animation\src\main.cpp
C:\SDL3-3.1.10\include\SDL3\SDL_stdinc.h(51): fatal error C1083: Не удается открыть файл включение: stdarg.h: No such file or directory,
ninja: build stopped: subcommand failed.


0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
04.03.2025, 20:56
Цитата Сообщение от cosmos44 Посмотреть сообщение
Выполнил сборку повторно. Сейчас выдает ошибку
Если удалить папку "out", то после Ctrl+F5 ошибка появляется снова? Получается, вы ничего не делали. Сначала проект собрался, а при повторной сборки выдал ошибку?
0
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 147
04.03.2025, 21:33  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Если удалить папку "out", то после Ctrl+F5 ошибка появляется снова
Нет! Дело в том что ошибок из условий нет. Не знаю, запустится ли у вас app.exe ?????????
x64-debug.zip
0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
04.03.2025, 21:58
Цитата Сообщение от cosmos44 Посмотреть сообщение
запустится ли у вас app.exe
Да, app.exe запускается и анимация проигрывается. Попробуйте закрыть VS, удалить папки ".vs" и "out", запустите VS снова и откройте проект: File > Open > CMake > выберите файл CMakeLists.txt
0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
04.03.2025, 23:08
Я кое-что придумал. Прикрепил тот же пример, но добавил библиотеки по относительным путям. В нём не надо менять пути. Запускается ли он?

В этом примере я скопировал библиотеки в папку с проектом:

Название: fdd929182cc817469775e00c68ae2b6bb65b6145.png
Просмотров: 55

Размер: 6.2 Кб

Подключил эти библиотеки по относительным путям:

JSON
1
2
3
4
5
6
7
8
                "SDL3_DIR": {
                    "value": "..\\libs\\SDL3-3.2.6\\cmake",
                    "type": "PATH"
                },
                "SDL3_image_DIR": {
                    "value": "..\\libs\\SDL3_image-3.2.4\\cmake",
                    "type": "PATH"
                }
Очень интересно, заработает у вас или нет. Запустите VS и откройте прикреплённый проект: File > Open > CMake > выберите файл CMakeLists.txt в прикреплённой папке
Вложения
Тип файла: zip sprite-animation-libs.zip (10.74 Мб, 0 просмотров)
0
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 147
05.03.2025, 07:12  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Очень интересно, заработает у вас или нет. Запустите VS и откройте прикреплённый проект: File > Open > CMake > выберите файл CMakeLists.txt в прикреплённой папке
Во второй половине дня все опробую.
Правильно ли я вас понял?! Архив x64-debug.zip (высылал ранее) файл app.exe запускается и проигрывается анимация? У меня данный файл запускается, но спрайта нет и ошибок также нет.
0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
05.03.2025, 09:16
Цитата Сообщение от cosmos44 Посмотреть сообщение
Во второй половине дня все опробую.
Картинка, скорее всего, не будет работать, но зато можно будет убедиться, что проект собирается, когда библиотеки подключены по относительным путям ..\libs Очень интересно соберётся или нет.

Цитата Сообщение от cosmos44 Посмотреть сообщение
Правильно ли я вас понял?! Архив x64-debug.zip (высылал ранее) файл app.exe запускается и проигрывается анимация?
Да, анимация проигрывается. Причём я специально запускал на ноутбуке 2011 года на интегрированной карте Intel 3000, где максимум можно обновить графические драйвера до OpenGL 3.1. На ноутбуке Asus K53SV две видео карты:
  • Intel HD Graphics 3000 - OpenGL 3.1
  • GeForce GT 540 M - OpenGL 4.6
Название: e3fc12b5069a4ea5f3676682d496c6ad4fc3a101.png
Просмотров: 51

Размер: 1.8 Кб
Драйвер для видео карты Intel 3000 от 10 мая 2016 года:
Название: 1ac6e07e299159cd5a66fec0af73388fca59bcfd.png
Просмотров: 51

Размер: 5.1 Кб
Драйвер для GeForce от 18 декабря 2017 года:
Название: 75f8940b1759b49f4bcc10ba4e9285e8a0d609ae.png
Просмотров: 48

Размер: 5.1 Кб
Я выбрал запуск с Intel 3000 c OpenGL 3.1:

Анимация запустилась:

Я вам позже спину пример в виде EXE на OpenGL 2.1 с окном на SDL3, который выведет версию OpenGL. Возможно API SDL3 требует как минимум OpenGL 3.0. Возможно у вас нет OpenGL 3.0, но, скорее всего, должен быть OpenGL 2.1. Я ссылаюсь на ваше сообщение, где вы писали что у вас драйвера примерно от 2014 года:
Цитата Сообщение от cosmos44 Посмотреть сообщение
Может быть у меня на данном компе железо 20-ти летней давности стоит. Драйвера-> последняя версия (10лет назад).
Миниатюры
0
9994 / 2966 / 497
Регистрация: 05.10.2013
Сообщений: 8,158
Записей в блоге: 246
05.03.2025, 11:34
Я неправильно написал пути в прикреплённом примере в сообщении #57:
JSON
1
2
3
4
5
6
7
8
                "SDL3_DIR": {
                    "value": "..\\libs\\SDL3-3.2.6\\cmake",
                    "type": "PATH"
                },
                "SDL3_image_DIR": {
                    "value": "..\\libs\\SDL3_image-3.2.4\\cmake",
                    "type": "PATH"
                }
Там написано точки перед \\libs, а нужно написать одну:
JSON
1
2
3
4
5
6
7
8
                "SDL3_DIR": {
                    "value": ".\\libs\\SDL3-3.2.6\\cmake",
                    "type": "PATH"
                },
                "SDL3_image_DIR": {
                    "value": ".\\libs\\SDL3_image-3.2.4\\cmake",
                    "type": "PATH"
                }
Исправил:
Вложения
Тип файла: zip sprite-animation-libs.zip (10.74 Мб, 2 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.03.2025, 11:34

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

QRubberBand медленно отрисовывается
С помощью QRubberBand выделяю участок наследника QGraphicsView для последующего сохранения, решил поставить ограничение на мышь чтобы если...

Не отрисовывается график
учусь делать оконное приложение вот по этому уроку. http://doc.qt.io/Qt-5/Qtqml-tutorials-extending-qml-example.html получилось...

Генератор текстур( с чего начать)
Всем привет, решил для своего 3д проекта написать генератор текстур, пока что необходима текстура булыжника. Никто не подскажет с помощью...

Qt с++ картинка постоянно отрисовывается
Ребята помогите пожалуйста, картинки один раз перемешивались и орисовывались и всё... а у меня эти действии повторяются каждый раз когда я...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru