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

Twin Basic

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

Студворк — интернет-сервис помощи студентам
Несмотря на то, что проект 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 и Visual studio это не одно и тоже? если нет то в чём разница, по мимо оформления?

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

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

335
 Аватар для Mikle Quits
1024 / 313 / 18
Регистрация: 21.01.2023
Сообщений: 552
28.10.2024, 08:25
Студворк — интернет-сервис помощи студентам
Скачал. При запуске пишет, что не найден WebView Control, предлагает скачать. Если отказаться - не запускается.
0
 Аватар для Argus19
1732 / 476 / 78
Регистрация: 24.09.2017
Сообщений: 2,573
Записей в блоге: 27
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
Эксперт по электронике
7239 / 3417 / 348
Регистрация: 28.10.2011
Сообщений: 13,462
Записей в блоге: 7
28.10.2024, 12:56
Цитата Сообщение от Argus19 Посмотреть сообщение
Во вложении 32 и 64 разрядные версии примеров.
Да 64 бита, но exe работают странно.
32 бит, запускается и просто грузит проц. Никаких окон нет.
64 бит, запускается, показывает заставку с Twin Basic и после грузит проц (окон нет).
Приходится завершать через диспетчер задач.
0
 Аватар для Argus19
1732 / 476 / 78
Регистрация: 24.09.2017
Сообщений: 2,573
Записей в блоге: 27
28.10.2024, 13:16  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Никаких окон нет.
У меня всё работает.
Там кода толком нет. В 64-разрядной две кнопки, в 32-разрядной - одна.
Странно.
0
Вернулся
 Аватар для HackerVlad
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
28.10.2024, 16:12
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Скачал. При запуске пишет, что не найден WebView Control, предлагает скачать.
Ну ничего страшного, у меня так же было, я по быстрому скачал и всё.
0
 Аватар для Argus19
1732 / 476 / 78
Регистрация: 24.09.2017
Сообщений: 2,573
Записей в блоге: 27
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
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
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
1732 / 476 / 78
Регистрация: 24.09.2017
Сообщений: 2,573
Записей в блоге: 27
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
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
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
1732 / 476 / 78
Регистрация: 24.09.2017
Сообщений: 2,573
Записей в блоге: 27
29.10.2024, 19:04  [ТС]
Спасибо.
Как именно вы загружаете файл .wav в файл ресурсов, как присваиваете ему имя и как вызываете функцию проигрывания?
При загрузке кастом файла, ему присваивается номер, как правило, "101". Ему надо присвоить какое-то имя?
0
Вернулся
 Аватар для HackerVlad
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
29.10.2024, 19:10
Цитата Сообщение от Argus19 Посмотреть сообщение
ему присваивается номер, как правило, "101". Ему надо присвоить какое-то имя?
Ну числовые имена как 101 не читает встроенная функция в vb6 (LoadResData) но может правда я чего-то не знаю и есть какой-то способ? на vb6? не знаю, у меня не получалось, поэтому я написал функцию на API чтобы даже числовые открывались. А у меня в VB6 только буквенные открывались ресурсы WAV.
0
Вернулся
 Аватар для HackerVlad
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
29.10.2024, 19:12
Если нужен более подробный код то вот у меня есть пример для работы с этим модулем. Писал сам пару лет назад. Интересно было просто.
Вложения
Тип файла: zip Проигрывание WAV-файла из ресурсов 2.2.zip (290.6 Кб, 10 просмотров)
1
Вернулся
 Аватар для HackerVlad
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
29.10.2024, 19:20
Цитата Сообщение от Argus19 Посмотреть сообщение
BeginPlaySound (101), SND_SYNC
Вот этот код меня заинтересовал. Неужели у вас получалось открыть числовые имена?

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

Добавлено через 3 минуты
У вас загрузка идёт в переменную String, а не в байтовый массив? Поэтому вы использовали StrConv? Но лучше же в байтовый массив, быстрее же по времени будет.
0
 Аватар для Argus19
1732 / 476 / 78
Регистрация: 24.09.2017
Сообщений: 2,573
Записей в блоге: 27
30.10.2024, 05:44  [ТС]
Цитата Сообщение от HackerVlad Посмотреть сообщение
Можно поподробнее про этот код?
Он в посте №28. Только без декларации.
0
Вернулся
 Аватар для HackerVlad
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
30.10.2024, 06:12
Argus19, как вам удавалось открывать числовые имена я не могу понять, там у вас в коде 101

Добавлено через 1 минуту
Цитата Сообщение от Argus19 Посмотреть сообщение
BeginPlaySound (101), SND_SYNC
По идее этот код вообще не должен работать, так как VB6 не открвыает числовые имена ресурсов стандартными средствами. Поэтому я удивляюсь и повторяю своей вопрос. Как?
0
bite
 Аватар для I can
5011 / 4841 / 852
Регистрация: 13.04.2015
Сообщений: 10,121
30.10.2024, 07:37
Цитата Сообщение от HackerVlad Посмотреть сообщение
VB6 не открвыает числовые имена ресурсов
А почитать справку не судьба?
0
 Аватар для Argus19
1732 / 476 / 78
Регистрация: 24.09.2017
Сообщений: 2,573
Записей в блоге: 27
30.10.2024, 11:57  [ТС]
Цитата Сообщение от HackerVlad Посмотреть сообщение
Поэтому я удивляюсь и повторяю своей вопрос. Как?
Так:
Вложения
Тип файла: zip Sound.zip (143.6 Кб, 5 просмотров)
1
Вернулся
 Аватар для HackerVlad
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
30.10.2024, 15:45
I can, ты бы лучше пробовал на реальных примерах чем читать справку

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

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

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

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

Скачать Visual Basic 6.0
Киньте ссылочку,плз,откуда можна скачать сабж!

[Visual Basic]операторы циклов, помогите с прогой:)
Нада в VB сбацать прогу, используя операторы циклов: Дана произвольной длины последовательность...

Помогите написать программу на Visual Basic!
Люди, срочно нужна ваша помощь!!! Никак не могу написать программу на Visual Basic, по причине...

Диалекты Basic
Пожалуйста, подскажите, какие бывают диалекты Basic'а, какие их основные особенности и с какого из...


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

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