|
Alvin Seville
|
|||||||||||
Библиотека NETSquirrel для .NET и .NET Core01.11.2019, 12:49. Показов 6354. Ответов 14
Краткое описание NETSquirrel - идейное продолжение и обобщение системного модуля PABCSystem на платформы NET и NETCore. Её цель: сделать переход на другие .NET языки с PascalABC.NET и обратно наиболее безболезненным.Подробное описание Главная идея, заложенная в библиотеку - расширить привычный функционал модуля PABCSystem (точнее, его часть, поскольку PABCSystem также занимается системными задачами) до уровня всей платформы .NET (.NET Framework/.NET Core). NETSquirrel - продолжение начатого разработчиками PascalABC.NET модуля со своими добавлениями. Это позволит обеспечить наиболее безболезненный переход с PascalABC.NET на C# или другие .NET языки или в обратном направлении. Новое, что внесла библиотека - это:1. Множество интерфейсов, для написания коллекций и их immutable версий. 2. Новые утилитные методы, например, для чтения кортежей, массивов и матриц с возможностью одновременной обработки ошибок при неверном вводе. 3. Методы расширения для вывода и изменения кортежей, массивов, матриц и последовательностей. Библиотека широко использует паттерн null object, при реализации которого при неверных входных данных не бросается исключение, а возвращается объект-пустышка указанного типа. 4. Прокси-типы, которые позволяют указать как программист хочет чтобы пользователь видел некоторую коллекцию в отладчике Visual Studio или Rider. Полезные ссылки Официальный сайт (en)Организация проекта (en/ru) Документация (en) Примеры кода Группа поддержки (en/ru) Ссылки на темы из соседних разделов Тема в разделе PascalABC (ru)Тема в разделе PascalABC.NET (ru) Примеры кода
Генерация последовательностей:
Внимание: библиотека предоставляет высокоуровневый функционал, за что пользователю приходится в какой-то степени платить за это производительностью. Не используйте LINQ и подобный функционал библиотеки при нужде максимального быстродействия. Не злоупотребляйте большим количеством предоставляемых возможностей, нанося при этом вред производительности. Главное в проекте NETSquirrel
- Замечания и предложения - источник жизни библиотеки и её экосистемы, поскольку они позволяют отпалировывать неточности и улучшать проект.
- Аргументы и факты - именно на этом строятся обсуждения функционала NETSquirrel, эмоции - имеют место быть, но не могут служить поводом для добавления (изменения) новой (существующей) функциональности, если не подкрепляются чем-либо. - Уважение к пользователям - главный принцип общения с ними. Разработчики не должны посылать пользователя (даже вежливо) с каким-либо вопросом, если им лень с ним разбираться. - Мы не разбрасываемся пользователями - для нас все важны, какими бы придирчивыми они не были. - Открытость и доступность информации - главная причина уделения немалого количества времени к организационным вопросам (репозиторию и уведомлениям пользователей об изменениях).
0
|
|||||||||||
| 01.11.2019, 12:49 | |
|
Ответы с готовыми решениями:
14
Библиотека для управления запросами с поддержкой Socks4, Socks5 для .NET Новости .NET |
|
Alvin Seville
|
||||||||||||||||||||||
| 02.11.2019, 21:30 [ТС] | ||||||||||||||||||||||
|
Доступен NETSquirrel 0.0.25 [Night build].
Минимальные требования: - NETCore: 2.2 - NET: 4.5 Зависимости: - NuGet пакет System.ValueTuple 4.5.0 Улучшения: - Улучшения методов вывода - Математические расширения для IEnumerable<> - Исправление ReadStringMatrix Пример: C#
Visual Basic.NET
Managed C++
PascalABC.NET
Вывод:
0
|
||||||||||||||||||||||
|
Alvin Seville
|
|||||||||||||||||||||||||||||||
| 03.11.2019, 22:16 [ТС] | |||||||||||||||||||||||||||||||
|
Решение задачи через NETSquirrel 0.0.25:
Решение задачи через NETSquirrel 0.0.25:
Решение задачи через NETSquirrel 0.0.25:
- При вводе строки, вместо числа произойдёт падение программы. Решение: добавить try-catch. Решение задачи через NETSquirrel 0.0.25:
Решение задачи через NETSquirrel 0.0.25:
- При вводе строки, вместо числа произойдёт падение программы. Решение: добавить try-catch.
1
|
|||||||||||||||||||||||||||||||
|
Alvin Seville
|
|||||||||||||||||||||||||||||||
| 06.11.2019, 15:41 [ТС] | |||||||||||||||||||||||||||||||
|
Сравнение эффективности вывода матриц в NETSquirrel 0.0.25 [Night build] и PABCSystem:
Тестирование на C#
Тестирование на PascalABC.NET
Реализация вывода матриц в NETSquirrel
Реализация вывода матриц в PABCSystem
Результаты: NETSquirrel оказывается несколько медленнее в среднем, чем PABCSystem, но взамен при её использовании мы получаем большую гибкость и устойчивость вывода.
0
|
|||||||||||||||||||||||||||||||
|
Alvin Seville
|
|||||||||||||||||||||
| 22.11.2019, 11:55 [ТС] | |||||||||||||||||||||
|
Доступен NETSquirrel 0.0.30 [Night build].
Минимальные требования: - NETCore: 2.2 - NET: 4.5 Зависимости: - NuGet пакет System.ValueTuple 4.5.0 Улучшения: - ReadBoolMatrix c делегатом FuncExceptionHandler - ReadBoolArray c делегатом FuncExceptionHandler - расширения PrintBy/PrintLineBy/PrintLinesBy для IEnumerable<T> с селектором типа Func<T, int, TResult> - расширения Print/PrintLine/PrintLines для IEnumerable<T> с селектором типа Func<T, int, TResult> - расширения Print/PrintLine/PrintLines для IEnumerable<T> с селектором Пример: C#
Visual Basic.NET
Managed C++
PascalABC.NET
0
|
|||||||||||||||||||||
|
Alvin Seville
|
|||||||
| 23.11.2019, 12:46 [ТС] | |||||||
|
Решение задачи через NETSquirrel 0.0.30:
- При вводе строки, вместо числа (при указании количества элементов массива) произойдёт падение программы. Решение: добавить try-catch. - При вводе отрицательного количества элементов массива будет выброшено исключение. Решение: вынести считывание элементов массива в переменную и проверять введённое число на неотрицательность.
0
|
|||||||
|
Alvin Seville
|
||||||||||||||||
| 02.12.2019, 17:53 [ТС] | ||||||||||||||||
|
Доступен NETSquirrel 0.0.35 [Night build].
Минимальные требования: - NETCore: 2.2 - NET: 4.5 Зависимости: - NuGet пакет System.ValueTuple 4.5.0 Улучшения: - Расширения для кортежей для создания матриц - Расширения для int для создания массивов - Неявное преобразование int -> SliceSpan - Срезы для строк - Утилитные методы с FuncExceptionHandler для чтения кортежей с клавиатуры Пример: C#
Visual Basic.NET
PascalABC.NET
0
|
||||||||||||||||
|
Alvin Seville
|
|
| 23.12.2019, 15:39 [ТС] | |
|
Примеры для NETSquirrel 0.35 готовы на C# и PascalABC.NET.
0
|
|
|
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,427
|
||
| 24.12.2019, 06:19 | ||
|
1
|
||
|
Alvin Seville
|
|
| 24.12.2019, 08:30 [ТС] | |
|
Usaga, да, согласен. Хорошее предложение.
0
|
|
|
Alvin Seville
|
|
| 24.12.2019, 21:15 [ТС] | |
|
Начиная с NETSquirrel 0.40 проект переходит на NET Standard 2.0.
0
|
|
|
Alvin Seville
|
|
| 28.12.2019, 17:10 [ТС] | |
|
Специальные символы для управления условной компиляцией:
- IS_PASCALABCNET_COMPATIBLE - включает атрибуты к членам классов, позволяющих генераторам кода для PascalABC.NET выбирать наиболее подходящие названия для методов и свойств. - UTILS_WITH_EXCEPTION_HANDLER_SUPPORT_ARE _ENABLED - включает поддержку утилитных методов с обработкой исключений.
0
|
|
|
Администратор
|
||
| 02.01.2020, 20:47 | ||
|
1
|
||
|
Alvin Seville
|
|
| 02.01.2020, 23:04 [ТС] | |
|
OwenGlendower, пользователям - да, не нужны. Разработчикам - могут понадобится, чтобы получать специфические сборки, заточенные под их нужны.
Добавлено через 2 минуты Старый функционал NETSquirrel перенесён в библиотеку NETSquirrelBC.
0
|
|
|
Alvin Seville
|
|
| 03.02.2020, 05:05 [ТС] | |
|
Теперь пользователи могут оставлять отзывы мне в Яндекс-форме, а получать ответ с NETMouseProjects@yandex.ru, поскольку все данные форм автоматически отправляются на данную почту. Название Вашей OC и её версия передаются мне автоматически - вручную указывать не надо.
0
|
|
| 03.02.2020, 05:05 | |
|
Помогаю со студенческими работами здесь
15
Сложности с .NET Core Почему нет раздела (подраздела) ASP.Net Core? Меня одного удивляет отсутствие здесь раздела .NET Core ? Как указать VS.NET какой из установленный .NET Framewrok SDK использовать Как установить .NET приложение, но без установки самого .NET Framework? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|