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

Тестирование полезных кодов и примеров

15.10.2012, 00:56. Показов 29762. Ответов 301
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если Ваш код из темы Готовые решения и полезные коды на Visual Basic 6.0

неправильно собран или неработоспособен, он будет перенесен сюда.

Для доведения кода в рабочее состояние в порядке обсуждения создайте новую тему
2
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2012, 00:56
Ответы с готовыми решениями:

Тестирование полезных скриптов
В этой теме нужно писать: - о багах в выложенных полезных скриптах (закрепленная тема); - ошибках в кодах, на которые ведут ссылки...

Программное тестирование кодов
Доброго! Часто возникает потребность протестить некоторую программку, обычно небольшую. Т.к. в большинстве случаев это надо сделать быстро,...

Cумма кодов четных символов равна сумме кодов нечетных
Даны два поля edit1 и edit2. и кнопка button1. Нужно чтобы при нажатии на кнопку, проверялось: сумма кодов четных символов была равна сумме...

301
0 / 0 / 0
Регистрация: 05.06.2020
Сообщений: 3
26.06.2020, 16:25
Студворк — интернет-сервис помощи студентам
Добавлено через 14 минут
The trick, спасибо, это не помогло, та же ошибка. А что означает множитель 123 (CheckSum * 123) ?
0
Модератор
10053 / 3898 / 884
Регистрация: 22.02.2013
Сообщений: 5,851
Записей в блоге: 79
26.06.2020, 16:38
Цитата Сообщение от LeonID2410 Посмотреть сообщение
The trick, спасибо, это не помогло, та же ошибка. А что означает множитель 123 (CheckSum * 123) ?
Откуда уверенность тогда что в этой строке ошибка?
0
0 / 0 / 0
Регистрация: 05.06.2020
Сообщений: 3
26.06.2020, 16:44
"Откуда уверенность тогда что в этой строке ошибка?"

Строки пронумерованы, обработчик ошибок показывает msgbox - Overflow именно там.
0
Модератор
10053 / 3898 / 884
Регистрация: 22.02.2013
Сообщений: 5,851
Записей в блоге: 79
26.06.2020, 17:06
LeonID2410, при использовании опций оптимизации о которых я написал данная ошибка не может произойти в этой строке.
0
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
21.02.2021, 13:45
Pro_grammer, благодарю. А то отттенки различаю, а названий их не знаю
1
 Аватар для Rh2Dark
32 / 32 / 0
Регистрация: 05.11.2020
Сообщений: 102
05.07.2021, 19:47
Цитата Сообщение от The trick Посмотреть сообщение
Внедрение DLL и подключение к ресурсам EXE.
А как к этому отнесется антивирус? Слышал я, что, например Касперский, анализирует поведение екзешника, и если тот часто лазает в чужие процессы, может и взбрыкнуть
0
Модератор
10053 / 3898 / 884
Регистрация: 22.02.2013
Сообщений: 5,851
Записей в блоге: 79
05.07.2021, 21:32
Rh2Dark, не знаю как отнесется конкретный антивирус. Если АВ блокирует то просто отправляйте им отчет (они безобидные ехешники от вб6 постоянно детектят как вирусы). Обычно такие задачи необходимы для дебага/исследования и в таких случаях можно просто добавить АВ в исключения.
0
 Аватар для Mikle Quits
772 / 289 / 17
Регистрация: 21.01.2023
Сообщений: 470
04.02.2023, 13:21
Цитата Сообщение от The trick Посмотреть сообщение
создавать, открывать, сохранять многоканальные WAVE-PCM файлы
Прямо студия!
Скачал. Пример Generate не видит класс CWaveFile.cls, пересобрал .vbp, заработало.
1
Модератор
10053 / 3898 / 884
Регистрация: 22.02.2013
Сообщений: 5,851
Записей в блоге: 79
04.02.2023, 13:47
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Прямо студия!
Скачал. Пример Generate не видит класс CWaveFile.cls, пересобрал .vbp, заработало.
Спасибо за тест. Исправил - обновил, также обновил константу частоты дискретизации.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
04.02.2023, 17:09  [ТС]
Mikle Quits, The trick, спасибо, очень полезные штукенции.

Цитата Сообщение от The trick Посмотреть сообщение
через этот способ вызова функций по указателю.
Ради информации, такой способ вызова называется делегат.
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.02.2023, 18:02  [ТС]
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Так же даёт более качественное распределение. Чтобы понять, о чём я пишу, попробуйте заполнить изображение 256*256 случайными цветами по формуле &HFFFFFF * RND, а потом &HFFFFFF * Rand.
А также можно использовать в качестве вектора инициализации, а Randomize нельзя, т.к. получим каждый раз другие рандомы.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.02.2023, 18:05  [ТС]
The trick, кстати, мои 2 сообщения снеси пожалуйста в эту тему, чтобы в полезных кодах не маячили.
0
 Аватар для Mikle Quits
772 / 289 / 17
Регистрация: 21.01.2023
Сообщений: 470
08.02.2023, 18:48
The trick
Решение "Простой секвенсор - драм-машина.": Готовые решения и полезные коды на Visual Basic 6.0
Скачал, при открытии проекта в Win7-64 жалуется на отсутствие comctl32.ocx, в System32 такой файл есть, при попытке его подключить в компонентах IDE зависает.
Загрузился в конфигурации WinXP, так же жалуется на отсутствие comctl32.ocx, но через меню этот компонент подключается. Однако при запуске не находит sldTempo.
SP6 установлен.
1
Модератор
10053 / 3898 / 884
Регистрация: 22.02.2013
Сообщений: 5,851
Записей в блоге: 79
08.02.2023, 18:53
Mikle Quits, попробуй этот проект. Открывается? Это из-за более новой версии comctl32.ocx. Если заработает - то я обновлю.
Вложения
Тип файла: zip Sequencer.zip (600.2 Кб, 12 просмотров)
1
 Аватар для Mikle Quits
772 / 289 / 17
Регистрация: 21.01.2023
Сообщений: 470
08.02.2023, 19:03
Да, этот вариант работает.
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
15.02.2023, 19:16  [ТС]
Готовые решения и полезные коды на Visual Basic 6.0

Цитата Сообщение от HackerVlad Посмотреть сообщение
Полезная программа ClipboardPath исправляющая неверную кодировку русского текста в буфере обмена
Цитата Сообщение от HackerVlad Посмотреть сообщение
Хоть программа и основана на работе таймера каждую секунду, она не сильно нагружает процессор, я проверял через программу Process Hacker. При больших объёмах информации внутри буфера нагрузка ЦП всего 0.1. При любом маленьком тексте в буфере так вообще никакой нагрузки на процессор.
Таймер - это не очень хорошо, воспользуйтесь хуком:

Модуль формы:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Form_Load()
    Call HookSet(Me.hwnd)
End Sub
 
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Call HookClear
End Sub
 
Public Sub Callback_ClipboardChange()
    CheckClipboard
End Sub
 
Public Sub CheckClipboard()
    Dim sClip As String
    sClip = GetClipboardW(me.hwnd)
    debug.? sClip
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
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
97
98
99
100
101
102
103
104
105
106
107
Option Explicit
 
Private Declare Function SetWindowSubclass Lib "comctl32" Alias "#410" (ByVal hwnd As Long, ByVal pfnSubclass As Long, ByVal uIdSubclass As Long, Optional ByVal dwRefData As Long) As Long
Private Declare Function GetWindowSubclass Lib "comctl32" Alias "#411" (ByVal hwnd As Long, ByVal pfnSubclass As Long, ByVal uIdSubclass As Long, pdwRefData As Long) As Long
Private Declare Function RemoveWindowSubclass Lib "comctl32" Alias "#412" (ByVal hwnd As Long, ByVal pfnSubclass As Long, ByVal uIdSubclass As Long) As Long
Private Declare Function DefSubclassProc Lib "comctl32" Alias "#413" (ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam 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 IsWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetClipboardViewer Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ChangeClipboardChain Lib "user32" (ByVal hwnd As Long, ByVal hWndNext As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageW" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function OpenClipboard Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function IsClipboardFormatAvailable Lib "user32.dll" (ByVal Format As Long) As Long
Private Declare Function GetClipboardData Lib "user32.dll" (ByVal wFormat As Long) As Long
Private Declare Function CloseClipboard Lib "user32.dll" () As Long
Private Declare Function GlobalAlloc Lib "kernel32.dll" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
Private Declare Function GlobalFree Lib "kernel32.dll" (ByVal hMem As Long) As Long
Private Declare Function GlobalLock Lib "kernel32.dll" (ByVal hMem As Long) As Long
Private Declare Function GlobalUnlock Lib "kernel32.dll" (ByVal hMem As Long) As Long
Private Declare Function GlobalSize Lib "kernel32.dll" (ByVal hMem As Long) As Long
Private Declare Function lstrcpyn Lib "kernel32.dll" Alias "lstrcpynW" (ByVal lpString1 As Long, ByVal lpString2 As Long, ByVal iMaxLength As Long) As Long
 
Private m_hWnd As Long
Private h_NextClipBoardViewer As Long
Private m_iSubclassed As Long
 
Private Const WM_DRAWCLIPBOARD As Long = &H308&
Private Const WM_CHANGECBCHAIN As Long = &H30D&
Private Const WM_CLIPBOARDUPDATE As Long = &H31D&
Private Const WM_DESTROYCLIPBOARD As Long = &H307&
Private Const WM_NCDESTROY As Long = &H82
Private Const WM_UAHDESTROYWINDOW As Long = &H90&
Private Const CF_UNICODETEXT    As Long = 13&
 
 
Public Sub HookSet(hWindow As Long)
    If m_iSubclassed = 0 Then
        m_hWnd = hWindow
        m_iSubclassed = SetWindowSubclass(m_hWnd, AddressOf WndProc, 0&)
        h_NextClipBoardViewer = SetClipboardViewer(m_hWnd)
    End If
End Sub
 
Public Sub HookClear()
    If m_iSubclassed Then
        RemoveWindowSubclass m_hWnd, AddressOf WndProc, 0&: m_iSubclassed = 0
        ChangeClipboardChain m_hWnd, h_NextClipBoardViewer
        m_hWnd = 0
    End If
End Sub
 
Private Function WndProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long, ByVal uIdSubclass As Long, ByVal dwRefData As Long) As Long
    
    Dim bProcessed As Boolean
    'Debug.Print "msg: " & uMsg
    
    Select Case uMsg
    
        Case WM_NCDESTROY, WM_UAHDESTROYWINDOW
            HookClear
            
        Case WM_DRAWCLIPBOARD
            SendMessage h_NextClipBoardViewer, uMsg, wParam, lParam
            Form1.Callback_ClipboardChange
            bProcessed = True
        
        Case WM_CLIPBOARDUPDATE
            SendMessage h_NextClipBoardViewer, uMsg, wParam, lParam
            Form1.Callback_ClipboardChange
            bProcessed = True
        
        Case WM_CHANGECBCHAIN
           If wParam = h_NextClipBoardViewer Then
                h_NextClipBoardViewer = lParam
           Else
               SendMessage h_NextClipBoardViewer, uMsg, wParam, lParam
           End If
           bProcessed = True
    End Select
    
    If Not bProcessed Then
        WndProc = DefSubclassProc(hwnd, uMsg, wParam, lParam)
    End If
End Function
 
Public Function GetClipboardW(hWindow As Long) As String
    Dim hMem As Long
    Dim Ptr  As Long
    Dim Size As Long
    Dim txt  As String
    If OpenClipboard(hWindow) Then
        If IsClipboardFormatAvailable(CF_UNICODETEXT) Then
            hMem = GetClipboardData(CF_UNICODETEXT)
            If hMem Then
                Size = GlobalSize(hMem)
                If Size Then
                    txt = Space$(Size \ 2 - 1)
                    Ptr = GlobalLock(hMem)
                    lstrcpyn ByVal StrPtr(txt), ByVal Ptr, Size
                    GlobalUnlock hMem
                    GetClipboardW = txt
                End If
            End If
        End If
        CloseClipboard
    End If
End Function
Также из предложений, неплохо бы вашу программу разместить как фоновое приложение в виде значка в области уведомлений.
Пример кода можете взять, например отсюда:
https://github.com/dragokas/hi... ysTray.frm
1
 Аватар для Mikle Quits
772 / 289 / 17
Регистрация: 21.01.2023
Сообщений: 470
15.02.2023, 19:26
Цитата Сообщение от HackerVlad Посмотреть сообщение
Полезная программа ClipboardPath исправляющая неверную кодировку русского текста в буфере обмена
Мне, чтобы копипастить VB6 код в браузер, приходилось открывать код блокнотом, и тогда ошибок не было. Я раньше и не знал, что это зависит от раскладки, проще переключить раскладку на "Рус", чем лезть в блокнот, но всё равно программа полезная.
1
sleep
 Аватар для I can
4934 / 4600 / 841
Регистрация: 13.04.2015
Сообщений: 9,773
15.02.2023, 19:27
Цитата Сообщение от HackerVlad Посмотреть сообщение
Не понимаю только почему люди раньше не написали эту программу
Может людей такая проблема не интересует? Например меня точно.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
15.02.2023, 19:55  [ТС]
Лично я раньше решал эту проблему, как и все люди-мародёры подменой порчей системных файлов .nls
1
sleep
 Аватар для I can
4934 / 4600 / 841
Регистрация: 13.04.2015
Сообщений: 9,773
15.02.2023, 20:04
Цитата Сообщение от Dragokas Посмотреть сообщение
проблему
А как понять, что такая проблема есть? Что я делаю не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.02.2023, 20:04
Помогаю со студенческими работами здесь

Парочка полезных видеоуроков по C++
323e1ffiYjw AEA7GmPli5Y OH7g2lfsYEU Может какой-нибудь следующий "учитель" посмотрит и передумает делать свои уроки :)

Удаленное тестирование приложение/Пересылка на тестирование
Если кто-то написал приложение под андроид и захочет показать другому человеку, то достаточно отослать apk. А как обстоит с этим дело в...

Unit -тестирование или автоматизированное тестирование
Доброго времени суток. Я программирую «для себя» второй год, на выходе получаются разного рода приложения от постоянно подающих с...

Не Большой Набор Полезных Функций
Функция проверки на наличие не запрещенных символов в поле, где ? - запрещенные символы Function Check_BadSymbols(sStr As String) As...

USBasp - пара возможно полезных плюшек.
Уважаемые коллеги! Возможно то, что я опишу - баян с бородищей. Готов принять справедливую критику. Но вдруг кому-то поможет. Держу...


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

Или воспользуйтесь поиском по форуму:
180
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru