Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/58: Рейтинг темы: голосов - 58, средняя оценка - 4.64
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

Вывод текста в консоль

28.10.2012, 18:51. Показов 12586. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я хочу запустить через консоль MS-DOS скомпилированную VB программу.
Она должна вывести в консоль текст.

(нечто вроде команды printf на С++)

Как реализовать кодом VB, какие настройки?

P.S. Добавлю: надеюсь такой проект не будет ограничен в возможности
получать доступ к API-функциям.
(Хочу немного переделать код - "перехват консольного вывода" под чисто консольные нужды).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.10.2012, 18:51
Ответы с готовыми решениями:

Поиск текста в .txt и вывод этого текста в консоль
Доброе время суток! Задали в универе написать программу (база данных книг) которая сохраняет вводимую информацию в .txt файле. Функцию...

Вывод текста в консоль
Всем привет ! Задача такая. У меня в консольку выливается огромная уйма чисел в ряд ну и естественно рядов выходит все больше и больше. Кто...

Вывод текста на консоль в C++
парни, необходимо перевести строку printf ("%5d", a); в с++. интересует как записать “%5d” в с++

28
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
28.10.2012, 19:20
В .bas модуле API SetConsoleMode
Вот примерчик
Вложения
Тип файла: zip Консоль.zip (5.1 Кб, 87 просмотров)
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
28.10.2012, 19:22
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Немного подождите, готовлю проект...

В принципе, все очень просто. Создайте новый проект, добавьте модуль, а в модуль sub main (это стартовая процедура). Форму можно оставить, но установить Startup Object -> Sub Main.

Затем установите ссылку на Microsoft Scripting и пишите:

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
Private sinp    As Scripting.TextStream
Private sout    As Scripting.TextStream
Private serr    As Scripting.TextStream
 
Private myFSO   As Scripting.FileSystemObject
 
Sub Main()
 
   Set myFSO = New Scripting.FileSystemObject
 
   Set sinp = myFSO.GetStandardStream(CLng(0))
    
   Set sout = myFSO.GetStandardStream(CLng(1))
      
   Set serr = myFSO.GetStandardStream(CLng(2))
 
   For i% = 1 To 10
       sout.WriteLine "i=" + CStr(i%)
   Next i%
   
   sout.WriteLine "Press Enter to exit"
   
   Stri$ = sinp.ReadLine
 
End Sub
Протранслируйте проек (получите exe-файл). Запустите. И выйдет невразумительная ошибка!
Последнее, что нужно сделать, это установить в PE-заголовке EXE-файла признак "Консольное приложение" (сам VB этого не делает).

Сделать это нужно самому. Отдельным exe, содержащим вот такой код:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
          fi% = FreeFile
    
          '::: fnam$ - это наш консольный экзешник
 
          Open fnam$ For Binary Access Read Write As #fi%
    
          Get fi%, &H3C + 1, L&
          
          Put fi%, L + &H5C + 1, CLng(3)
    
          Close fi%
Можно воспользоваться прилагаемой программой makeCon.exe.

После этого запускаем экзешник и видим то, что и ожидали:
Миниатюры
Вывод текста в консоль  
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
28.10.2012, 19:46
Единственное неудобство таких программ в том, что их нельзя отлаживать из IDE (но нет препятствий к запуску, что раздражает).
Чтобы отсечь возможность запуска из IDE, я использую код, который привожу ниже:

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
    '::: Проверка среды запуска
 
Private Declare Function GetCurrentProcessId Lib "KERNEL32" () As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
 
     '::: Проверка среды
 
    Id& = GetCurrentProcessId()
 
    hmainVB& = FindWindow("IDEOwner", vbNullString)
 
    If hmainVB& <> 0 Then
        
       ret& = GetWindowThreadProcessId(hmainVB&, Id1&)
        
       If Id& = Id1& Then
           
          MsgBox "Этот проект не предназначен для запуска из IDE"
              
          End
          
       End If
              
    End If
Теперь при попытке запуска из среды выйдет сообщение. А транслировать проект можно вот таким скриптом:

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
    '::: Трансляция консольного проекта:
 
    HomeDir=Wscript.ScriptFullName
 
    k=InstrRev(HomeDir,"\")
 
    HomeDir=Left(HomeDir,(k-1))
 
    Set myFSO = CreateObject("Scripting.FileSystemObject")
 
    if myFSO.FileExists(Homedir & "\Проект.exe") then
 
       Set fil=myFSO.GetFile(Homedir & "\Проект.exe")
 
       fil.Delete
 
    end if
 
 
    if myFSO.FileExists(Homedir & "\Проект.txt") then
 
       Set fil=myFSO.GetFile(Homedir & "\Проект.txt")
 
       fil.Delete
 
    end if
 
    Set WS=CreateObject("WScript.Shell")
 
    RC=WS.Run("""c:\Program Files\Microsoft Visual Studio\Vb98\vb6.exe"" /m lispik-csc.vbp /out c_lisp.txt",1,True)
 
    If RC <> 0 then 
 
       MsgBox "Ошибка при генерации! См. протокол Проект.txt"
 
       WScript.Quit
 
    Else
 
       Rcc2=Ws.Run("makecon.exe Проектexe",1,True)
 
       MsgBox "OK!"
 
       WScript.Quit
 
    End if
Кроме того, можно обеспечить и цветной вывод (подключив доп. функции).

В целом получается полнофункциональное консольное приложение (можно использовать фильтры ком. строки, конвейеры и т.д.)
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
28.10.2012, 19:53
Выкладываю исходники:
Вложения
Тип файла: zip t027.zip (8.1 Кб, 36 просмотров)
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
28.10.2012, 20:10
Мне кажется, что мой пример более натуральный - просто компилируется, используются настоящие "консольные" API?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
28.10.2012, 20:31
Цитата Сообщение от Pro_grammer Посмотреть сообщение
более натуральный
- нет. Главная суть консольных приложений - в использовании стандарных потоков ввода/вывода (переназначений и конвейеров). Ваш пример (он по сети давно гуляет) демонстрирует только вывод в консольное окно.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
28.10.2012, 21:04
Цитата Сообщение от Catstail Посмотреть сообщение
Ваш пример (он по сети давно гуляет)
Да, с 2000 г. уже и не помню где взял!
Ну ясно всё с ним.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.10.2012, 00:13  [ТС]
Такс, вариант Pro_grammer просмотрел.
Не то. Программа не должна создавать свой экземпляр консольной среды, а работать в той,
из которой была запущена.

И она, желательно, должна быть максимально отвязана от API. Только скриптовые языки.
Смотрю var. Catstail.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
29.10.2012, 00:35
Цитата Сообщение от Dragokas Посмотреть сообщение
работать в той, из которой была запущена.
- мой код так и работает.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.10.2012, 01:23  [ТС]
Catstail, замечательно. Именно то, что мне нужно.
Это ж надо так изучить структуру PE EXE, чтобы вычислить нужное смещение для флага и указатель на него.

Цитата Сообщение от Catstail Посмотреть сообщение
можно обеспечить и цветной вывод (подключив доп. функции).
Как раз хотел спросить. Т.е. можно вывести текст в консоль разными цветами.
Какие методы за это отвечают?

Цитата Сообщение от Catstail Посмотреть сообщение
можно использовать фильтры ком. строки, конвейеры и т.д.
Т.е. можно в этой же среде запускать консольные команды. Как?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
29.10.2012, 08:36
Цитата Сообщение от Dragokas Посмотреть сообщение
Т.е. можно в этой же среде запускать консольные команды. Как?
- я имел в виду, что программы, написанные на VB, могут быть ковейерами, и их ввод/вывод можно перенаправлять, используя символы ">>", ">", "<", "|".

Создайте в тек.дир. файлик 222.txt и занесите в него пустую строку. А потом выполните из командной строки:

Bash
t027.exe > 111.txt < 222.txt

Консольное окошко возникнет и исчезнет, а вывод программы попадет в файл 111.txt

PS

Я не так уж хорошо знаю PE. Информацию об этой особенности консольных приложений я тоже нашел в сети (году в 2005-6, не помню). Спорил с одним упорным парнем, который доказывал, что полноценных консольных приложений на VB писать нельзя. Я его убедил в обратном.

Кстати, эта же техника прекрасно работает для CGI-программ, которые тоже можно писать на VB (впрочем, такие примеры мне попадались и раньше, но теперь я написал CGI-программу "с нуля")
1
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
09.12.2013, 10:22
Цитата Сообщение от Catstail Посмотреть сообщение
Последнее, что нужно сделать, это установить в PE-заголовке EXE-файла признак "Консольное приложение" (сам VB этого не делает).
Можно воспользоваться прилагаемой программой makeCon.exe.
После этого запускаем экзешник и видим то, что и ожидали:
Извините, что нарушая правила поднимаю старую тему, но вчера нашел на дружественном сайте
надстройку для VB6 для создания консольных приложений.
Может кому понадобится. Вопросы по консоли попадаются.
Распаковать три файла в папку: "C:\Program Files\Microsoft Visual Studio\VB98\Template\Projects\
Миниатюры
Вывод текста в консоль  
Вложения
Тип файла: zip template_1.0.0.zip (1.5 Кб, 29 просмотров)
2
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
09.12.2013, 10:24
И пример
Пример не цепляется: говорит уже есть на форуме.
В ветке NET вчера выкладывал
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
09.12.2013, 10:47
Alex77755, код, который Вы опубликовали (в ветви про функцию y=x) великолепен! Код компилируется без каких-либо дополнений и сразу же может быть запущен, как консольное приложение! Я думаю, что секрет - в циферке "3" у объекта FileSystemObject.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
10.12.2013, 03:10
Секрет в файле vbp.
Точнее в двух последних строках

Добавлено через 1 минуту
[VBCompiler]
LinkSwitches=-subsystem:console

Добавлено через 43 секунды
Установленный шаблон это делает сам

Добавлено через 27 секунд
Можно сделать вручную в блокноте

Добавлено через 16 часов 18 минут
Самое интересное, что, согласно заявлению автора, можно написать программу, которая в скомпилированном виде будет работать как консольное приложение, но её можно будет запускать и в редакторе.
Но вот разобраться в этом пока не могу.
Надо как-то "реализовать интерфейс". Но все поиски на эту тему ведут в NET.
Автор же говорит, что можно сделать и в VB. Но примера не даёт.
Упоминает только об Implements ITextStream.
Кто-нибудь сталкивался с таким? Есть примеры?
Цитата из статьи:
У этого решения есть один минус. Консольные приложения нельзя отлаживать. Вернее, отлаживать конечно можно, но попытка записать что-нибудь в stdout при работе под отладкой (или прочитать что-либо из stdin-а) приведё к ошибке (которую, тем не менее, можно обработать).

Если для вас отладка является критичной, я вижу два варианта решения этой проблемы:
Сделайте копию файла VB6.EXE и назовите её, скажем, VB6CON.EXE. Затем с помощью утилиты EDITBIN отредактируйте этот файл, изменив значение поля subsystem на console.
После чего для работы над своими консольными проектами используйте в качестве IDE именно VB6CON.EXE, а не простую VB6.EXE. В этом случае вместе со средой будет создаваться консольное окно, и ваши отлаживаемые консольные программы будут работать полноценно, так же, как вели бы себя в скомпилированном виде.
Утилита editbin входит в состав и Visual Studio 6, и Platform SDK, так что она должна у вас быть, разве что вы не один из тех странных людей, которые ставят только VB6, а не всю VS6. Но в любом случае можно отредактировать vb6con.exe любым другим редактором PE-файлов.

Совершенно другой вариант. Можно создать класс или форму CDbgConsoleEmulator, в которой написать Implements ITextStream и реализовать этот интерфейс. В модуле же EasyConsole с помощью описанной мною элегантной технологии определения того, под отладкой ли работает проект, нужно в при работе под отладкой вместо FSO-шных объектов подсовывать экземляр вашего класса CDbgConsoleEmulator (который может быть не просто классом, но и формой в том числе). Этот экземпляр будет сам обрабатывать вызовы Read/ReadLine/Write/WriteLine и что-то делать. Например, если это будет форма — полностью эмулировать интерфейс консоли.
Ни с одним, ни с другим вариантом пока не справился.
2
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
10.12.2013, 03:54  [ТС]
Пример внедрения интерфейса можно увидеть у Карла Питерсона: http://vb.mvps.org/samples/HookXP/
Здесь еще посмотрите: http://www.mvps.org/emorcillo/... ndex.shtml

На счет преобразования vb6.exe в консольную, возможно, будет достаточно этого инструмента: http://www.nirsoft.net/vb/appmodechange.html
По сути тоже самое, что показывал нам Catstail.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
11.12.2013, 20:30
Лучший ответ Сообщение было отмечено как решение

Решение

Давайте попробуем реализовать красивую идею "реализации интерфейса".

Создадим обычный проект VB, добавим в него форму (frmConsole; на ней разместим ListBox - это будет эмулятор консоли при работе под IDE), модуль кода modCon и добавим модуль класса myConsole (я добавлял его класс-билдером). Разумеется, все имена можно изменить.

Установим у проекта ссылку на библиотеку Scrrun.dll (там FSO и все такое...)

Теперь открывем в среде IDE модуль класса myConsole и пишем одну строчку кода:

Visual Basic
1
Implements TextStream
выбираем в списке (прямо над первой строкой слева!) слово TextStream. Далее в правом списке выбираем все элементы интерфейса (щелкая по каждому). У нас должна получиться вот такая заготовка класса:

Кликните здесь для просмотра всего текста
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
Implements TextStream
 
Private Property Get TextStream_AtEndOfLine() As Boolean
 
End Property
 
Private Property Get TextStream_AtEndOfStream() As Boolean
 
End Property
 
Private Sub TextStream_Close()
 
End Sub
 
Private Property Get TextStream_Column() As Long
 
End Property
 
Private Property Get TextStream_Line() As Long
 
End Property
 
Private Function TextStream_Read(ByVal Characters As Long) As String
 
End Function
 
Private Function TextStream_ReadAll() As String
 
End Function
 
Private Function TextStream_ReadLine() As String
 
End Function
 
Private Sub TextStream_Skip(ByVal Characters As Long)
 
End Sub
 
Private Sub TextStream_SkipLine()
 
End Sub
 
Private Sub TextStream_Write(ByVal Text As String)
 
End Sub
 
Private Sub TextStream_WriteBlankLines(ByVal Lines As Long)
 
End Sub
 
Private Sub TextStream_WriteLine(Optional ByVal Text As String = "")
 
End Sub


Выбрать нужно все элементы интерфейса TextStream (иначе код не запустится!). Далее, находим находим
Private Sub TextStream_WriteLine и пишем такой код:

Visual Basic
1
2
3
4
5
6
Private Sub TextStream_WriteLine(Optional ByVal Text As String = "")
        With frmConsole
             .List1.AddItem Text ' очередная строка выводится в ListBox
             DoEvents
        End With
End Sub
Это и есть реализация интерфейса. Все. Больше в классе делать нечего. Переходим в модуль и пишем там:

Кликните здесь для просмотра всего текста
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
Private Declare Function GetCurrentProcessId Lib "KERNEL32" () As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
 
Private sout      As TextStream  '::: Общий выходной поток
Private dbg       As myConsole   '::: Объект консоль (реализующая интерфейс TextStream)
Private myFSO   As Scripting.FileSystemObject
 
Sub main()
 
    '::: Один из способов проверки, откуда запущен код:
 
    Id& = GetCurrentProcessId()
 
    hmainVB& = FindWindow("IDEOwner", vbNullString)
 
    If hmainVB& <> 0 Then
        
       ret& = GetWindowThreadProcessId(hmainVB&, Id1&)
        
       If Id& = Id1& Then
           
          '::: Запуск под IDE
                
          Set dbg = New myConsole  '::: создаем "консоль" (самодельную!)
          
          Set sout = dbg  '::: Момент истины! Присвоение возможно, т.к. dbg реализует интерфейс TextStream 
                    
          frmConsole.Show '::: Покажем "консоль"
                    
       End If
                  
    Else
    
       '::: Запуск без IDE
    
       Set myFSO = New Scripting.FileSystemObject
    
       Set sout = myFSO.GetStandardStream(CLng(1)) '::: стандартный хэндл вывода
              
    End If
 
    '::: а дальше код. Он не знает (и не должен знать) куда реально идет печать:
        
    For i% = 1 To 10
        sout.WriteLine CStr(i%)
    Next i%
 
End Sub


Все сохраняем. Запускаем под IDE... и видим картинку 1
А теперь заходим редактором в файл console.vbp и добавляем в конец вот это:

[VBCompiler]
LinkSwitches=-subsystem:console

Транслируем. Получаем exe-файл. Запускаем его, и убеждаемся, что у нас получилось
полноценное консольное приложение (Картинка 2)

Остается сказать, что если нужно не только выводить, но и читать, то нужно в коде класса
реализовать соответствующие методы. Тут каждый заинтерсованный может проявить изобретательность...
Миниатюры
Вывод текста в консоль   Вывод текста в консоль  
Вложения
Тип файла: zip Console.zip (9.0 Кб, 24 просмотров)
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
11.12.2013, 21:28
Dragokas, Вы выше меня похвалили за знание структуры EXE-файла (флаг "консольности" приложения). Но я это тоже нашел в Сети... Так что, моя заслуга здесь минимальна. А вот то, что можно использовать FSO для доступа к стандартным хэндлам - до этого я сам "допёр". Году в 2005-2006-м.
0
0 / 0 / 0
Регистрация: 08.01.2017
Сообщений: 4
18.08.2017, 15:34
Спасибо. Никак не удавалось организовать контроль вычислений в переборной задаче. Процесс как бы шел, а индикатор в окне подвисал. Через консоль получилось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.08.2017, 15:34
Помогаю со студенческими работами здесь

Вывод текста на консоль
Доброго времени суток,подскажите пожалуйста ,как вывести на середину экрана произвольный текст ,например &quot;Привет,Мирон.&quot; ...

Вывод текста в консоль
Здравствуйте. Написал программу для сортировки строк двумерного массива (это не суть важно). В программа как бы делится на 2 части, до...

Вывод текста в консоль
Консольная программа, которая будет читать содержимое текстового файла. Для этого программа должна принимать путь к файлу в качестве...

Вывод текста с файла на консоль
Господа почему в данной программе &quot;Элемент &quot;st_fin&quot; не существует в текущем контексте. &quot;.Вроде как всеж правильно делаю :facepalm: ...

Вывод цветного текста в консоль
Добрый день, подскажите плииз. Пишу заготовку, позволяющую выводить &quot;универсальные&quot; цветные строки в консоль (или RichMemo). ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты 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