|
Почетный модератор
23253 / 9167 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|||||||
Готовые решения и полезные коды на Visual Basic .NET (Часть-1)18.08.2011, 22:44. Показов 589653. Ответов 250
Предлагаю в этой теме размещать ответы на часто задаваемые вопросы и просто делиться полезными кодами.
Обращаю внимание на некоторые моменты, которые являются дополнением к основным правилам
Просьба к постившим: не спешите постить решения "сгоряча", тщательно обдумайте список вопросов, их тематику и порядок Если вы найдете информацию, которой можно было бы дополнить ваши предыдущие сообщения, что-то изменить или перегруппировать, пишите в л/с.
Примечание: некоторые коды приведены без учета строгой типизации (Параметр Strict), поэтому для их использования необходимо выполнить приведение типов
55
|
|||||||
| 18.08.2011, 22:44 | |
|
Ответы с готовыми решениями:
250
Готовые решения и полезные коды на Visual Basic .NET (Часть-2)
|
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 16.04.2020, 18:02 | ||||||
|
Переменные окружения процесса
Как правило, структуры Windows от версии к версии ОС меняются незначительно, и чаще всего эти изменения выражены добавлением новых полей структуры (обычно в окончание последней, реже - в начало или середину, очень редко структура изменяется до неузнаваемости). Смещения некотрых первых полей таких структур остаются неизменными на протяжении десятилетий (исключая обозначенные выше случаи). Введение новых полей с одной стороны вносит некую сумятицу в работу системного программиста, с другой - в разы может упростить извлечение каких-то данных. Например, структура PEB в Windows 10 выглядит уже очень привлекательно, из нее можно извлечь такие данные как детальные сведения о кучах без отладдочного буфера (RtlCreateQueryDebugBuffer) или, скажем, переменные окружения процесса (ниже представлени пример того, как это можно сделать).
3
|
||||||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 17.04.2020, 00:52 | ||||||
|
Небезопасный код в VB.NET Core (на примере вычисления энтропии Шеннона)
NET Core - боль, особенно для бывалых консольщиков. НО! Если в .NET Framework можно схлопотать леща в виде System.Security.VerificationException при создании динамического метода небезопасного (unsafe) кода, то NET Core в этом плане весьма либерален. Учитывая же, что поддержки unsafe в VB.NET нет и не предвиделось даже по мере развития .NET Framework, то NET Core в этом плане видится некоторым спасением. Хотя с какой стороны поглядеть... Ведь в VB.NET нет ни условной компиляции, ни макросов, ни прочих плюшек из мира приплюснутых Сей. Да и язык программирования в конечном счете не должен быть самоцелью, так как он лишь средство реализации идей. Правда иногда все же весьма любопытно просто поиграться с тем или иным ЯП. От слов - к делу. Ниже пример вычисления энтропии файла (будет работать даже на больших файлах быстро). PoC был написан под NET Core, при попытке запустить код в .NET Framework получите леща описанного выше.
2
|
||||||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 30.04.2020, 21:30 | ||||||
|
Быстрый способ узнать доступна ли аппаратная виртуализация
Существует несколько способов узнать заявленное в заглавии, все они различаются по степени сложности своей реализации, а также позывом к рвоте у некоторых антивирусов. Первый - cpuid; требует машинных кодов и средств контрацепции от антивирусов, ибо у последних все чаще возникает околопоясничная боль в районе бедер при одном упомянании VirtualAlloc и иже с ним. Второй - IsProcessorFeaturePresent; антивирусы на оную функцию смотрят сквозь пальцы, однако есть способ быстрее и не требующий явных вызовов WinAPI. Ага, все та же структура KUSER_SHARED_DATA, конкретней - смещение 0x289, где хранится булево значение фичи PF_VIRT_FIRMWARE_ENABLED:
5
|
||||||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 18.05.2020, 23:01 | ||||||
|
Вывести список поставщиков учетных данных Windows
Если вы серьезно занимаетесь системным программированием, то обязаны знать о такой вещи как поставщики учетных данных (credential providers). Некоторые базовые сведения о них извлекаются из реестра.
2
|
||||||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
|||||||||||
| 22.05.2020, 18:53 | |||||||||||
|
Получить версию GNU/Linux
Не так давно, при разработке приложения под Ubuntu пришлось столкнуться с рядом странностей в плане получения версии ОС. Дело в том, что System.Environment.OSVersion в Mono возвращает версию не ОС как таковую, а ядра. Спрашивается,
Суть, полагаю, ясна.
1
|
|||||||||||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 25.05.2020, 13:30 | ||||||
|
[Де]кодирование ROT13
В Windows XP значения раздела реестра UserAssists были зашифрованы посредством ROT13, однако, это далеко не единственный пример использования этого шифра. Помимо прочего ROT13 используется некоторыми пыхокодерами, мессенджерами (с солью), словом, несмотря на всю свою примитивность, алгоритм еще в строю (наряду с ROT47). При реализации ROT13 каким-то догматичным стал подход использования диапазонов значений латинского алфавита, что вовсе не означает его исключительность. Тем более (личное) такой подход кажется избыточным. Проще все сделать в вызове Regex.Replace.
2
|
||||||
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|||||||||||
| 31.05.2020, 17:01 | |||||||||||
|
Добавить возможность отбрасывать НАТИВНУЮ тень от формы при выставленном свойстве
BorderStyle = NoneВ дизайнер формы Form.Designer.vb (так проще, не загромождая основной класс формы) добавьте следующий регион кода:#Region " Form Shadow"
Ну и результат на картинке (тем самым можно делать свой дизайн формочки добавляя нативную тень) А так можно добавить возможность отбрасывать ПРОСТУЮ тень без сглаживания при выставленном свойстве BorderStyle = None
9
|
|||||||||||
|
Нарушитель
|
|
| 02.06.2020, 10:50 | |
|
Стиль формы как в Windows 10 (стиль Microsoft Store)
Состоит из кастомных элементов, разрешается добавлять новые Border-контроллы и не только.
2
|
|
|
Нарушитель
|
||||||
| 25.07.2020, 11:20 | ||||||
|
Кнопка из Windows 10
Я создал копию "фирменной кнопки Microsoft" операционной системы Windows 10 на VB NET. Вот что получилось:
2
|
||||||
| 23.08.2020, 15:32 | |
|
UserControl сходный по назначению с TabControl
На мой взгляд возможная замена TabControl. Реализовано: • Добавление кнопок • Удаление кнопок • Перемещение кнопок При желании можно перекомпоновать под собственные критерии прекрасного, например разместить коллекцию кнопок вертикально (справа или слева) и т.д.
11
|
|
|
1492 / 587 / 107
Регистрация: 26.03.2012
Сообщений: 1,039
|
||||||||||||||||
| 14.09.2020, 18:27 | ||||||||||||||||
|
Экспорт DataGridView в форматы ExcelXML (без установленного офиса) или HTML, а так же печать таблицы используя компонент нативный WebBrowser.
ExcelXML (не Excel XLS/XLSX):
4
|
||||||||||||||||
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
||||||
| 06.11.2020, 13:46 | ||||||
|
Галерея элементов на основе FlowLayoutPanel
4
|
||||||
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|||||||||||
| 06.01.2021, 12:48 | |||||||||||
|
Вариант получения результата запроса в базу данных и вывода полученных данных без использования DataAdapter'a.. Так же, будет выдано исключение, если в качестве имени таблицы было передано что-то иное.
Можно так же дополнить код проверкой на наличие самой таблицы в базе данных.
Вспомогательная фунция как Extension, для проверки ралидности переданного имени таблицы:
5
|
|||||||||||
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
||||||
| 12.01.2021, 19:36 | ||||||
|
Запретить своей форме принимать и держать фокус. Полезно при написании виртуальной клавиатуры или же в других моментах, когда активирование своего окна очень нежелательно
Для работы кода нужно задекларировать две WinAPI: SetWindowLong и GetWindowLong. Как это сделать, кто не знает, в сети много примеров.
3
|
||||||
|
1086 / 916 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
|
||||||||||||||||
| 12.01.2021, 21:41 | ||||||||||||||||
|
Обертка методов FlashWindow, FlashWindowEx из user32.dll
В зависимости от переданных параметров заставляет мерцать окно и/или кнопки на панели задач для привлечения внимания пользователя Код (параметры подписаны) Кликните здесь для просмотра всего текста
Примеры использования Для WinForms
8
|
||||||||||||||||
|
Нарушитель
|
||||||||||||||||
| 09.02.2021, 16:48 | ||||||||||||||||
|
Вбиваем запрос в интернете, используя браузер по умолчанию
Сам код:
Очень надеюсь, что кому-нибудь да пригодится. Код написан для CyberForum.
4
|
||||||||||||||||
|
Нарушитель
|
|||||||||||
| 10.02.2021, 22:25 | |||||||||||
|
Решение линейных математических выражений
0
|
|||||||||||
|
Нарушитель
|
|||||||||||
| 12.02.2021, 11:55 | |||||||||||
|
Держим дисплей (монитор) выключенным, пока пользователь не взаимодействует с компьютером
-- Второй способ DisplayOff - кнопка System.Windows.Forms.Button
3
|
|||||||||||
|
Нарушитель
|
||||||
| 12.02.2021, 19:50 | ||||||
|
Запускаем EXE-файл без расширения в папке с нашей программой
Немного благодарности Jungl
2
|
||||||
|
Нарушитель
|
|||||||||||
| 23.02.2021, 18:56 | |||||||||||
|
Добавляем водяной, описывающий текст TextBox
Для реализации используем Windows API, соответственно. Немногие знают, но TextBox от нас скрывает удивительное свойство - содержать в себе описывающий текст (ну или "водяной", кому как). Только вот, Microsoft от нас это утаили. Публикую код для добавления подобной фичи в свой проект. Код модуля:
3
|
|||||||||||
| 23.02.2021, 18:56 | |
|
Basic4Android. Готовые решения полезные коды Полезные коды для PascalABC.NET Готовые коды для решения лабораторных работ Где бесплатно скачать учебник по Visual Basic 6 и Visual Basic .Net ?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|