|
787 / 308 / 17
Регистрация: 21.01.2023
Сообщений: 531
|
|
| 02.11.2024, 10:43 | |
|
Физика игры - 2D платформера.
Я максимально упростил физику 2D платформера с инерцией, прыжками и аэроконтролом. Можно применять в качестве основы для простой игры. Все основные параметры вынесены в константы и могут регулироваться на свой вкус. На графику не смотрите - это просто для примера.
3
|
|
| 02.11.2024, 10:43 | |
|
Ответы с готовыми решениями:
360
Коды на Visual Basic Вывод решения вместо Immediate в textbox (visual basic 6.0) |
|
Вернулся
1751 / 647 / 45
Регистрация: 10.09.2021
Сообщений: 2,800
|
|||||||||||
| 05.11.2024, 20:48 | |||||||||||
|
Модуль для упаковки и распаковки буфера с помощью технологии Delta Compression
Написал новый модуль для упаковки и распаковки буфера с помощью технологии Delta Compression. Сжимает очень хорошо, лучше даже чем CAB, однако медленно упаковывает большие файлы, но зато распаковывает довольно быстро. Это очень хороший алгоритм, в интернете такого кода ещё нигде не было для VB6. Огромная благодарность testuser2. Работает даже в старом Windows XP. Плюс бонусом к этому проекту ещё идут и другие модули для упаковки и распаковки данных. Думаю вам всем будет интересно посмотреть! Сам модуль:
4
|
|||||||||||
|
Вернулся
1751 / 647 / 45
Регистрация: 10.09.2021
Сообщений: 2,800
|
|||||||||||
| 11.11.2024, 01:49 | |||||||||||
|
Модуль для чтения CAB-архивов
Написал сегодня наконец-то модуль для чтения CAB-архивов. С помощью этого модуля можно прочитать список файлов, внутри CAB-архивов и какой файл занимает сколько байт. Дату и время файлов я не добавил, так как мне это было не надо, но это очень легко сделать самому, немного переделав модуль и пользовательский UDT-массив, для получения данных списка файлов. Это очень простая реализация, я стремился сделать как можно меньше строк кода, чтобы было. На самом же деле распаковка CAB-архива вообще производится всего лишь одной строкой кода. Для этого надо обращаться к недокументированной, но очень полезной, функции ExtractFiles из библиотеки advpack.dll, которая есть во всех Windows. Форма:
Модуль:
3
|
|||||||||||
|
Вернулся
1751 / 647 / 45
Регистрация: 10.09.2021
Сообщений: 2,800
|
||||||
| 21.11.2024, 20:56 | ||||||
|
Модуль упаковки CAB-архивов
Представляю вашему вниманию новый модуль для упаковки CAB-архивов! Это просто сумасшедший код! Такого кода в Интернете раньше небыло нигде и никогда! 20 лет никто не мог написать этот модуль, а я взял и написал за две недельки. Visual Basic может многое на самом деле! Можно написать всё что угодно и меня всегда огорчает что в Интернете всего есть только коды на C++, а на VB6 потчи ничего нет толком нормального такого серьёзного. Вот пожалуйста, серьёзный код на VB6. Проверил, полностью работает так же и на TwinBasic. Для того чтобы модуль работал в VB6 придётся подключать надстройку от The Trick под названием CDeclFix. В ТвинБейсике вообще ничего не надо. И так всё работает. Упаковывать этим модулем можно как один файл так и сразу много файлов (сколько хотите) хоть целую папку можно упаковать при желании. Однако следует понимать, что формат CAB сам по себе имеет некоторые ограничения, это нельзя упаковывать имена файлов в юникоде, и нельзя создавать пустые папки внутри CAB. В модуле есть возможность упаковывать как один файл, передавая функции параметр String, так и целый список файлов передавая функции сразу массив строк. Пользуйтесь на здоровье! Достаточно будет написать всего одну строчку кода для упаковки, вызывая функцию CabinetAddFiles. Форма:
3
|
||||||
|
Вернулся
1751 / 647 / 45
Регистрация: 10.09.2021
Сообщений: 2,800
|
|
| 23.11.2024, 10:52 | |
|
Модуль упаковки CAB-архивов, версия 1.3
Новая версия модуля для упаковки CAB-архивов на VB6 и TwinBasic. Исправил ошибки в модуле, теперь архивы CAB будут читаться всеми архиваторами без ошибок, даже самой старой версией Total Commander.
3
|
|
|
Вернулся
1751 / 647 / 45
Регистрация: 10.09.2021
Сообщений: 2,800
|
||||||
| 04.12.2024, 23:50 | ||||||
|
Утилита StepCopyer для копирования каждого второго файла из папки в папку
Написал утилиту для копирования файлов из папки в папку. Можно копировать все файлы по списку, а можно копировать каждый второй файл или каждый третий файл в папке, что очень удобно для переноса фотографий часто бывает, когда нужно скинуть например в телефон лишь половину фоток из огромной папки. Я давно уже задавался вопросом а как копировать файлы, через один файл, через два файла, из папки в папку. И я давно уже решил для себя написать эту очень удобную утилиту, выкладываю её, может кому-то пригодится. Такой возможности, в Total Commander к сожалению не было, поэтому я написал автору программы Кристиану Гислеру и попросил его добавить такую возможность в известный файловый менеджер. И сегодня Кристиан Гислер по моей просьбе кстати уже выпустил новую версию программы Total Commander с возможностью выделения файлов через один файл, через два файла, через три файла... Только благодаря мне он наконец-то и добавил такую возможность выделять каждый второй файл в папке. Прямо сегодня вышло обновление. Но так как программу свою я уже давно написал, я решил ей всё же поделиться, будет очень полезно для тех кто не пользуется самой новой версией Total Commander (сегодняшней от 4 декабря 2024), но тем ни менее хочет копировать файлы из папки в папку через один файл. Каждый второй, каждый третий файл... Поэтому такая мини-утилитка для вас. Так же написал ещё и на ТвинБейсике, однако там почему-то нет кнопки сворачивания формы, что меня удивило... Но тем ни менее я сделал ещё и дубликат проекта на Twin'е потому что там в текстовых полях можно вводить юникодные иероглифы, хотя и на VB6 работает копирование юникодных имён файлов, но нет нормального отображения в текстовых полях. Поэтому прилагается сразу две версии: для vb6 и для Twin Basic конечно же. Теперь вы будете знать как скопировать каждый второй или каждый третий файл из папки в папку, из огромной кучи файлов. Программа Step Copyer v. 1.0 by HackerVlad:
3
|
||||||
| 14.12.2024, 10:31 | ||||||
|
Функция логического сравнения строк. Логическое сравнение нужно тогда, когда нужно числа внутри строк сравнивать отдельно от строк, например нужно отсортировать пути файлов и папок, содержащие числа.
3
|
||||||
|
Вернулся
1751 / 647 / 45
Регистрация: 10.09.2021
Сообщений: 2,800
|
||||||
| 19.12.2024, 21:55 | ||||||
|
Модуль для корректного получения полных путей всех процессов во всех версиях Windows
Итак, я решил написать свой модуль, о котором я так давно мечтал, с функциями, для получения полных путей для всех процессов в системе, даже в учётной записи Гость и даже без особых прав пользователя, без привилегий в системе, даже для всех системных процессов. Это уже окончательная версия моего творчества со всеми исправленными ошибками. Работает быстро. Встроил так же технологию кеширования дисков в системе, для убыстрения чтения, но это опционально. Функция GetProcessFullPathUniversal - универсальная функция, лучшего всего пользоваться именно ей, для всех версий Windows. Гарантированно точно, правильно определит путь к процессу, даже если папка с программой была переименована и процесс снова был перезапущен из переименнованой папки! Функция GetProcessFullPathCorrect - функция которая корректно определяет путь к процессу, используется двухступенчатая технология чтения, для 32-битных процессов это функция из psapi.dll, а для 64-битных процессов это чтение структуры PEB с последующем разбором командной строки, специальной API-функцией, для извлечения пути к EXE-процессу. Функция GetProcessFullPathNt - я написал эту функцию сам, основываясь на трудах fafalone, используется для чтения функция NtQuerySystemInformation с классом SystemProcessIdInformation для получения пути к любым процессам, даже всем системным процессам, без прав администратора. Но эта функция может врать, для обычных процессов, не системных, до Windows 10. Поэтому ей пользоваться постоянно не желательно. Лучше всего использовать именно функцию GetProcessFullPathUniversal так как именно она, сначала определит версию Windows и в случае если, Windows будет до Windows 10, то тогда будет вызвана сначала функция GetProcessFullPathCorrect и в случае если, эта функция не определит путь к процессу (так как процесс системный), то тогда будет вызвана уже функция GetProcessFullPathNt. P. S. Предыдущими моими версиями не пользуйтесь, так как они с ошибками. На этом я закончил и больше тут ничего выкладывать не буду уже, итак всё работает идеально теперь уже точно ![]() Модуль:
2
|
||||||
|
|
|
| 27.02.2025, 11:28 | |
|
Как написать библиотеку на С++ для программ, написанных на VB 6.0
Иногда, при написании кода, нужно многократно использовать функции и подпрограммы. Если объём кода становится слишком большим, «рябит в глазах». На мой взгляд, лучше использовать свои библиотеки, особенно, если приходится писать разные программы с одними и теми же функциями. Практически, большинство библиотечных функции можно написать и на самом VB 6.0. Это описано в учебниках и я рассматривать это не буду. При написании собственной библиотеки следует учитывать типы переменных, которые в С++ и VB 6.0 отличаются как по названию, так и по вместимости байт. За исходный материал я взял статью «Building a Visual C++ Dll for use in Visual Basic», в которой автор описывает проблемы, с которыми он столкнулся при написании библиотеки и как он их решил, добавил статью "Calling a C++ DLL from Visual Basic" и дополнил очень простым примером своей библиотеки, в котором описал, как передать в функцию аргумент по значению, по ссылке и как передать в функцию массив. Во вложении статья и все необходимые исходники. https://www.cyberforum.ru/blogs/1083385/9838.html
2
|
|
|
|
|
| 16.04.2025, 09:11 | |
|
QR-code генератор.
Стырил на иностранном форуме. Очень даже может пригодиться. Я написал автору по поводу обратного преобразования. Он ответил, что сам стырил модуль и модуля для преобразования QR-кода в текст там не было.
0
|
|
|
|
|
| 23.09.2025, 16:24 | |
|
Библиотека ModbusRTU
Библиотека написана на языке С++ и предназначена для работы с программами, написанными на языке VB 6.0. Работоспособность библиотеки проверена на Windows7 и Windows10. В состав библиотеки входят функции: ModRTU_CRC – Подсчёт контрольной суммы CRC16. openPort – Открытие COM-порта. closePort – Закрытие COM-порта. WritePort – Запись в COM-порт байтового массива. ReadPort – Чтение из COM-порта в байтовый массив. ieee754 – Преобразование 4х байт из массива во float при передаче старшим байтом вперёд. ieee754inv - Преобразование 4х байт из массива во float при передаче младшим байтом вперёд. Например, так сделано у прибора ПВТ110RS производства «ОВЕН» float32ToBuffer – Преобразование числа Single в 4 байта с записью их в массив. Примеры использования: float32ToBuffer – В папке «Проверка IEE754». Вводим число с плавающей запятой в текстовое поле и нажимаем кнопку «Start». Ниже появятся байты, в которые преобразуется введённое число с помощью функции float32ToBuffer. И число, преобразованное из байт с помощью функции ieee754. В папке «ТРМ138» находится исходный код программы, опрашивающей по таймеру, через каждые 10 минут поочерёдно 8 каналов прибора «ТРМ138» производства «ОВЕН». В обеих программах показаны декларации функций библиотеки и их вызов, а так же реакция на результат работы функций. https://www.cyberforum.ru/blogs/1083385/10591.html
3
|
|
|
|
|
| 30.10.2025, 08:54 | |
|
Для счастливых обладателей 32-битных Widows XP и Widows 7 написал две программы:
https://www.cyberforum.ru/blogs/1083385/10656.html Одна написана на С++ и просто перекодирует и сохраняет выбранное изображение в формате .bmp, вторая написана на VB 6.0 делает превью выбранного изображения .webp, перекодирует и сохраняет выбранное изображение в форматах .bmp, .gif, .jpeg и .png с потерей прозрачности.
3
|
|
|
|
|
| 22.11.2025, 19:16 | |
|
Поиск "дружественных имён" СОМ портов
На странице: https://norseev.ru/2018/01/04/comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа, СОМ1, СОМ2 и т.п. Написал автору. Автор страницы ответил, что никогда этим не задавался и дал ссылку: https://stackoverflow.com/ques... ndows?rq=3 Честно говоря, оказалось слишком сложно. Но получилось. Затем захотелось получить тоже самое, но уже на VB 6.0. Получение имён СОМ портов с помощью WMI уже было, поэтому попробовал получить имена СОМ портов из реестра. Так не получилось. Не хочет 32-битное приложение работать с 64-битным реестром. Показывает только один СОМ1. Для чего он определяется в Windows10, я так и не понял. Пришлось работать с функциями Win API. Результат: === COM Ports List === Port 1: Name: COM4 Friendly Name: USB-SERIAL CH340 (COM4) Description: USB-SERIAL CH340 Port 2: Name: COM1 Friendly Name: Последовательный порт (COM1) Description: Последовательный порт Total found: 2 ports https://www.cyberforum.ru/blogs/1083385/10679.html
3
|
|
|
186 / 37 / 3
Регистрация: 28.05.2015
Сообщений: 149
|
|
| 20.12.2025, 16:50 | |
|
Написал для себя небольшое решение по сохранению паролей. Никаких файлов, кроме самой программы не создаётся.
Алгоритм несложный. При первом запуске программа запрашивает пароль(можно сказать суперпароль) для её запуска и имя текущего пользователя Windows. После этого закрывается и сохраняет все данные. Далее заново запускаем и открываем таблицу, занося туда данные. Эти данные можно экспортировать в CSV-файл, а также импортировать из такого же файла(также реализован парсинг файла после Drag&Drop в таблицу) или же сохранять в программе. Данные считаю надёжно защищёнными. То есть здесь не поможет дизассеблирование. Сама защита устроена следующим образом. При первом запуске программа считывает серийный номер диска, с которого запущена программа и имя текущего пользователя. Привязывается к ним. Эти данные заносятся в специальную строку внутри программы. На последующих запусках программа считывает номер диска и берёт из него хеш SHA-256. Затем из хеша берёт первые 56 символов, которые являются ключом и этим ключом расшифровывается строка Converted, которая берётся из самого EXE-файла программы (из ресурсов). Расшифровка происходит алгоритмом Blowfish (в режиме ECB с набивкой (padding)). Смысл хеша - серийник может содержать разные символы и чтобы не было багов, было решено захешировать - там все символы предсказуемы (HEX). Суть в том, что расшифровка происходит с любым ключом, но только правильный ключ расшифрует строку правильно и она будет читаема. Если она не читаема, то программа не будет работать. То есть если вы запустили программу с другого компьютера - она не откроется. Кстати, я думаю, что отладчиком можно открыть программу, если забыл суперпароль, НО только если открыл на правильном компьютере. На неправильном - даже через отладчик получите только "крякозябры". После заполнения таблицы и её закрытии идёт всё в обратно порядке: считывается серийник, хешируется, 56-и символьным ключом шифруется и записывается в EXE-файл самой программы. Всё основано на криптостойкости алгоритма Blowfish Брюса Шнайера. В программе использован модуль самосохранения в EXE, считывание серийного номера от пользователя The trick и модули, реализовывающие сам алгоритм Blowfish, скаченные с иностранного ресурса, но верифицированные сообществом. Диалоговые окна взял из COMDLG32.DLL, а не COMDLG32.OCX, чтобы не было лишних файлов. А MsgBox-ы самописные.
4
|
|
|
|
|
| 18.03.2026, 10:37 | |
|
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки серого; Модуль класса записи изображения в форматах JPG с изменяемым качеством, PNG и GIF. Написал программу, иллюстрирующую работу этих модулей: https://www.cyberforum.ru/blogs/1083385/10814.html
2
|
|
|
Вернулся
1751 / 647 / 45
Регистрация: 10.09.2021
Сообщений: 2,800
|
|||||||||||
| 30.04.2026, 13:11 | |||||||||||
|
ClipboardPath версия 3.0
Написал давно, просто забыл выложить новую версию. По сравнению с версией 2.0 наверное это просто исправление некоторых ошибок и всё, но я точно не помню уже. Код формы...
Код модуля...
5
|
|||||||||||
|
|
|
| 01.05.2026, 17:46 | |
|
Асинхронный приём данных из COM-порта
https://www.cyberforum.ru/blogs/1083385/10884.html
4
|
|
| 01.05.2026, 17:46 | |
|
Готовые решения и полезные коды на Visual Basic .NET (Часть-1) Готовые коды для решения лабораторных работ Написать программу решения квадратного уравнения. В Office Visual Basic
Полезные коды для PascalABC.NET Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|