Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.00/1: Рейтинг темы: голосов - 1, средняя оценка - 4.00
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22

Twin Basic

27.10.2024, 20:05. Показов 28009. Ответов 330
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Несмотря на то, что проект Twin Basic по словам авторов в заключительной стадии "бета", скачал и попробовал.
Непривычный интерфейс.
Открыл проект, созданный в IDE Visual Basic 6.0, скомпилировал и 32 и 64 разрядные версии. По объёму результирующего кода получилось больше. Может быть нет оптимизации кода.
Кто-нибудь из форумчан может что-то сказать об этой IDE ?
3
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2024, 20:05
Ответы с готовыми решениями:

Где бесплатно скачать учебник по Visual Basic 6 и Visual Basic .Net ?
Где бесплатно скачать учебник по Visual Basic 6 и Visual Basic .Net

Вычисление значений функции двух переменных в Visual Basic - Visual Basic
Помогите пожалуйста! В среде VB написать программу вычисления значений функции двух переменных. Ориентировочный вид окна программы и...

Visual Basic 6 и Visual Basic .NET - в чем различия?
Visual Basic и Visual studio это не одно и тоже? если нет то в чём разница, по мимо оформления?

330
 Аватар для Mikle Quits
766 / 283 / 17
Регистрация: 21.01.2023
Сообщений: 436
28.10.2024, 08:25
Студворк — интернет-сервис помощи студентам
Скачал. При запуске пишет, что не найден WebView Control, предлагает скачать. Если отказаться - не запускается.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
28.10.2024, 09:18  [ТС]
Цитата Сообщение от Mikle Quits Посмотреть сообщение
что не найден WebView Control
У меня на Win10 запускается без проблем, зато не ставится SP6 для VB. Из-за чего и скачал TB.
Цитата Сообщение от locm Посмотреть сообщение
64-ех битную версию?
Скиньте сюда exe если определить не можете.
Во вложении 32 и 64 разрядные версии примеров.
Вложения
Тип файла: zip Prog.zip (1.04 Мб, 36 просмотров)
0
Эксперт по электронике
6573 / 3200 / 335
Регистрация: 28.10.2011
Сообщений: 12,478
Записей в блоге: 7
28.10.2024, 12:56
Цитата Сообщение от Argus19 Посмотреть сообщение
Во вложении 32 и 64 разрядные версии примеров.
Да 64 бита, но exe работают странно.
32 бит, запускается и просто грузит проц. Никаких окон нет.
64 бит, запускается, показывает заставку с Twin Basic и после грузит проц (окон нет).
Приходится завершать через диспетчер задач.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
28.10.2024, 13:16  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Никаких окон нет.
У меня всё работает.
Там кода толком нет. В 64-разрядной две кнопки, в 32-разрядной - одна.
Странно.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
28.10.2024, 16:12
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Скачал. При запуске пишет, что не найден WebView Control, предлагает скачать.
Ну ничего страшного, у меня так же было, я по быстрому скачал и всё.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
29.10.2024, 13:02  [ТС]
Попробовал проиграть звук из файла ресурсов. Ошибка в строке:
Visual Basic
1
SoundBuffer = StrConv(LoadResData(ResourceId, "CUSTOM"), vbUnicode)
"IDE internal error: Uncaught ReferenceError: e is not defined, 1, 629345, ReferenceError: e is not defined".
Редактора ресурсов в IDE не нашёл.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
29.10.2024, 17:22
Цитата Сообщение от Argus19 Посмотреть сообщение
StrConv(
Зачем эта хрень нужна? Не делай этого.

Добавлено через 1 минуту
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
' Проигрывание WAV-файла из ресурсов с помощью VB6 (не поддерживает числовые имена ресурсов)
Public Function LoadResWaveVB(id As String, Optional section As String = "WAVE") As Boolean
    Dim RetValue As Long
    
    WaveData() = LoadResData(id, section)
    RetValue = sndPlaySound(WaveData(0), SND_ASYNC Or SND_MEMORY)
    
    If RetValue <> 0 Then
        LoadResWaveVB = True
    End If
End Function
1
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
29.10.2024, 18:11  [ТС]
Цитата Сообщение от HackerVlad Посмотреть сообщение
Зачем эта хрень нужна?
Дело, по всей видимости не в хрени, а в LoadResData.
Спасибо за пример. Завтра опробую.
У меня так:
Visual Basic
1
BeginPlaySound (101), SND_SYNC
Visual Basic
1
2
3
4
5
6
7
8
Public Sub BeginPlaySound(ByVal ResourceId As Integer, Optional Flag As Long = SND_ASYNC)
    Dim SoundBuffer As String
    Dim Ret As Variant
        'The returned string is converted to Unicode
        SoundBuffer = StrConv(LoadResData(ResourceId, "CUSTOM"), vbUnicode)
    Ret = sndPlaySound(SoundBuffer, Flag Or SND_NODEFAULT Or SND_MEMORY)
    DoEvents
End Sub
Как вызывать вашу функцию?
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
29.10.2024, 18:43
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
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
Option Explicit
'//////////////////////////////////////////////////////////////
'// Модуль для проигрывания WAV-файла из ресурсов            //
'// Copyright (c) 25.07.2021, 30.11.2021 by Владислав Пешков //
'// e-mail: vladislavpeshkov@yandex.ru                       //
'// Версия 2.2                                               //
'//////////////////////////////////////////////////////////////
 
' Декларации API...
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function LoadLibraryEx Lib "kernel32" Alias "LoadLibraryExA" (ByVal lpLibFileName As String, ByVal hFile As Long, ByVal dwFlags As Long) As Long
Private Declare Function FindResource Lib "kernel32" Alias "FindResourceA" (ByVal hInstance As Long, ByVal lpName As String, ByVal lpType As String) As Long
Private Declare Function LoadResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function LockResource Lib "kernel32" (ByVal hResData As Long) As Long
Private Declare Function SizeofResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function FreeResource Lib "kernel32" (ByVal hResData As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
 
' Константы
Private Const SND_ASYNC = &H1
Private Const SND_MEMORY = &H4
Private Const RT_RCDATA = 10&
Private Const LOAD_LIBRARY_AS_DATAFILE = &H2
 
Dim WaveData() As Byte
 
Private Function wAppPath() As String
    If Right$(App.Path, 1) = "\" Then
        wAppPath = Mid(App.Path, 1, Len(App.Path) - 1)
    Else
        wAppPath = App.Path
    End If
End Function
 
' Проигрывание WAV-файла из ресурсов с помощью VB6 (не поддерживает числовые имена ресурсов)
Public Function LoadResWaveVB(id As String, Optional section As String = "WAVE") As Boolean
    Dim RetValue As Long
    
    WaveData() = LoadResData(id, section)
    RetValue = sndPlaySound(WaveData(0), SND_ASYNC Or SND_MEMORY)
    
    If RetValue <> 0 Then
        LoadResWaveVB = True
    End If
End Function
 
' Проигрывание WAV-файла из ресурсов с помощью API
Public Function LoadResWaveAPI(id As Variant, Optional section As String, Optional FileName As String) As Long
    Dim hModule As Long, hResource As Long, hGlobal As Long, arrSize As Long
    Dim lpData As Long
    
    If FileName = vbNullString Then
        FileName = wAppPath + "\" + App.EXEName + ".exe"
    End If
    
    hModule = GetModuleHandle(FileName)
    
    If hModule = 0 Then
        ' As datafile: 32bit can load a x64 PE file for resources, x64 bit can load 32bit also..
        hModule = LoadLibraryEx(FileName, 0&, LOAD_LIBRARY_AS_DATAFILE)
        
        If hModule = 0 Then
            Exit Function
        End If
    End If
    
    If section <> vbNullString Then
        hResource = FindResource(hModule, IIf(VarType(id) <> vbString, "#", vbNullString) & id, section)
    Else
        hResource = FindResource(hModule, IIf(VarType(id) <> vbString, "#", vbNullString) & id, "WAV")
        If hResource = 0 Then hResource = FindResource(hModule, IIf(VarType(id) <> vbString, "#", vbNullString) & id, "WAVE")
    End If
    
    If hResource > 0 Then
        hGlobal = LoadResource(hModule, hResource)
        lpData = LockResource(hGlobal)
        arrSize = SizeofResource(hModule, hResource)
        
        ReDim WaveData(arrSize - 1)
        CopyMemory WaveData(0), ByVal lpData, arrSize
        
        FreeResource hGlobal
        FreeLibrary hModule ' Освобождаем EXE-ресурс из памяти
        
        If sndPlaySound(WaveData(0), SND_ASYNC Or SND_MEMORY) > 0 Then
            LoadResWaveAPI = arrSize
        End If
    End If
End Function
 
' Освободить память
Public Sub ClearArrayWave()
    Erase WaveData
End Sub
2
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
29.10.2024, 19:04  [ТС]
Спасибо.
Как именно вы загружаете файл .wav в файл ресурсов, как присваиваете ему имя и как вызываете функцию проигрывания?
При загрузке кастом файла, ему присваивается номер, как правило, "101". Ему надо присвоить какое-то имя?
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
29.10.2024, 19:10
Цитата Сообщение от Argus19 Посмотреть сообщение
ему присваивается номер, как правило, "101". Ему надо присвоить какое-то имя?
Ну числовые имена как 101 не читает встроенная функция в vb6 (LoadResData) но может правда я чего-то не знаю и есть какой-то способ? на vb6? не знаю, у меня не получалось, поэтому я написал функцию на API чтобы даже числовые открывались. А у меня в VB6 только буквенные открывались ресурсы WAV.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
29.10.2024, 19:12
Если нужен более подробный код то вот у меня есть пример для работы с этим модулем. Писал сам пару лет назад. Интересно было просто.
Вложения
Тип файла: zip Проигрывание WAV-файла из ресурсов 2.2.zip (290.6 Кб, 10 просмотров)
1
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
29.10.2024, 19:20
Цитата Сообщение от Argus19 Посмотреть сообщение
BeginPlaySound (101), SND_SYNC
Вот этот код меня заинтересовал. Неужели у вас получалось открыть числовые имена?

Добавлено через 29 секунд
Можно поподробнее про этот код?

Добавлено через 3 минуты
У вас загрузка идёт в переменную String, а не в байтовый массив? Поэтому вы использовали StrConv? Но лучше же в байтовый массив, быстрее же по времени будет.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
30.10.2024, 05:44  [ТС]
Цитата Сообщение от HackerVlad Посмотреть сообщение
Можно поподробнее про этот код?
Он в посте №28. Только без декларации.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
30.10.2024, 06:12
Argus19, как вам удавалось открывать числовые имена я не могу понять, там у вас в коде 101

Добавлено через 1 минуту
Цитата Сообщение от Argus19 Посмотреть сообщение
BeginPlaySound (101), SND_SYNC
По идее этот код вообще не должен работать, так как VB6 не открвыает числовые имена ресурсов стандартными средствами. Поэтому я удивляюсь и повторяю своей вопрос. Как?
0
sleep
 Аватар для I can
4930 / 4589 / 840
Регистрация: 13.04.2015
Сообщений: 9,739
30.10.2024, 07:37
Цитата Сообщение от HackerVlad Посмотреть сообщение
VB6 не открвыает числовые имена ресурсов
А почитать справку не судьба?
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
30.10.2024, 11:57  [ТС]
Цитата Сообщение от HackerVlad Посмотреть сообщение
Поэтому я удивляюсь и повторяю своей вопрос. Как?
Так:
Вложения
Тип файла: zip Sound.zip (143.6 Кб, 5 просмотров)
1
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
30.10.2024, 15:45
I can, ты бы лучше пробовал на реальных примерах чем читать справку

Добавлено через 3 минуты
I can, но спасибо большое, может это я человек-косяк, хз, буду разбираться почему у меня не получалось открывать числовые имена а у человека получилось

Добавлено через 7 минут
Смотрите я прислал реальный пример в посте №32 с проектом, где числовые имена у меня не работают (что противоречит справке я это понимаю) но не работает и всё тут

Добавлено через 1 минуту
Но section у меня "WAVE" а не "CUSTOM"
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
30.10.2024, 15:48
У меня vb6 выдаёт ошибку 326 где нагло врёт что ресурс не найден хотя он есть, не знаю из-за чего это, но я вас не обманывал когда говорил что не работает у меня числовые, а буквенные работает
Миниатюры
Twin Basic  
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
30.10.2024, 15:51
Это очень интересно и у меня вызывает полный шок, а код Argus19 работает нормально с числовыми именами. Чудеса да и только.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2024, 15:51
Помогаю со студенческими работами здесь

Отличия версий Visual Basic 6.0 от Visual Basic 6.5?
У меня 3 вопроса: 1.Чем отличается версия Visual Basic 6.0 от Visual Basic 6.5? 2.Можно ли запустить проект созданный раннее в Visual...

что лучше MSI R6870 Twin Frozr II или MSI N570GTX Twin Frozr II/OC, 1.3Гб?
выбор между PCI-E 2.1 MSI R6870 Twin Frozr II, 1Гб, GDDR5, Ret и PCI-E 2.0 MSI N570GTX Twin Frozr II/OC, 1.3Гб, GDDR5, OC, Ret ...

не могу настроить twin frozr 3
подскажите!я в железе не очень!купил видюху twin frozr 3,говорят видушка достаточно мощная захотел протестить на игре кризис 2 на полных...

MSI N560GTX-Ti Twin Frozr II/OC
Столкнулся с такой проблемой, в игре начали появляться непонятные полосы, расплываться объекты (см. скриншоты), пока заметил такую проблему...

MSI GTX480 twin frozr
Всем привет, такая проблема- как обычно видеокарта не дает компу стартануть и бросает его в ребут по циклу, разобрал карту нашел скол на...


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

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