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

Twin Basic

27.10.2024, 20:05. Показов 30240. Ответов 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
782 / 301 / 17
Регистрация: 21.01.2023
Сообщений: 525
28.10.2024, 08:25
Студворк — интернет-сервис помощи студентам
Скачал. При запуске пишет, что не найден WebView Control, предлагает скачать. Если отказаться - не запускается.
0
 Аватар для Argus19
1445 / 462 / 78
Регистрация: 24.09.2017
Сообщений: 2,542
Записей в блоге: 24
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
Эксперт по электронике
6992 / 3308 / 341
Регистрация: 28.10.2011
Сообщений: 12,987
Записей в блоге: 7
28.10.2024, 12:56
Цитата Сообщение от Argus19 Посмотреть сообщение
Во вложении 32 и 64 разрядные версии примеров.
Да 64 бита, но exe работают странно.
32 бит, запускается и просто грузит проц. Никаких окон нет.
64 бит, запускается, показывает заставку с Twin Basic и после грузит проц (окон нет).
Приходится завершать через диспетчер задач.
0
 Аватар для Argus19
1445 / 462 / 78
Регистрация: 24.09.2017
Сообщений: 2,542
Записей в блоге: 24
28.10.2024, 13:16  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Никаких окон нет.
У меня всё работает.
Там кода толком нет. В 64-разрядной две кнопки, в 32-разрядной - одна.
Странно.
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
28.10.2024, 16:12
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Скачал. При запуске пишет, что не найден WebView Control, предлагает скачать.
Ну ничего страшного, у меня так же было, я по быстрому скачал и всё.
0
 Аватар для Argus19
1445 / 462 / 78
Регистрация: 24.09.2017
Сообщений: 2,542
Записей в блоге: 24
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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
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
1445 / 462 / 78
Регистрация: 24.09.2017
Сообщений: 2,542
Записей в блоге: 24
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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
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
1445 / 462 / 78
Регистрация: 24.09.2017
Сообщений: 2,542
Записей в блоге: 24
29.10.2024, 19:04  [ТС]
Спасибо.
Как именно вы загружаете файл .wav в файл ресурсов, как присваиваете ему имя и как вызываете функцию проигрывания?
При загрузке кастом файла, ему присваивается номер, как правило, "101". Ему надо присвоить какое-то имя?
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
29.10.2024, 19:10
Цитата Сообщение от Argus19 Посмотреть сообщение
ему присваивается номер, как правило, "101". Ему надо присвоить какое-то имя?
Ну числовые имена как 101 не читает встроенная функция в vb6 (LoadResData) но может правда я чего-то не знаю и есть какой-то способ? на vb6? не знаю, у меня не получалось, поэтому я написал функцию на API чтобы даже числовые открывались. А у меня в VB6 только буквенные открывались ресурсы WAV.
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
29.10.2024, 19:12
Если нужен более подробный код то вот у меня есть пример для работы с этим модулем. Писал сам пару лет назад. Интересно было просто.
Вложения
Тип файла: zip Проигрывание WAV-файла из ресурсов 2.2.zip (290.6 Кб, 10 просмотров)
1
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
29.10.2024, 19:20
Цитата Сообщение от Argus19 Посмотреть сообщение
BeginPlaySound (101), SND_SYNC
Вот этот код меня заинтересовал. Неужели у вас получалось открыть числовые имена?

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

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

Добавлено через 1 минуту
Цитата Сообщение от Argus19 Посмотреть сообщение
BeginPlaySound (101), SND_SYNC
По идее этот код вообще не должен работать, так как VB6 не открвыает числовые имена ресурсов стандартными средствами. Поэтому я удивляюсь и повторяю своей вопрос. Как?
0
dive
 Аватар для I can
4987 / 4712 / 848
Регистрация: 13.04.2015
Сообщений: 9,938
30.10.2024, 07:37
Цитата Сообщение от HackerVlad Посмотреть сообщение
VB6 не открвыает числовые имена ресурсов
А почитать справку не судьба?
0
 Аватар для Argus19
1445 / 462 / 78
Регистрация: 24.09.2017
Сообщений: 2,542
Записей в блоге: 24
30.10.2024, 11:57  [ТС]
Цитата Сообщение от HackerVlad Посмотреть сообщение
Поэтому я удивляюсь и повторяю своей вопрос. Как?
Так:
Вложения
Тип файла: zip Sound.zip (143.6 Кб, 5 просмотров)
1
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
30.10.2024, 15:45
I can, ты бы лучше пробовал на реальных примерах чем читать справку

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

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

Добавлено через 1 минуту
Но section у меня "WAVE" а не "CUSTOM"
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
30.10.2024, 15:48
У меня vb6 выдаёт ошибку 326 где нагло врёт что ресурс не найден хотя он есть, не знаю из-за чего это, но я вас не обманывал когда говорил что не работает у меня числовые, а буквенные работает
Миниатюры
Twin Basic  
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
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
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru