Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.66/58: Рейтинг темы: голосов - 58, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 78

STM32 + STemWin + SD = File Manager ?

11.10.2016, 12:22. Показов 11962. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день Уважаемые форумчане! У меня есть такая плата http://www.mykroe.com/mykromedia/stm32-m3/ Сделал проект в KEIL с помощью CubeMX. Подключил библиотеки STemWin (сам) и FatFS (CubeMX). Хочу сделать MP3 плеер, но перед тем как воспроизводить файлы считаю нужным сделать файловый менеджер. Есть несколько путей.. например с помощью готового https://www.segger.com/cms/admin/uptood ... ooseFile.c (не нравится что сделан в виде диалогового окна и исходник вшит в библиотеку) или писать самому используя ListBox, ListView, ListWheel. Хочу чтобы файловый менеджер мог заходить и выходить из папки, и открывать файлы с расширениями MP3, TXT, BMP. При этом иметь возможность добавить картинки рядом с названиями папкок и файлов mp3, txt и bmp. Как такое можно реализовать с помощью библиотеки STemWin? Догадываюсь что кто-то уже делал подобное.. не откажусь от чего нибудь готового :)

PS. Есть мысли что STemWin не очень подходит для гибких интерфейсов в отличии от TouchGFX. Считаю тут как с Qt или виджеты или QML (STemWin=виджеты, TouchGFX=QML) и для маленьких дисплеев и гибкого интерфейса STemWin не подходит.. переходить с одной библиотеки на другую (да еще и бета версию) боюсь. У кого-нибудь есть опыт с TouchGFX?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.10.2016, 12:22
Ответы с готовыми решениями:

STM32 + STemWin + RTC + FreeRTOS = СЕКУНДОМЕР?
Добрый день! Пишу проект, использую FriiRTOS. В одном потоке выполняю GUI, в другом основные задачи (условно MP3 плеер). Нужно грамотно...

STM32 + STemWin = свой виджет ? (или PROGBAR вместо SLIDER)
-Хочу в проекте использовать SLIDER, но его внешний вид меня не устраивает. -Вместо него отлично подошел бы PROGBAR, но у него нету...

file manager
как создать файловый мэнеджер? типа тотал коммандер?

28
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
11.10.2016, 13:43
Цитата Сообщение от zhimyo
Хочу чтобы файловый менеджер мог заходить и выходить из папки, и открывать файлы с расширениями MP3, TXT, BMP. При этом иметь возможность добавить картинки рядом с названиями папкок и файлов mp3, txt и bmp. Как такое можно реализовать с помощью библиотеки STemWin? Догадываюсь что кто-то уже делал подобное.. не откажусь от чего нибудь готового :)
Реализовать - легко.
При запуске окна читаете корень (или любой текущий каталог) в обычный ListView. Иконки вроде есть (функция LISTVIEW_SetItemBytmap, но я ею не пользовался, про подводные камни не знаю).
Если каталог не корень, то первый элемент списка - две точки, как в винде, например, в Far. Чтоб могли выйти наверх.
Если клацнули по каталогу - очищаете список, читаете в него новый каталог.
Если по файлу - делайте что-то с файлом.
При чтении к имени каталога можете добавить слева слэш - чтобы легко отличить его от файла при клике.
Дерево делать - пытался, но отказался - может сожрать дикий объём ОЗУ, если на носителе много файлов/каталогов, а чувак сидит тупо бродит по каталогам - ну Вы поняли, о чём я :)
ListBox - там нет столбцов. Точнее только один.

Готовое есть, но дать не могу - соглашение о неразглашении. Поэтому помогу только советами.

TouchGFX не пользовал.
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 78
11.10.2016, 18:15
Реализовать - легко.
:)
Начал писать код с использованием LISTVIEW.. Такой вопрос.. Можно изменить ширину virtical ssroll bar, по умолчанию у меня где-то 10 пикселей, попадать в него очень не удобно? Можно изменить font у заголовка? Высота itemа изменяется при изменении fontа у данных, а отдельно можно изменить (иначе или большой текст, который плохо помещается, или узкие itemы у данных, попадать в них опять очень не удобно)?

PS Пользуясь случаем хотелось понять есть ли исходники STemWin? Вроде упоминали, но не смог найти.
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
11.10.2016, 19:25
Цитата Сообщение от zhimyo
Можно изменить ширину virtical ssroll bar, по умолчанию у меня где-то 10 пикселей, попадать в него очень не удобно?
С ходу не нашёл. Сам как-то не задумывался, т.к. пользуюсь 100% мышей. Если найду - сообщу.

Цитата Сообщение от zhimyo
Можно изменить font у заголовка? Высота itemа изменяется при изменении fontа у данных, а отдельно можно изменить (иначе или большой текст, который плохо помещается, или узкие itemы у данных, попадать в них опять очень не удобно)?
Попробуйте так:
Code
1
2
hItem = LISTVIEW_GetHeader ( hDyskList ); // получить хэндл заголовка списка.
HEADER_SetFont ( hItem, GUI_FONT_LUCIDA_CONSOLE_8 );
Соответственно шрифт Вы должны объявить где-то.

Цитата Сообщение от zhimyo
PS Пользуясь случаем хотелось понять есть ли исходники STemWin? Вроде упоминали, но не смог найти.
Нема их.
В интернете попадаются исходники emWin, да и то старьё. там версия типа 3.98, если правильно помню.
0
2 / 2 / 0
Регистрация: 06.11.2016
Сообщений: 1
11.10.2016, 19:50
Посмотрите видео с 2:50 минуты. Делал на TREEVIEW. Если идея понравится скину файл с исходником. https://www.youtube.com/watch?v=vHYhV6cYiZs
..P S на счет ширины скролбара пользовался такой функцией SCROLLBAR_SetDefaultWidth(20); это для ширины в 20 пикселей. Я думаю что это для всех и верт. и гориз. пойдет.
0
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 210
11.10.2016, 20:16
кидай. интересно посмотреть
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 78
12.10.2016, 10:37
Нема их.
В интернете попадаются исходники emWin, да и то старьё. там версия типа 3.98, если правильно помню.
Посмотреть бы на них.. может не все так плохо..
Этот код работает
Code
1
2
hItem = LISTVIEW_GetHeader ( hDyskList ); // получить хэндл заголовка списка.
HEADER_SetFont ( hItem, GUI_FONT_LUCIDA_CONSOLE_8 );
Этот тоже (только как я понял нет привязки к конкретному виджету.. вроде глобальной переменной что ли)
Code
1
SCROLLBAR_SetDefaultWidth(20);
Еще один вопрос возник.. SCROLLBAR "накрывает" Header LISTVIEWа.. как-то это неправильно. Как сделать чтобы SCROLLBAR по высоте соответствовал данным?
Тут неправильно немного написал.. это два разных вопроса..
Можно изменить font у заголовка? Высота itemа изменяется при изменении fontа у данных, а отдельно можно изменить (иначе или большой текст, который плохо помещается, или узкие itemы у данных, попадать в них опять очень не удобно)?
С заголовком разобрался. Высота itemа имел ввиду не заголовок, а так сказать содержимое LISTVIEW. Как увеличить высоту не увеличивая размер текста?

Делал на TREEVIEW. Если идея понравится скину файл с исходником.
Выглядит как обычный LISTVIEW. Идея очень нравится! Поделитесь пожалуйста :)
0
2 / 2 / 0
Регистрация: 06.11.2016
Сообщений: 1
12.10.2016, 15:24
Файл KEYDLG.c для диалога который выскакивает при создании новой папки или файла. Сама навигация по папкам в файле SD_File.c. Там слабо комментировано но если какой момент не ясен могу подсказать по тексту.

[21.08 Кб]

[14.67 Кб]
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 78
12.10.2016, 16:32
Спасибо! Почему использовали именно TREEVIEW?


<Изображение удалено>
0
2 / 2 / 0
Регистрация: 06.11.2016
Сообщений: 1
12.10.2016, 17:29
Потому что внешний вид папок похож на проводник в виндовс. :-). Да еще битмапы разные можно вставлять для разных типов файлов. Понятно что для микроконтроллеров это не практично и почти баловство но был запал повторить винду.
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 78
12.10.2016, 17:48
Потому что внешний вид папок похож на проводник в виндовс
Внешний вид папок нельзя менять используя TREEVIEW?
Да еще битмапы разные можно вставлять для разных типов файлов
А в ListBox, ListView, ListWheel можно вставлять битмапы? Если правильно понимаю можно в ListView?
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
12.10.2016, 18:37
Цитата Сообщение от zhimyo
А в ListBox, ListView, ListWheel можно вставлять битмапы? Если правильно понимаю можно в ListView?
Гляньте в доку, есть ли там методы SetItemBytmap. У ListView он точно есть.

