Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846

Интерпретатор BrainFuck на VBS

06.08.2013, 18:54. Показов 1400. Ответов 4

Студворк — интернет-сервис помощи студентам
Visual Basic
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
if Wscript.Arguments.count = 0 then
 Wscript.Echo "There is no code"
 Wscript.Quit
end if
set FSO=CreateObject("Scripting.FileSystemObject")
if FSO.FileExists(Wscript.Arguments(0)) = false then
 Wscript.Echo "File not found!"
 Wscript.Quit
end if
set codefile = FSO.OpenTextFile(Wscript.Arguments(0), 1)
code = codefile.ReadAll()
codefile.Close
 
position = 1
s_position = 0
input_p = 1
sym_out = ""
dim last_c(32)
lp = -1
dim stack(30000)
 
While Len(code) >= position 
 symbol=Mid(code, position, 1)
 if symbol = "+" then stack(s_position) = stack(s_position) + 1
 if symbol = "-" then stack(s_position) = stack(s_position) - 1
 if symbol = ">" then
  if s_position <> 29999 then s_position = s_position + 1 else s_position = 0
 end if
 if symbol = "<" then
  if s_position <> 0 then s_position = s_position - 1 else s_position = 29999
 end if
 if symbol = "," then
   if len(Wscript.Arguments(1)) >= input_p then stack(s_position) = asc(Mid(Wscript.Arguments(1), input_p, 1)) : input_p = input_p + 1 else stack(s_position) = 0
 end if
 if symbol = "." then sym_out = sym_out & chr(stack(s_position))
 if symbol = "[" then
  if stack(s_position) <> 0 then lp = lp + 1 : last_c(lp) = position else position = Sear(code, position)
 end if
 if symbol = "]" then
  if stack(s_position) <> 0 then position = last_c(lp) else lp = lp - 1
 end if
 position = position + 1
Wend
Wscript.Echo sym_out
Wscript.Quit
 
Function Sear(c, pos)
 endx = -1
 ntc = true
 for i = pos to len(c)
  if Mid(c, i, 1)="[" then endx = endx + 1
  if Mid(c, i, 1)="]" then
   if endx = 0 AND ntc then Sear = i : ntc = false
   endx = endx - 1
  end if
 next
End Function
Вызов: через cscript
Code
1
script.vbs [Имя файла с кодом] [Поток входных символов для команды ","]
Если вы не знаете, что такое Brainfuck, то: >>ТЫЦ<<

Пример бат-файла для вызова:
Bash
1
2
3
4
@echo off
set /p input=Input string   :
cscript bf.vbs code.bf %input%
pause>nul
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.08.2013, 18:54
Ответы с готовыми решениями:

Создание бинарного файла из vbs / Как создать exe файл из vbs
Имеется файл с расширением exe. Нужно как-нибудь занести массив байт в скрипт, и чтоб потом этот файл создавался при запуске vbs

Brainfuck интерпретатор
Напишите интерпретатор практически полноценного языка &quot;Взрыв мозга&quot;. Условия те же, что и в предыдущей задаче, но добавлены целых две...

Интерпретатор Brainfuck в Python
Нужно написать Brainfuck в Python с некоторыми условиями: Представьте себе закольцованную ленту из 30000 клеток, в каждой из которых...

4
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
07.08.2013, 00:26
:D

[BF]

+++++++++++++++++++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<---------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ +.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<----------------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<-------------------------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<---.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<----------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<-----------------------------------------.>

[/BF]


Гулять так гулять. BrainFuck на батниках:
Кликните здесь для просмотра всего текста
Bash
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
@ECHO off
setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
rem Глобальные переменные
rem Набор выводимых символов. Символы, вывод которых вызывал ошибки исполнения cmd заменены символом "."
set char=".#$...'()*+,-./0123456789.....?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]._`abcdefghijklmnopqrstuvwxyz{.}~_"
rem Размер maxmem можно поставить 30000 ячеек памяти, но тогда инициализация идет очень долго.
set maxmem=100
 
echo Brainfuck Interpreter
echo.
 
IF "%~1" NEQ "" GOTO init
echo Usage: %~nx0 file.bf
goto :eof
 
:init
rem Инициализируем память.
set /a __maxindex=%maxmem% - 1
for /l %%i in (0,1,%__maxindex%) do set mem_%%i=0
set mp=0
set sp=0
set cp=0
 
rem читаем программу в память
set work_file=%~1
set bf_prog=
FOR /F "eol=c delims=*" %%I IN (%work_file%) DO SET "bf_prog=!bf_prog!%%I"
rem узнаем длину программы
call :var_count "%bf_prog%" bf_len
::Echo.%bf_prog%>"%TEMP%\%~n0.tmp"
::For %%i In ("%TEMP%\%~n0.tmp") Do Set /A bf_len=%%~zi-2
rem Выводим тест, что программа работает, а не зависла.
echo Executing programm
echo "%bf_prog%"
echo.
 
rem рабочий цикл
:work
set "cop=!bf_prog:~%cp%,1!"
rem call :debug
 
if "%cop%" == "+" (
  set tmp=!mem_%mp%!
  set /a tmp += 1
  if !tmp!==256 set tmp=0
  set mem_%mp%=!tmp!
) else if "%cop%" == "-" (
  set tmp=!mem_%mp%!
  set /a tmp -= 1
  if !tmp! LSS 0 set tmp=255
  set mem_%mp%=!tmp!
) else if "%cop%" == ")" (
  set /a mp +=1
  if !mp! == %maxmem% set mp=0
) else if "%cop%" == "(" (
  set /a mp -=1
  if !mp! == -1 set /a mp=%maxmem% - 1
) else if "%cop%" == "," (
  call :comma
) else if "%cop%" == "." (
  set tmp=!mem_%mp%!
  call :Echochr !tmp!
) else if "%cop%" == "[" (
  set tmp=!mem_%mp%!
  if !tmp!==0 (
    call :skip1
  )
) else if "%cop%" == "]" (
  set tmp=!mem_%mp%!
  if !tmp! NEQ 0 (
    call :skip2
  )
)
 
set /a cp += 1
if %cp% GEQ %bf_len% goto exit
goto work
 
:skip1
:w11
    set /a cp += 1
    if %cp% == %bf_len% (
      call :err_print "] not found"
      exit /b 0
    )
    set "cop=!bf_prog:~%cp%,1!"
    if "%cop%" == "[" (set /a sp +=1)
    if "%cop%" == "]" if %sp% NEQ 0 (set /a sp -=1) else (goto w12)
    goto w11
:w12
exit /b 0
 
:skip2
:w21
    set /a cp -= 1
    if "%cp%" LSS "0" (
      call :err_print "[ not found"
      exit /b 0
    )
    set cop=!bf_prog:~%cp%,1!
    if "%cop%" == "]" (set /a sp +=1)
    if "%cop%" == "[" if %sp% NEQ 0 (set /a sp -=1) else (goto w22)
    goto w21
:w22
exit /b 0
 
:comma
rem Не реализованно
exit /b 0
 
rem ==========================================================================
rem Процедура echochr
rem Эмуляция функции chr()
rem ==========================================================================
:echochr
if %1==10 echo.
if %1==13 echo.
if %1==32 <nul set /p strTemp="_"
if %1 GTR 32 (
set /a code=%1 - 32
for /f %%t in ('cmd /c "echo %%char:~!code!,1%%"') do <nul set /p strTemp="%%t"
)
exit /b 0
 
 
rem ==========================================================================
rem Процедура debug
rem Печать состояния переменных и памяти
rem ==========================================================================
:debug
set tmp=!mem_%mp%!
echo cp=%cp%, mp=%mp%, cop=%cop%, mem[mp]=%tmp%
exit /b 0
rem ==========================================================================
 
 
rem ==========================================================================
rem Процедура EchoWithoutCrLf
rem %1 : текст для вывода.
rem ==========================================================================
:EchoWithoutCrLf
<nul set /p strTemp="%~1"
exit /b 0
rem ==========================================================================
 
 
rem ==========================================================================
rem Процедура err_print
rem Печать кода ошибки. Создание дампов работы.
rem ==========================================================================
:err_print
echo Error on %cp% position.
echo %1
echo.
echo cp: %cp% >register.dmp
echo mp: %mp% >>register.dmp
echo sp: %sp% >>register.dmp
set /a __maxindex=%maxmem% - 1
if exist memory.dmp del memory.dmp
for /l %%i in (0,1,%__maxindex%) do echo !mem_%%i! >>memory.dmp
exit /b 0
rem ==========================================================================
 
:exit
set /a __maxindex=%maxmem% - 1
if exist memory.dmp del memory.dmp
for /l %%i in (0,1,%__maxindex%) do echo !mem_%%i! >>memory.dmp
echo.
ENDLOCAL
exit /B
 
:var_count
::%1 - текст
::%2 - Переменная для хранения кол-ва символов в тексте
  set "_text=%~1"
  if "%_text%"=="" (set %~2=0& Exit /B)
  set _TCount=
  for /L %%C in (0,1,8184) do if "!_text:~%%C,1!"=="" (goto var_count_ext) else (set _TCount=%%C)
:var_count_ext
  set /A _TCount+=1
  set %~2=%_TCount%
Exit /B


Автор: AbnormalHead
Ссылка: http://habrahabr.ru/post/123034/
+ мои правки критических секций кода и функция var_count. Но он все равно некорректно работает. Ошибки в ядре обработчика.
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
07.08.2013, 11:39  [ТС]
Цитата Сообщение от Dragokas Посмотреть сообщение
Но он все равно некорректно работает. Ошибки в ядре обработчика.
А я, вдохновленный тем постом, где-то писал свой. И он работал корректно. Но оооооооооооооооооооооочень долго, поэтому я его снес =D

Цитата Сообщение от Dragokas Посмотреть сообщение
Code
1
+++++++++++++++++++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<---------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<----------------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<-------------------------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<---.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<----------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++.>[-]>[-]<<[->+>+<<]>>[-<<+>>]<-----------------------------------------.>
Вывод такой: !ёчси ишиП !!!туркагем ыТ
Что за язык?

Добавлено через 25 секунд
Аааааааа.... Спасибо)

Добавлено через 40 минут
Кликните здесь для просмотра всего текста

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
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++.[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+.[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[
-]
++++++++++++++++++++++++++++++++++++++++++++.[-]
++++++++++++++++++++++++++++++++.[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++.[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+.[-]


 Комментарий модератора 
FraidZZ, правила п. 1.4. Официальными языками форума являются русский и английский языки.
А мне 1 раз можно - привилегия модератора
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
07.08.2013, 18:26
Цитата Сообщение от FraidZZ Посмотреть сообщение
А я, вдохновленный тем постом, где-то писал свой.
Да, интересно посмотреть.
У меня этот батник в принципе не так долго и отрабатывал. Вполне вероятно, что можно неплохо оптимизировать.
Цитата Сообщение от FraidZZ Посмотреть сообщение
Что за язык?
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
08.08.2013, 17:30  [ТС]
Цитата Сообщение от Dragokas Посмотреть сообщение
У меня этот батник в принципе не так долго и отрабатывал. Вполне вероятно, что можно неплохо оптимизировать.
А зачем? К тому же реализация всех тонкостей циклов BF сложновата на достаточно примитивном языке
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.08.2013, 17:30
Помогаю со студенческими работами здесь

Интерпретатор brainfuck не строит множество Мандельброта
Здравствуйте! Написал интерпретатор brainfuck, простые программы исполняются верно. Но при попытке вывести множество Мандельброта (код не...

[Brainfuck] Интерпретатор: как учитывать кодировку ASCII
Здр, пытаюсь запилить интерпретатор BrainFuck,и не очень могу понять вот эту часть описания: Что значит увеличение/уменьшение...

[Brainfuck] Как использовать Dictionary для разбора команд языка BrainFuck
Необходимо написать IDE для работы с BrainFuck, в ходе выполнения задания у меня возникли вопросы, подскажите, пожалуйста, способы их...

[Brainfuck] Написать интерпритатор языка brainfuck
Добрый день, форумчане. Поступил я в университет, начал учить С++ Начались домашние задания, но я совсем не понимаю что к чему. Нужна...

[Brainfuck] Интерпритатор BrainFuck на Prolog(VIP 5.2)
Была у нас такая лаба(точнее должна быть в декбре8-)). Решил я поделится с вами кодом,мб кому-то пригодится. domains file=f ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru