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

Twin Basic

27.10.2024, 20:05. Показов 34610. Ответов 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
1021 / 311 / 17
Регистрация: 21.01.2023
Сообщений: 546
28.10.2024, 08:25
Студворк — интернет-сервис помощи студентам
Скачал. При запуске пишет, что не найден WebView Control, предлагает скачать. Если отказаться - не запускается.
0
 Аватар для Argus19
1731 / 475 / 78
Регистрация: 24.09.2017
Сообщений: 2,567
Записей в блоге: 25
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
Эксперт по электронике
7174 / 3350 / 345
Регистрация: 28.10.2011
Сообщений: 13,199
Записей в блоге: 7
28.10.2024, 12:56
Цитата Сообщение от Argus19 Посмотреть сообщение
Во вложении 32 и 64 разрядные версии примеров.
Да 64 бита, но exe работают странно.
32 бит, запускается и просто грузит проц. Никаких окон нет.
64 бит, запускается, показывает заставку с Twin Basic и после грузит проц (окон нет).
Приходится завершать через диспетчер задач.
0
 Аватар для Argus19
1731 / 475 / 78
Регистрация: 24.09.2017
Сообщений: 2,567
Записей в блоге: 25
28.10.2024, 13:16  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Никаких окон нет.
У меня всё работает.
Там кода толком нет. В 64-разрядной две кнопки, в 32-разрядной - одна.
Странно.
0
Вернулся
 Аватар для HackerVlad
1754 / 650 / 45
Регистрация: 10.09.2021
Сообщений: 2,807
28.10.2024, 16:12
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Скачал. При запуске пишет, что не найден WebView Control, предлагает скачать.
Ну ничего страшного, у меня так же было, я по быстрому скачал и всё.
0
 Аватар для Argus19
1731 / 475 / 78
Регистрация: 24.09.2017
Сообщений: 2,567
Записей в блоге: 25
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
1754 / 650 / 45
Регистрация: 10.09.2021
Сообщений: 2,807
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
1731 / 475 / 78
Регистрация: 24.09.2017
Сообщений: 2,567
Записей в блоге: 25
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
1754 / 650 / 45
Регистрация: 10.09.2021
Сообщений: 2,807
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
1731 / 475 / 78
Регистрация: 24.09.2017
Сообщений: 2,567
Записей в блоге: 25
29.10.2024, 19:04  [ТС]
Спасибо.
Как именно вы загружаете файл .wav в файл ресурсов, как присваиваете ему имя и как вызываете функцию проигрывания?
При загрузке кастом файла, ему присваивается номер, как правило, "101". Ему надо присвоить какое-то имя?
0
Вернулся
 Аватар для HackerVlad
1754 / 650 / 45
Регистрация: 10.09.2021
Сообщений: 2,807
29.10.2024, 19:10
Цитата Сообщение от Argus19 Посмотреть сообщение
ему присваивается номер, как правило, "101". Ему надо присвоить какое-то имя?
Ну числовые имена как 101 не читает встроенная функция в vb6 (LoadResData) но может правда я чего-то не знаю и есть какой-то способ? на vb6? не знаю, у меня не получалось, поэтому я написал функцию на API чтобы даже числовые открывались. А у меня в VB6 только буквенные открывались ресурсы WAV.
0
Вернулся
 Аватар для HackerVlad
1754 / 650 / 45
Регистрация: 10.09.2021
Сообщений: 2,807
29.10.2024, 19:12
Если нужен более подробный код то вот у меня есть пример для работы с этим модулем. Писал сам пару лет назад. Интересно было просто.
Вложения
Тип файла: zip Проигрывание WAV-файла из ресурсов 2.2.zip (290.6 Кб, 10 просмотров)
1
Вернулся
 Аватар для HackerVlad
1754 / 650 / 45
Регистрация: 10.09.2021
Сообщений: 2,807
29.10.2024, 19:20
Цитата Сообщение от Argus19 Посмотреть сообщение
BeginPlaySound (101), SND_SYNC
Вот этот код меня заинтересовал. Неужели у вас получалось открыть числовые имена?

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

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

Добавлено через 1 минуту
Цитата Сообщение от Argus19 Посмотреть сообщение
BeginPlaySound (101), SND_SYNC
По идее этот код вообще не должен работать, так как VB6 не открвыает числовые имена ресурсов стандартными средствами. Поэтому я удивляюсь и повторяю своей вопрос. Как?
0
jump
 Аватар для I can
5006 / 4788 / 852
Регистрация: 13.04.2015
Сообщений: 10,035
30.10.2024, 07:37
Цитата Сообщение от HackerVlad Посмотреть сообщение
VB6 не открвыает числовые имена ресурсов
А почитать справку не судьба?
0
 Аватар для Argus19
1731 / 475 / 78
Регистрация: 24.09.2017
Сообщений: 2,567
Записей в блоге: 25
30.10.2024, 11:57  [ТС]
Цитата Сообщение от HackerVlad Посмотреть сообщение
Поэтому я удивляюсь и повторяю своей вопрос. Как?
Так:
Вложения
Тип файла: zip Sound.zip (143.6 Кб, 5 просмотров)
1
Вернулся
 Аватар для HackerVlad
1754 / 650 / 45
Регистрация: 10.09.2021
Сообщений: 2,807
30.10.2024, 15:45
I can, ты бы лучше пробовал на реальных примерах чем читать справку

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

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

Добавлено через 1 минуту
Но section у меня "WAVE" а не "CUSTOM"
0
Вернулся
 Аватар для HackerVlad
1754 / 650 / 45
Регистрация: 10.09.2021
Сообщений: 2,807
30.10.2024, 15:48
У меня vb6 выдаёт ошибку 326 где нагло врёт что ресурс не найден хотя он есть, не знаю из-за чего это, но я вас не обманывал когда говорил что не работает у меня числовые, а буквенные работает
Миниатюры
Twin Basic  
0
Вернулся
 Аватар для HackerVlad
1754 / 650 / 45
Регистрация: 10.09.2021
Сообщений: 2,807
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
Ответ Создать тему
Новые блоги и статьи
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru