|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|||||||
Готовые решения и полезные коды на Visual Basic .NET (Часть-2)26.08.2021, 13:11. Показов 27946. Ответов 43
Данная тема является продолжение одноимённой темы
Готовые решения и полезные коды на Visual Basic .NET (Часть-1) Предлагаю в этой теме размещать ответы на часто задаваемые вопросы и просто делиться полезными кодами. Для исходников есть отдельная тема и они будут либо удаляться из этой темы, либо переноситься в соответствующую тему) Обращаю внимание на некоторые моменты, которые являются дополнением к основным правилам
Просьба не спешите постить решения "сгоряча", тщательно обдумайте список вопросов, их тематику и порядок. Перед загрузкой архива на форума настоятельно рекомендуется выполнить шаги по уменьшению его размера:
Если вы найдете информацию, которой можно было бы дополнить ваши предыдущие сообщения, что-то изменить или перегруппировать, пишите модераторам в л/с.
2
|
|||||||
| 26.08.2021, 13:11 | |
|
Ответы с готовыми решениями:
43
Готовые решения и полезные коды на Visual Basic .NET (Часть-1) Обсуждение кода из темы "Готовые решения и полезные коды": Функция MeTka Обсуждение "Суммы чисел" из темы "Готовые рещения и полезные коды" |
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|||||||||||||||||||||||||||||||||||||||||
| 19.06.2023, 17:57 [ТС] | |||||||||||||||||||||||||||||||||||||||||
|
Варианты проверки наличия Интернет соединения.
В общем, перебрал я кучу способов того, как определить наличие подключения к интернет и остановился на варианте #2, которое действительно быстро и точно говорит о состоянии подключение к интернет (именно доступное подключение). Ping иной раз возвращает неверное состояние, ввиду того, что фактически интернет присутствует на компе, но компанейский firewall успешно блокирует все то, что не разрешено... Google кстати пингуется, но все остальное нИзЯ... Вариант #1 Добавить ссылку на COM сборку Network List Manager 1.0 Type Library далее использовать этот код для проверки подключения к интернет.Кликните здесь для просмотра всего текста
Вариант #2 - я остановился на этом варианте То же, что и вариант-1, но поздним связыванием, т.е. не добавляя ссылку на COM сборку Network List Manager 1.0 Type Library, а ссылаться на нее в рантайме.Кликните здесь для просмотра всего текста
Вариант #3 PING, конечно же, ведь с его помощью можно проверить соединение с интересующим нас ресурсом, не обязательно имея подключение к интернет, это может быть и локальная сеть. Кликните здесь для просмотра всего текста
Вариант #4 Проверка получение ответа от Microsoft NCSI, тоже не помог в мое случае, да и долго шла проверка, в отличии от варианта-2, где функция возвращает True или False в течении 1 секунды. Кликните здесь для просмотра всего текста
Вариант #5 Попытаться открыть\прочесть страничку сайта Кликните здесь для просмотра всего текста
Вариант #6 Используя WinAPI Кликните здесь для просмотра всего текста
Вариант #7 Проверка DNS Хоста? тоже что и применялось в варианте-4, но без перебора IP адресов Кликните здесь для просмотра всего текста
Вариант #8 Проверка наличия соединения "с сетью". Данный способ мне не помог совсем, так как он возвращал состояние соединения именно с сетью, не только с интернет (наличие локальной сети, без подлючения к интернет, для него тоже является сеть). Кликните здесь для просмотра всего текста
Ну и пожалуй всё. Если у кого-то есть иные методы проверки наличия подключения к интернет, скиньте, обновлю пост. Повторюсь, я остановился на варианте-2, так как он оказался, в моем случае, идеальным и быстрым. Можно конечно комбинировать все эти способы, но отсюда может, и не может, а точно, существенно увеличится время сего действа.
6
|
|||||||||||||||||||||||||||||||||||||||||
| 18.09.2023, 00:39 | |||||||||||
|
Две небольшие функции позволяющие выудить имя домена из мыла или ссылки.
0
|
|||||||||||
| 20.09.2023, 13:43 | |||||||||||
|
Опять таки небольшая функция которая находит число совпадений в строке, параметр "matchcase" определяет учёт регистра
1
|
|||||||||||
|
34 / 30 / 3
Регистрация: 16.12.2019
Сообщений: 110
|
|||||||||||
| 04.10.2023, 10:10 | |||||||||||
|
Искал в интернете решение своей проблемы и не нашел, как перевести файл Excel в PDF без дополнительных библиотек, лишь с установленным acrobat reader-ом.
Пробовал через SaveAs('имя файла', FileFormat:= 'формат'), но там отсутствует формат xlPDF Делюсь тем, что узнал:
filename - переменная хранящая в себе путь с именем файла. Надеюсь кому-то помог
3
|
|||||||||||
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|||||||||||
| 13.03.2024, 10:18 [ТС] | |||||||||||
|
Создать PDF документ из изображения (картинки Bitmap), без использования сторонних библиотек
Код не мой, но можно его улучшать и улучшать, добавив подгонку под нужный ppi, так же добавить сохранение соотношени сторон картинки, сжатие изображения, для уменьшения размера выходного PDF и т.д.. Но это уже сами. Делюсь именно самой идеей того, как поместить картинку в PDF без использования сторонних библиотек, так как не требуется ничего дополнительного устанавливать. Можно применять там, где делаете сканы и нужно сохранить их в PDF... Функция CreatePDF возвращает путь к сохраненному файлу PDF, но и это можно изменить по вашему усмотрению. Кликните здесь для просмотра всего текста
Вариант применения:
5
|
|||||||||||
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|||||||||||
| 08.04.2024, 17:30 [ТС] | |||||||||||
|
Получить текст из StatusBar стороннего окна.
Вариант-1 - напрямую читать кол-во элементов в баре и по индексу тянуть текст лэйбы. Данный подход получит текст даже если окно не в фокусе или даже свернуто. Кликните здесь для просмотра всего текста
Вариант-2 - используя IAccessible, как это делают скринридеры, получить текст любого элемента на экране В данном случае, мы получаем хэндл нужной нам StatusBar, заием получаем RECT этого элемента управления и добавляем офсет в пикселях до нужной нам лэйбы с текстом. Данный подход сможет получить текст только если элемент, из которого мы тянем текст, не перекрыто ничем другим, тоесть с видимой части экрана, что накладывает соответствующие ограничения на использование. Кликните здесь для просмотра всего текста
5
|
|||||||||||
| 30.05.2024, 22:57 | |||||||||||||||||||||||||||
|
Функция MeTka которая поможет вставить в строку через определённое кол. символов всё что угодно
2
|
|||||||||||||||||||||||||||
|
1019 / 309 / 17
Регистрация: 21.01.2023
Сообщений: 535
|
|
| 11.06.2024, 11:11 | |
|
SR2D. Софтверный движок для работы со спрайтами. Вот инструмент, который я написал достаточно давно, но очень часто им пользуюсь. Изначально движок разработан под VB6, но позже я написал порты под VB.NET и C#. SR2D работает с 32-битными ARGB спрайтами, умеет загружать их и сохранять в файлы, манипулировать с ними, отображать друг на друга (с эффектами) и на форму (или контролы с hDC). Для использования SR2D в проекте нужно подключить к проекту модуль SR2D.vb и класс Sprite.vb, а в папку с проектом (туда, куда компилируется EXE) поместить SR2D.dll соответствующей битности. В 32-битной версии SR2D.dll используются ассемблерные вставки, а 64-битная написана на чистом C++, поэтому некоторые функции в ней работают немного медленнее. В движке большое количество возможностей, но, в то же время, для простых задач его использовать очень просто. Я всё никак не напишу полный мануал на текущую версию (есть мануал на предыдущую, но он сильно устарел), но в предлагаемом архиве есть пример самого простого использования, в теме по VB6 примеров больше, можно смотреть там - работа с SR2D почти не отличается, главное отличие в инициализации, которую я здесь продемонстрировал. Если кто-то заинтересуется - я с удовольствием отвечу на вопросы в теме комментариев "Готовых решений", или, если вопросов будет много, можно создать для SR2D отдельную тему. Приложенный пример написан в VS 2008 Express, в более новых студиях должно работать без проблем.
3
|
|
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|||||||||||
| 05.07.2024, 14:34 [ТС] | |||||||||||
|
Сохранить данные как массив байт в, или же прочитать из ресурсов exe и dll.
(используя winAPI LoadResource, UpdateResource и т.п.) Оформил в виде класса для удобства. Ремарка, данный класс читает и записывает данные ТОЛЬКО в свои собственные типы, не читая и не изменяя уже имеющиеся в нем данные и никак с ними не пересекается... То есть только свои личные данные хранить и читать. Класс ResManager_Win32
Применение:
6
|
|||||||||||
| 14.11.2024, 04:30 | |||||||||||||||||||||||||||||||
|
Doc class для программного создания HTML- файлов
Тот самый случай когда библиотеки таскать с собой неохота, но нужно быстро из кода с ваять Html
Подключаем класс
было
1
|
|||||||||||||||||||||||||||||||
| 17.11.2024, 08:19 | ||||||
|
Две небольшие функции, LinesCount и GetLine
LinesCount - подсчитывает количество строкGetLine - обращается к указанной строке и выводит её значение
2
|
||||||
| 01.12.2024, 08:29 | ||||||
|
Функция подсчета совпадений в строке
1
|
||||||
|
Любитель
1054 / 764 / 161
Регистрация: 27.01.2019
Сообщений: 1,543
|
||||||
| 07.12.2024, 11:28 | ||||||
|
Функция для перевода десятичной дроби в другие системы счисления.
Может кому нибудь пригодится.
3
|
||||||
|
Любитель
1054 / 764 / 161
Регистрация: 27.01.2019
Сообщений: 1,543
|
||||||
| 07.12.2024, 20:07 | ||||||
|
Функция перевода из разных систем (2-36) в десятичную дробь.
4
|
||||||
| 20.12.2024, 18:43 | |
|
На просторах NuGet нашел, на мой взгляд, полезную библиотеку MiniExcel. В прилагаемом архиве даны примеры использования этой библиотеки.
MiniExcel — это простая и быстрая библиотека для чтения и записи файлов Excel (*.xlsx) в приложениях NET. Размер библиотеки MiniExcel.dll - 254 Kb. MiniExcel отлично подходит для ситуаций, когда нужно легкое, быстрое и простое в использовании решение. Область использования: 1. Чтение информации из файлов xlsx 2. Сохранение информации в файлах xlsx 3. Запись информации в шаблоны Excel PS. • Конечно, существуют и другие библиотеки для работы с файлами Excel в NET (EPPlus, NPOI, ClosedXML и др.). Обычно они привлекаются, если проект требует расширенных функций обработки Excel, но для большинства стандартных задач MiniExcel наиболее эффективен. • Оставил библиотеку в архиве, чтобы вам не пришлось искать ее в NuGet.
8
|
|
| 28.12.2024, 05:03 | ||||||||||||||||||||||
|
Не знаю что под капотом у стандартной функции replace, но моя выглядит, вот так.
На скорость работы не проверял. Ошибок пока не замечено
опционально, без учёта регистра
3
|
||||||||||||||||||||||
|
Администратор
|
||||||||||||||||||||||||||
| 13.01.2025, 18:59 | ||||||||||||||||||||||||||
|
Класс для сортировки строк с числами внутри
Иногда есть необходимость отсортировать строки (например имена файлов) с числами внутри. Стандартные методы сортировки здесь не подойдут т.к. выполняют сравнение используя лексикографический порядок. Из-за этого порядок может оказаться неверным. Допустим мы хотим отсортировать массив
NaturalStringComparer (для .NET Framework)
NaturalStringComparer (для .NET/.NET Core)
6
|
||||||||||||||||||||||||||
|
34 / 30 / 3
Регистрация: 16.12.2019
Сообщений: 110
|
||||||||||||
| 07.02.2025, 13:01 | ||||||||||||
|
На работе столкнулся, что нужно найти из каких чисел складывается сумма, набросал по-быстрому программулинку
0
|
||||||||||||
| 10.02.2025, 05:01 | ||||||||||||
|
Китайский искусственный интеллект DEEPSEEK. Кому интересно... код
Ключ, расценки у них на сайте. есть мобильная версия
0
|
||||||||||||
| 24.03.2025, 04:17 | ||||||
|
Пример динамического созданная программы
Убедитесь, что файлы AppIcon.ico и WelcomeMessage.txt существуют в папке Debug
3
|
||||||
| 24.03.2025, 04:17 | |
|
Visual Basic .Net и Visual Basic 6.0 - В чём разница Готовые коды для решения лабораторных работ
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера 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С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|