Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

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

15.10.2012, 00:56. Показов 30358. Ответов 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
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 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
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 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
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
05.07.2021, 21:32
Rh2Dark, не знаю как отнесется конкретный антивирус. Если АВ блокирует то просто отправляйте им отчет (они безобидные ехешники от вб6 постоянно детектят как вирусы). Обычно такие задачи необходимы для дебага/исследования и в таких случаях можно просто добавить АВ в исключения.
0
 Аватар для Mikle Quits
779 / 296 / 17
Регистрация: 21.01.2023
Сообщений: 512
04.02.2023, 13:21
Цитата Сообщение от The trick Посмотреть сообщение
создавать, открывать, сохранять многоканальные WAVE-PCM файлы
Прямо студия!
Скачал. Пример Generate не видит класс CWaveFile.cls, пересобрал .vbp, заработало.
1
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 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
779 / 296 / 17
Регистрация: 21.01.2023
Сообщений: 512
08.02.2023, 18:48
The trick
Решение "Простой секвенсор - драм-машина.": Готовые решения и полезные коды на Visual Basic 6.0
Скачал, при открытии проекта в Win7-64 жалуется на отсутствие comctl32.ocx, в System32 такой файл есть, при попытке его подключить в компонентах IDE зависает.
Загрузился в конфигурации WinXP, так же жалуется на отсутствие comctl32.ocx, но через меню этот компонент подключается. Однако при запуске не находит sldTempo.
SP6 установлен.
1
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
08.02.2023, 18:53
Mikle Quits, попробуй этот проект. Открывается? Это из-за более новой версии comctl32.ocx. Если заработает - то я обновлю.
Вложения
Тип файла: zip Sequencer.zip (600.2 Кб, 12 просмотров)
1
 Аватар для Mikle Quits
779 / 296 / 17
Регистрация: 21.01.2023
Сообщений: 512
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
779 / 296 / 17
Регистрация: 21.01.2023
Сообщений: 512
15.02.2023, 19:26
Цитата Сообщение от HackerVlad Посмотреть сообщение
Полезная программа ClipboardPath исправляющая неверную кодировку русского текста в буфере обмена
Мне, чтобы копипастить VB6 код в браузер, приходилось открывать код блокнотом, и тогда ошибок не было. Я раньше и не знал, что это зависит от раскладки, проще переключить раскладку на "Рус", чем лезть в блокнот, но всё равно программа полезная.
1
dive
 Аватар для I can
4971 / 4668 / 847
Регистрация: 13.04.2015
Сообщений: 9,871
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
dive
 Аватар для I can
4971 / 4668 / 847
Регистрация: 13.04.2015
Сообщений: 9,871
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru