|
Модератор
4371 / 3441 / 512
Регистрация: 27.01.2014
Сообщений: 6,264
|
|||||||
Готовые решения и полезные коды на Visual Basic .NET (Часть-2)26.08.2021, 13:11. Показов 27817. Ответов 43
Данная тема является продолжение одноимённой темы
Готовые решения и полезные коды на Visual Basic .NET (Часть-1) Предлагаю в этой теме размещать ответы на часто задаваемые вопросы и просто делиться полезными кодами. Для исходников есть отдельная тема и они будут либо удаляться из этой темы, либо переноситься в соответствующую тему) Обращаю внимание на некоторые моменты, которые являются дополнением к основным правилам
Просьба не спешите постить решения "сгоряча", тщательно обдумайте список вопросов, их тематику и порядок. Перед загрузкой архива на форума настоятельно рекомендуется выполнить шаги по уменьшению его размера:
Если вы найдете информацию, которой можно было бы дополнить ваши предыдущие сообщения, что-то изменить или перегруппировать, пишите модераторам в л/с.
2
|
|||||||
| 26.08.2021, 13:11 | |
|
Ответы с готовыми решениями:
43
Готовые решения и полезные коды на Visual Basic .NET (Часть-1) Обсуждение кода из темы "Готовые решения и полезные коды": Функция MeTka Обсуждение "Суммы чисел" из темы "Готовые рещения и полезные коды" |
|
Модератор
4371 / 3441 / 512
Регистрация: 27.01.2014
Сообщений: 6,264
|
|||||||||||||||||||||||||||||||||||||||||
| 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
|
|||||||||||
|
Модератор
4371 / 3441 / 512
Регистрация: 27.01.2014
Сообщений: 6,264
|
|||||||||||
| 13.03.2024, 10:18 [ТС] | |||||||||||
|
Создать PDF документ из изображения (картинки Bitmap), без использования сторонних библиотек
Код не мой, но можно его улучшать и улучшать, добавив подгонку под нужный ppi, так же добавить сохранение соотношени сторон картинки, сжатие изображения, для уменьшения размера выходного PDF и т.д.. Но это уже сами. Делюсь именно самой идеей того, как поместить картинку в PDF без использования сторонних библиотек, так как не требуется ничего дополнительного устанавливать. Можно применять там, где делаете сканы и нужно сохранить их в PDF... Функция CreatePDF возвращает путь к сохраненному файлу PDF, но и это можно изменить по вашему усмотрению. Кликните здесь для просмотра всего текста
Вариант применения:
5
|
|||||||||||
|
Модератор
4371 / 3441 / 512
Регистрация: 27.01.2014
Сообщений: 6,264
|
|||||||||||
| 08.04.2024, 17:30 [ТС] | |||||||||||
|
Получить текст из StatusBar стороннего окна.
Вариант-1 - напрямую читать кол-во элементов в баре и по индексу тянуть текст лэйбы. Данный подход получит текст даже если окно не в фокусе или даже свернуто. Кликните здесь для просмотра всего текста
Вариант-2 - используя IAccessible, как это делают скринридеры, получить текст любого элемента на экране В данном случае, мы получаем хэндл нужной нам StatusBar, заием получаем RECT этого элемента управления и добавляем офсет в пикселях до нужной нам лэйбы с текстом. Данный подход сможет получить текст только если элемент, из которого мы тянем текст, не перекрыто ничем другим, тоесть с видимой части экрана, что накладывает соответствующие ограничения на использование. Кликните здесь для просмотра всего текста
5
|
|||||||||||
| 30.05.2024, 22:57 | |||||||||||||||||||||||||||
|
Функция MeTka которая поможет вставить в строку через определённое кол. символов всё что угодно
2
|
|||||||||||||||||||||||||||
|
787 / 308 / 17
Регистрация: 21.01.2023
Сообщений: 531
|
|
| 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
|
|
|
Модератор
4371 / 3441 / 512
Регистрация: 27.01.2014
Сообщений: 6,264
|
|||||||||||
| 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
|
||||||
|
Любитель
1048 / 758 / 161
Регистрация: 27.01.2019
Сообщений: 1,535
|
||||||
| 07.12.2024, 11:28 | ||||||
|
Функция для перевода десятичной дроби в другие системы счисления.
Может кому нибудь пригодится.
3
|
||||||
|
Любитель
1048 / 758 / 161
Регистрация: 27.01.2019
Сообщений: 1,535
|
||||||
| 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 - В чём разница Готовые коды для решения лабораторных работ
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Новости компьютерного мира и их обсуждение (4)
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|