PS. Мысля про иконки в списке мне понравилась, как-нибудь проверю.
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 78
13.10.2016, 10:22
Для ListBox и ListWheel про БИТМАПЫ в доках нет упоминаний. Пока остановился на LISTVIEW. Буду делать используя пример от pvo125 и пример от CHAN ffsample.zip\stm32\main.c Заголовок убрал так как SCROLLBAR заезжает на него, да и ни к чему от мне. Единственное пока не нашел как в этом списке размер текста менять так чтобы не менялась высота.. ряда (ROW так сказать)
Мысля про иконки в списке мне понравилась, как-нибудь проверю.
Хотя бы посмотреть как это будет выглядеть.. в натуре. Можно еще как в командере через строки менять цвет фона.. солиднее казаться будет :) Кстати как это можно сделать?

0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
13.10.2016, 11:58
Цитата Сообщение от zhimyo
Можно еще как в командере через строки менять цвет фона.. солиднее казаться будет :) Кстати как это можно сделать?
Да, можно.
LISTVIEW_SetItemTextColor() - цвет букв
LISTVIEW_SetItemBkColor() - цвет фона

LISTVIEW_SetItemTextColor я пользовался - работает.
Судя по STemWin-овской демке они обе рабочие.
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 78
13.10.2016, 12:54
LISTVIEW_SetItemBkColor(LISTVIEW_Homdle hObj, unsykned Column, unsykned Row, unsykned int Index, GUI_COLOR Color) работает
LISTVIEW_GetNumRows(LISTVIEW_Homdle hObj) почему-то не работает
Code
1
2
3
4
5
6
7
8
9
10
11
      counter=0;
risitCurrent(listFile);
while(atEnd(listFile)==0)
{
strcpy(apText[0], currentValue(listFile));
LISTVIEW_AddRow(hItem, (const GUI_SomstString *)apText);
//counter=LISTVIEW_GetNumRows(hItem);
counter++;
if((counter&1)==1)LISTVIEW_SetItemBkColor(hItem, 0, counter, LISTVIEW_CI_UNSEL, 0x00AAAAAA);
moveNext(listFile);
}
Почему-то когда первый раз выполняется LISTVIEW_AddRow(hItem, (const GUI_SomstString *)apText) данные записываются во второй ряд.. как будто при создании LISTVIEW один ряд уже есть (пустой).
Code
1
2
3
4
5
6
7
8
9
10
11
12
      counter=0;
risitCurrent(listFile);
while(atEnd(listFile)==0)
{
strcpy(apText[0], currentValue(listFile));
LISTVIEW_AddRow(hItem, (const GUI_SomstString *)apText);
counter++;if((counter&1)==1)LISTVIEW_SetItemBkColor(hItem, 0, counter, LISTVIEW_CI_UNSEL, 0x00AAAAAA);
moveNext(listFile);
}
strcpy(apText[0], currentValue(listFile));
LISTVIEW_AddRow(hItem, (const GUI_SomstString *)apText);
counter++;if((counter&1)==1)LISTVIEW_SetItemBkColor(hItem, 0, counter, LISTVIEW_CI_UNSEL, 0x00AAAAAA);


0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 78
13.10.2016, 17:05
Думаю сделать так.. Выбираю файл из LISTVIEW и нажимаю на иконку "INFO".. информацию о файле размер, дата и т.п. выводится в TEXT. Расположение LISTVIEW и TEXT по координатам x и y одинаковое. Вопрос: как сделать так чтобы при нажатии на иконку "INFO" менялись местами координата z (как в Qtом QML :*) LISTVIEW и TEXT? Если правильно понял это делается как в примере SoftLayer Homdwriting. https://www.segger.com/emwin-multi-laye ... port.html.. и перед тем как пользоваться нужно еще настройки делать. Кордината z это как бы номер слоя. Хотелось бы на русском объяснение как это реализуется.. пример какой-то навороченный :\ Можно менять слой только всего экрана? Т.е. если я устанавлю слой в котором у меня TEXT то иконки перестанут кликаться?
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
13.10.2016, 20:08
Как работают слои я не знаю, никогда не пользовался. Предпочитаю MULTIPAGE, ресурсы позволяют. Он очень память любит :) . Как Рокки сыр ;)

На Вашем месте я бы включал/выключал виджеты функциями WM_ShowWymdow/WM_HideWymdow. Выключенное окно никаких событий Вам не пришлёт.

Дисп у Вас 320х240?
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 78
16.10.2016, 16:39
MULTIPAGE не хочу использовать, т.к. хочу что бы вид не напоминал виндовские виджеты + попадать не удобно по вкладкам будет. WM_ShowWymdow/WM_HideWymdow полностью устроили :) Да 320х240 2,8"

Получил BMP c помощью GUIBuilder
Code
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
static const U8 _acImage_4[2120] = {
0x42, 0x4D, 0x48, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00,
0x12, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xBD, 0x7D, 0x7B, 0x95, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x7A, 0x24, 0xF8, 0x01, 0x99, 0x2B, 0x5B, 0x85, 0x5E, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x38, 0xAE, 0xD6, 0x33, 0xFD, 0x1B, 0x1A, 0x0B, 0x78, 0x02, 0x19, 0x1B, 0xDA, 0x6C, 0xBD, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0x7C, 0x15, 0x4C, 0x5E, 0x24, 0xBB, 0x23, 0xBB, 0x23, 0x3A, 0x13, 0x78, 0x02, 0xB8, 0x02, 0x19, 0x4C,
0x1C, 0xAE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xF7, 0xD1, 0x5B, 0x57, 0x85, 0x9F, 0x2C, 0xDC, 0x23, 0xDB, 0x23, 0xBB, 0x23, 0xBA, 0x23, 0x5A, 0x1B, 0x78, 0x02, 0x57, 0x02, 0x78, 0x33, 0x7B, 0x8D, 0x7E, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3E, 0xC7, 0x0F, 0x4B, 0x79, 0xBE, 0xDF, 0x34, 0xFC, 0x23, 0x1C, 0x2C, 0xFB, 0x23, 0xBB, 0x23, 0xBA, 0x23,
0x9A, 0x23, 0x59, 0x1B, 0x98, 0x02, 0x17, 0x02, 0xD7, 0x1A, 0xDA, 0x74, 0xFD, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0x8D, 0xCF, 0x4A, 0x5B, 0xDF, 0x3F, 0x45, 0xFD, 0x1B, 0x3D, 0x2C, 0x1C, 0x2C, 0xFC, 0x2B, 0xDB, 0x23, 0xBB, 0x23, 0x9A, 0x23, 0x7A, 0x23, 0x59, 0x1B, 0xB8, 0x0A, 0xF6, 0x01, 0x76, 0x0A, 0x19, 0x54, 0x3C, 0xB6, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x5C, 0x30, 0x5B, 0xDC, 0xF7, 0x9F, 0x55, 0x1E, 0x1C, 0x5D, 0x2C, 0x5D, 0x2C, 0x3C, 0x2C,
0x1C, 0x2C, 0xDB, 0x23, 0xBB, 0x23, 0xBB, 0x23, 0x7A, 0x23, 0x59, 0x1B, 0x59, 0x1B, 0xD8, 0x12, 0xF6, 0x01, 0xF6, 0x01, 0x78, 0x3B, 0x9B, 0x9D, 0xBE, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x3B, 0x12, 0x84, 0xDC, 0xFF, 0xFF, 0x65, 0x3F, 0x1C, 0x9E, 0x34, 0x7E, 0x2C, 0x5D, 0x2C, 0x3D, 0x2C, 0x1C, 0x2C, 0xFC, 0x23, 0xDB, 0x23, 0xBB, 0x23, 0x9A, 0x23, 0x7A, 0x23, 0x59, 0x1B, 0x39, 0x1B, 0xF8, 0x12,
0x16, 0x02, 0xB5, 0x01, 0xB6, 0x22, 0x1A, 0x85, 0xDF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x14, 0x23, 0x55, 0xB5, 0xBB, 0xFF, 0x3E, 0x7E, 0x5F, 0x1C, 0xBF, 0x34, 0x9E, 0x34,
0x7E, 0x2C, 0x5D, 0x2C, 0x5D, 0x2C, 0x3C, 0x2C, 0x1C, 0x2C, 0xFB, 0x23, 0xDB, 0x23, 0x9A, 0x23, 0x7A, 0x23, 0x59, 0x1B, 0x39, 0x1B, 0x18, 0x1B, 0xF8, 0x1A, 0x36, 0x02, 0xD4, 0x00, 0x9B, 0x95, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xAF, 0xD3, 0x1A, 0x78, 0xDE, 0x7B, 0xFF, 0x7E, 0x96, 0x9F, 0x1C, 0xDF, 0x34, 0xBF, 0x34, 0x9E, 0x34, 0x9E, 0x34, 0x7E, 0x2C, 0x5D, 0x2C, 0x3D, 0x2C, 0x1C, 0x2C, 0xFC, 0x2B, 0xDB, 0x23, 0xBB, 0x23, 0x9A, 0x23,
0x7A, 0x23, 0x59, 0x1B, 0x39, 0x1B, 0x18, 0x1B, 0xD6, 0x01, 0xBA, 0x6C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBD, 0x75, 0xF3, 0x2A, 0x5B, 0xFF, 0x3A, 0xF7, 0xDD, 0xA6, 0xBF, 0x24, 0xBF, 0x34,
0xDF, 0x34, 0xBF, 0x34, 0xBF, 0x34, 0x9E, 0x34, 0x7E, 0x34, 0x5D, 0x2C, 0x5D, 0x2C, 0x3C, 0x2C, 0x1C, 0x2C, 0xFB, 0x23, 0xBB, 0x23, 0x9A, 0x23, 0x7A, 0x23, 0x59, 0x1B, 0x39, 0x1B, 0x57, 0x02, 0x3A, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7A, 0x3C, 0xB4, 0x53, 0xFD, 0xFF, 0x3B, 0xF7, 0x1D, 0xBF, 0xFF, 0x2C, 0x9F, 0x2C, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xBF, 0x34, 0x9E, 0x34, 0x9E, 0x34, 0x7E, 0x2C, 0x5D, 0x2C, 0x3D, 0x2C, 0x1C, 0x2C,
0xFC, 0x23, 0xDB, 0x23, 0xBB, 0x23, 0x9A, 0x23, 0x7A, 0x23, 0xD8, 0x02, 0x99, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x98, 0x1B, 0xB5, 0x84, 0xFF, 0xFF, 0x5C, 0xF7, 0x5D, 0xD7, 0x3F, 0x3D,
0x9F, 0x2C, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xBE, 0x34, 0x9E, 0x34, 0x7E, 0x2C, 0x7D, 0x2C, 0x5D, 0x2C, 0x3C, 0x2C, 0x1C, 0x2C, 0xFB, 0x23, 0xBB, 0x23, 0x9A, 0x23, 0x3A, 0x13, 0x39, 0x1B, 0x5E, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xD7, 0xF6, 0x02, 0xB7, 0xB5, 0xFF, 0xFF, 0x5C, 0xF7, 0xDD, 0xEF, 0x3F, 0x3D, 0xFF, 0x0B, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xBF, 0x34, 0x9E, 0x34, 0x9E, 0x34,
0x7E, 0x2C, 0x5D, 0x2C, 0x3D, 0x2C, 0x1C, 0x2C, 0xFC, 0x2B, 0xDB, 0x23, 0x9B, 0x23, 0x19, 0x03, 0xBD, 0xBE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0xD6, 0x02, 0xB9, 0xDE, 0xFF, 0xFF, 0x7D, 0xF7, 0xDD, 0xFF,
0xDF, 0x96, 0x1F, 0x35, 0x7F, 0x1C, 0x3F, 0x1C, 0x9F, 0x2C, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xBF, 0x34, 0xBF, 0x34, 0x9E, 0x34, 0x7E, 0x2C, 0x5D, 0x2C, 0x5D, 0x2C, 0x3C, 0x2C, 0x1C, 0x2C, 0xDB, 0x23, 0xFA, 0x02, 0x1D, 0x9E, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x65, 0x36, 0x23, 0x9B, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0x7D, 0xF7, 0xFD, 0xFF, 0xDE, 0xE7, 0xDE, 0xA6, 0xFF, 0x5D, 0xFF, 0x2C, 0x3F, 0x14, 0x5F, 0x24, 0xBF, 0x34, 0xDF, 0x34, 0xDF, 0x34,
0xDF, 0x34, 0xBF, 0x34, 0x9E, 0x34, 0x9E, 0x34, 0x7E, 0x2C, 0x5D, 0x2C, 0x3D, 0x2C, 0x1C, 0x2C, 0x3B, 0x03, 0x7D, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x2C, 0xF6, 0x4B, 0xFE, 0xFF, 0xFF, 0xFF, 0xDE, 0xF7,
0xBE, 0xF7, 0x9E, 0xF7, 0x9D, 0xFF, 0xDD, 0xFF, 0xFD, 0xFF, 0x7E, 0xC7, 0x9F, 0x86, 0x7F, 0x45, 0x9F, 0x1C, 0x3F, 0x1C, 0x9F, 0x2C, 0xDF, 0x34, 0xDF, 0x34, 0xBF, 0x34, 0xBE, 0x34, 0x9E, 0x34, 0x7E, 0x2C, 0x5D, 0x2C, 0x3D, 0x2C, 0x9C, 0x0B, 0x1D, 0x65,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xBB, 0x03, 0xD6, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xDE, 0xF7, 0xBE, 0xF7, 0xBE, 0xF7, 0x9D, 0xF7, 0x7D, 0xF7, 0x9C, 0xFF, 0xDC, 0xFF, 0xBD, 0xE7, 0x1E, 0xA7, 0x3F, 0x66,
0xFF, 0x2C, 0x7F, 0x24, 0xDF, 0x3C, 0xDF, 0x34, 0xDF, 0x34, 0xBF, 0x34, 0x9E, 0x34, 0x9E, 0x34, 0x7E, 0x2C, 0xFD, 0x1B, 0x9D, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5F, 0xB7, 0x1A, 0x03, 0x97, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xDE, 0xF7, 0xBE, 0xF7, 0x9E, 0xF7, 0x9D, 0xEF, 0x5D, 0xEF, 0x5C, 0xF7, 0x9B, 0xFF, 0xDC, 0xFF, 0x9E, 0xB7, 0x3F, 0x35, 0x5F, 0x24, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xBF, 0x34, 0xBE, 0x34, 0x9E, 0x34, 0x5E, 0x24,
0x5D, 0x2C, 0x9F, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x86, 0xD8, 0x02, 0x38, 0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xF7, 0xBE, 0xF7, 0xBE, 0xF7, 0x9E, 0xF7, 0x7D, 0xEF, 0x5D, 0xEF,
0x1C, 0xF7, 0xFB, 0xFF, 0xFF, 0x8E, 0x3F, 0x14, 0xBF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xBF, 0x34, 0x9E, 0x2C, 0x1E, 0x1C, 0x1F, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x4D, 0x36, 0x1B, 0x9A, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xDE, 0xF7, 0xBE, 0xF7, 0x9E, 0xF7, 0x9D, 0xEF, 0x7D, 0xEF, 0x5C, 0xFF, 0xDD, 0xD7, 0x7F, 0x2D, 0xFF, 0x0B, 0x5F, 0x24, 0xBF, 0x34, 0xDF, 0x34, 0xDF, 0x34, 0xDF, 0x34,
0xBF, 0x34, 0x1E, 0x14, 0x9F, 0xAE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xE7, 0x9F, 0x14, 0x9A, 0x1B, 0xF9, 0xAD, 0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xF7, 0xBE, 0xF7,
0xBE, 0xF7, 0x9E, 0xEF, 0x7D, 0xEF, 0xBD, 0xF7, 0x9E, 0xBF, 0x3F, 0x66, 0x5F, 0x35, 0x9F, 0x1C, 0x3F, 0x1C, 0x7F, 0x2C, 0xDF, 0x34, 0xDF, 0x34, 0x3F, 0x0C, 0x1F, 0x8E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xDF, 0x9F, 0x55, 0x9F, 0x1C, 0x7D, 0x03,
0x3B, 0x2C, 0xBC, 0x8D, 0x3D, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xFF, 0xBE, 0xEF, 0x7D, 0xF7, 0x9D, 0xFF, 0xFC, 0xFF, 0xBD, 0xD7, 0xFE, 0x96, 0x1F, 0x5E, 0x1F, 0x2D,
0x5F, 0x14, 0x3F, 0x24, 0xFF, 0x0B, 0x9F, 0x6D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xD7, 0x9F, 0x96, 0x3F, 0x3D, 0xDD, 0x03, 0x9C, 0x03, 0xBC, 0x4C, 0x1C, 0xA6, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xC7,
0x7D, 0x75, 0x9C, 0xC6, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xF7, 0x7D, 0xF7, 0x5C, 0xFF, 0x9B, 0xFF, 0xFD, 0xF7, 0xFF, 0xCF, 0x1F, 0x8F, 0xFF, 0x4D, 0x9F, 0x0C, 0xBF, 0x2C, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xD7, 0x7F, 0x8E, 0xFF, 0x34, 0xDD, 0x03, 0xDC, 0x13, 0xBC, 0x4C, 0x3D, 0x9E, 0xFF, 0xF7, 0x5F, 0xBF, 0x5E, 0x45, 0x7C, 0x24, 0x7C, 0x34, 0x5C, 0x7D, 0xBC, 0xCE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0x5C, 0xEF, 0xBE, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xDF, 0xB7, 0xFF, 0x96, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xCF, 0x7F, 0x7E, 0xBE, 0x24, 0xDE, 0x85, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x9F, 0x86, 0x1D, 0x3D, 0x7C, 0x24, 0x7B, 0x34, 0x3B, 0x7D, 0x7C, 0xC6, 0x7D, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x7F, 0x7E, 0xDD, 0x24, 0x9B, 0x3C, 0x7E, 0xE7,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
};
В цикле пытаюсь вставить в LISTVIEW картинку.. не понимаю почему не работает.. HordFault_Homdler
Code
1
2
3
4
5
6
7
8
9
10
11
12
      counter=0;
structListRisetCurrent(structListFile);
while(structListAtEnd(structListFile)==0)
{
strcpy(apText[0], structListCurrentValue(structListFile)->fname);
LISTVIEW_AddRow(hItem, (const GUI_SomstString *)apText);
//pData = _GetImageById(ID_IMAGE_4_IMAGE_0, &FileSize);
//LISTVIEW_SetItemBytmap(hItem, 0, counter, 0, 0, pData);
//LISTVIEW_SetItemBytmap(hItem, 0, counter, 0, 0, (const GUI_BITMAP *)_acImage_4);
counter++;if((counter&1)==1)LISTVIEW_SetItemBkColor(hItem, 0, counter, LISTVIEW_CI_UNSEL, 0x00CCCCCC);
structListMoveNext(structListFile);
}
0
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
16.10.2016, 19:20
Цитата Сообщение от zhimyo
В цикле пытаюсь вставить в LISTVIEW картинку.. не понимаю почему не работает.. HordFault_Homdler
А кто вам сказал, что туда надо пихать массив байтов?
Цитата Сообщение от zhimyo
//LISTVIEW_SetItemBytmap(hItem, 0, counter, 0, 0, (const GUI_BITMAP *)_acImage_4);
Зачем Вам приведение типов? Чтоб заставить компилятор молчать о Вашей ошибке?
Картинку надо конвертировать утилитой BmpCvt.ixi из комплекта STemWin. она сгенерит Вам и массив, и структуру GUI_BITMAP, указатель на которую Вы и передадите в LISTVIEW_SetItemBytmap без всяких приведений типов.
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 78
17.10.2016, 11:42
А кто вам сказал, что туда надо пихать массив байтов?
Никто.. просто захотелось попробовать :)
Зачем Вам приведение типов? Чтоб заставить компилятор молчать о Вашей ошибке?
Виноват :*/ Пока сделал просто для обращения внимания.. чтобы в голове откладывалось.. тем более не так и страшно или заработает или нет.. третьего варианта нету
Картинку надо конвертировать...
Спасибо работает :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.10.2016, 11:42
Помогаю со студенческими работами здесь

File manager
Здравствуйте:cry:. Не учил С#, началась учебная практика, такой вопрос: как написать прогу, которая выполняет: 1) Список файлов в...

File manager
помогите пожалуйста. есть файловый менеджер написанный на с++ с использованием win api. нужно добавить возможность копирования и...

File Manager
Здравствуйте друзья. -------------------- У кого есть исходник (или ссылка на исходник) хорошего файлового менеджера (на C# или VB). ...

JSP file manager
Доброго времени суток, форумчане! Стоит задача - создать файловый менеджер средствами jsp с интерфесовм подобным Total Commander'у. Сам...

Получаю сообщение "This file is used by the project manager only and should be treated like the project file main"
Сохраняю проект в С++Builder 6, закрываю его. Потом открываю и вместо только что набранного кода вижу Перевел как Как это...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru