понедельник, 23 января 2017 г.

C#. Валидация номера СНИЛС и расчет его контрольной суммы

Данный функционал(с возможными незначительными изменениями) добавлен в библиотеку Net.KSUniLib с версии 1.0.3.38.

Namespace:  KomeSoftUniCL.Tools
Class: 
KSNumberValidator

В базы данных операторами часто вводятся различные текстово-цифровые коды, номера и идентификаторы. Каждый номер или идентификатор, как правило, имеет в своем составе специальные контрольные разряды и алгоритмы проверки правильности ввода. С одним из таких алгоритмов мы сегодня и познакомимся. А проверять мы будем СНИЛС. Да-да, ту самую зеленую карточку, которая лежит у вас в паспорте. СНИЛС в России выступает аналогом карточки соцстрахования в Штатах.
Фактически СНИЛС представляет собой три группы по три цифры, и отдельную группу на два символа для контрольного числа. Контрольное число рассчитывается по следующему алгоритму:


C#. Удалить из строки все нецифровые символы

Данный метод(с возможными незначительными изменениями) добавлен в библиотеку Net.KSUniLib с версии 1.0.3.38.

Namespace: 
KomeSoftUniCL.Tools
Class: 
KSStringProcessor

Иногда бывает необходимо обработать строку так, чтобы в ней остались только цифры. Например, при проверке номеров паспорта, мобильного телефона, ИНН, СНИЛС и т.д. Сделать это очень просто:

        public String OnlyDigits(String source){
            String result = String.Empty;
            
            foreach(Char ch in source){
                if(Char.IsDigit(ch)){
                    result += ch;
                }
            }
            
            return result;
        }

На выходе будет будет строка, содержащая только цифры.

C# + SDL.NET. Шаблон приложения

Думаю, каждый из нас хотел когда-то или даже хочет сейчас написать интересную игру. Благо, эпоха многомиллионных игровых суперблокбастеров и огромных творческих команд постепенно проходит, уступая место разработчикам-индивидуалам и небольшим студиям на три-четыре сотрудника. Да и от фотореалистичного 3D многие уже устали. Теперь у многих в почете теплые ламповые игры со Смыслом, а не с Картинкой.
Предлагаю стать на один шаг ближе к мечте: создать первое шаблонное приложение с помощью библиотеки SDL.NET, враппера известной библиотеки sdl.
В первую очередь, нам необходимо скачать саму библиотеку. Сделать это можно со страницы проекта на SourceForge: https://sourceforge.net/projects/cs-sdl/files/SDL.NET/6.1.0/sdldotnet-6.1.0.zip/download. Как несложно понять, я использую версию 6.1.0.
Далее, мы создаем пустой проект:



воскресенье, 22 января 2017 г.

C#. Создаем универсальный TextBox с кнопкой

Данный контрол (с возможными незначительными изменениями) добавлен в библиотеку Net.KSUniLib с версии 1.0.3.19.

Namespace: KomeSoftUniCL.Controls.DataBases
Class: KSDBSelectTextBox

Сегодня мы будем создавать интересный контрол, представляющий собой TextBox и встроенной кнопкой:







Такие контролы используются, в основном, в программах, работающих с базами данных. Однако, путем универсализации его функционала, его ареал использования можно существенно расширить.

Итак, что нам нужно от такого контрола?
1) Открытие какой-либо формы в модальном режиме. Какая форма будет открываться, контрол не знает, и какие данные форма будет возвращать, контрол тоже представлять не будет.
2) Вызов диалога открытия файла. Да, реализовать подобный функционал в коде на C# несложно, и примеров в сети по данному вопросу гора. Но согласитесь, если тоже самое можно сделать установкой одного свойства в контроле - это удобно.
3) Вызов диалога сохранения файла. Аргументы те же, что и в п.2.
4) Вызов диалога выбора директории.

Кроме того, мы хотим иметь возможность в коде формы, на которой расположен данный контрол, управлять его выполнением. Например, интерактивно отключить выполнение события выбора без замораживания самого контрола, и т.д.


пятница, 20 января 2017 г.

Библиотека Net.KSUniLib

В данную библиотеку я добавляю различные компоненты и классы, накопившиеся в различных проектах за годы работы.
Я планирую широко использовать эту библиотеку, попутно рассказывая на страницах блога о том, как реализовать тот или иной элемент библиотеки.
Каких-либо ограничений на использование библиотеки в сторонних проектах я не ставлю, хотите - используйте, хотите - нет. Но если ваш проект коммерческий - будьте людьми, поделитесь :)
Вопросы, предложения, пожелания направляйте на email ratu@kpbp.ru, постараюсь ответить.
Яндекс.Деньги для пожертвований - 410012239414419

Текущая версия библиотеки: 1.0.3.38

Скачать текущий релизЯндекс.Диск

Все релизы: Яндекс.Диск


четверг, 19 января 2017 г.

BitFile. Утилита шифрования и дешифрования файлов


Утилита BitFile позволяет создать зашифрованный контейнер для пользовательского файла или архива. Далее зашифрованный файл можно передать по сети или безопасно хранить. Для расшифровки файла потребуется ключ, выданный программой при шифровании. Без ключа расшифровать файл, или подобрать ключ, достаточно сложно (сторонний сервис оценивает выданный программой пароль как взламываемый за 35 тысяч лет)

Текущая версия: 1.1.6229

Изменения в релизе 1.1.6229:
- Добавлена возможность выбора алгоритма шифрования

Скачать текущий релиз: Яндекс.Диск

Все релизы: Яндекс.Диск