Обучение на c#

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Видеокурс по созданию прикладных программ

В чём волшебство программиста?
Он знает, как можно упростить повседневную работу.
Он умеет создавать программы, которые выполняют рутинные операции.

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




Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса  999  499 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Твоё портфолио 00:56:30
4 теста
261 чел. ★ 4.9 Done
  Хочешь создать свой собственный, крупный проект?
На этом уроке мы заложим основу твоей супер-программы —
Портфолио, которое соберёт в себя все твои лучшие программы.
Этот проект будет расширяться по мере создания новых программ.

Задание:
Создать программу-каталог своих лучших работ на C#.
Обновлять каталог после каждой созданной программы.
Отчёт отправил: 13417. Chip Выполнено за 3 час. 40 мин. [Показать отчёт]
Научился: 1) разбивать окно приложения на несколько вкладок; 2) запускать внешнее приложение. 
Сложности: Создать динамичный интерфейс приложения. 
Комментарии: Выбрал первый способ создания портфолио: через запуск готового исполняемого файла. Добавил конфигурационный файл, который содержит пути к каталогам с играми, софтом. Программа считывает конфигурационный файл и выполняет поиск всех файлов в указанных каталогах, как и в программе "Английские карточки", и затем динамично формирует интерфейс. Таким образом, можно добавлять информацию о новых приложениях без перекомпиляции портфолио. 
2 Шахматные часы 00:40:35
2 теста
205 чел. ★ 4.9 Done
  На этом уроке мы попрактикуемся в ООП -
опишем объект для часов и создадим от него
два экземпляра, для левых и для правых часов.

Задание:
Написать программу «Шахматные часы».

Отчёт отправил: 13417. Chip Выполнено за 3 час. 10 мин. [Показать отчёт]
Научился: Научился определять системное время. 
Сложности: Проблем не было. 
Комментарии: Добавил возможность установки произвольного значения стартового времени часов. 
3 Баскетбольное табло 00:45:35
2 теста
184 чел. ★ 4.9 Done
  На этом уроке мы попрактикуемся в создании двух форм и передаче данных между ними.

Задание:
Написать программу для управления баскетбольным табло.
Выводить результаты на весь экран большими цифрами.

Отчёт отправил: 13417. Chip Выполнено за 2 час. 50 мин. [Показать отчёт]
Научился: Научился перехватывать событие закрытие окна: вместо удаления окно скрывается. 
Сложности: Проблем не было. 
Комментарии: В процессе выполнения каждого урока узнаю что-то новое, повторяю уже полученные знания, спасибо за практику. 
4 Прохождение теста 01:07:18
3 теста
154 чел. ★ 4.9 Done
  На этом уроке мы создадим программу для организации тестов,
напишем алгоритм загрузки вопросов и вариантов ответов из файла,
будем их перемешивать, проверять ответы, подсчитывать результаты.

Задание:
Придумать 5 вопросов и написать тестирующую программу.
Отчёт отправил: 13417. Chip Выполнено за 3 час. 10 мин. [Показать отчёт]
Научился: Повторил строки, генерацию случайных чисел, загрузку данных из файла. 
Сложности: Загрузить вопросы из файла. 
Комментарии: Расширил программу, убрал ограничение на 5 вопросов. Структуру файла оставил прежнюю: 1 строка это вопрос, 2, 3 и 4 строки это ответы. Первый ответ в списке правильный. Тематика теста - синтаксис языка С. 
5 Расписание уроков 00:54:35
3 теста
147 чел. ★ 4.8 Done
  Видеоурок по созданию программы для расписания уроков.
Используется визуальный компонент DataGridView.
Расписание сохраняется в текстовый файл,
откуда считывается при запуске программы.
Отчёт отправил: 13417. Chip Выполнено за 4 час. 10 мин. [Показать отчёт]
Научился: Научился выводить данные в таблицу, выполнять добавление, удаление строк, изменять данные в ячейке таблицы.  
Сложности: Реальзовать выделение, добавление, удаление строк в таблице. 
Комментарии: Добавил возможность загрузки и сохранения таблицы в выбранный файл. 
6 Скорость на клавиатуре 00:32:18
4 теста
185 чел. ★ 4.9 Done
  На этом уроке я расскажу о программе Соло на клавиатуре,
которую я в мазохистском запале прошёл СЕМЬ РАЗ и даже был Солистом 2004 года.
Мы потренируемся в использовании таймера, событий клавиатуры и в скорости набора на ней.

Задание:
Написать программу определения скорости печати на клавиатуре.
Отчёт отправил: 13417. Chip Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: Повторил работу с таймером, секундомером. 
Сложности: Проблем не было. 
Комментарии: Немного изменил поведение программы, добавил фильтр вводимых букв: при событии key-press сначала определяется код нажатой клавиши, если это верная буква, то она добавляется в поле ввода, если буква ошибочна, то поле ввода остается без изменений. 
7 Делегаты на кубиках 00:47:37
4 теста
67 чел. ★ 5 Done
  На этом уроке подробно показываю и объясняю,
что такое делегаты, зачем они нужны и как их использовать.

Чтобы Делегат был доступен в другом классе - он должен быть объявлен внутри одного пространства имён namespace,
Отчёт отправил: 13417. Chip Выполнено за 124 дня 17 час. 53 мин. [Показать отчёт]
Научился: В этом уроке впервые использовал связку autotools(система сборки проекта) + check(модульные тесты) + git. Попутно потренеровал навыки разработки через тестирование TDD. Зоопарк получился веселый и трудоемкий, на все задание ушло около 7 часов. В языке С нет встроенных делегатов, поэтому разработал "свои", на базе односвязного списка и указателей на функции. Реализовал операторы += -= через функции delegate_add delegate_remove и добился схожего функционала с программой из видеоурока. 
Сложности: Собрать проект с помощью autotools, добиться выполнения команды make distcheck. 
8 Средняя оценка 00:25:51
3 теста
257 чел. ★ 4.8 Done
  На этом уроке мы узнаем секрет гениального интерфейса.
Для этого программа должна быть максимально простой и удобной.
Желающие смогут потренироваться в использовании делегатов.

Задание:
Написать программу для вычисления средней оценки.
Отчёт отправил: 13417. Chip Выполнено за 3 час. 20 мин. [Показать отчёт]
Научился: 1) Устанавливать текст всплывающей подсказки; 2) Использовать CSS для оформления виджетов. 
Сложности: Загрузить и применить настройки из CSS файла. 
Комментарии: Опробовал два предложенных способа, без использования делегата и с его использованием. Второй вариант понравился больше - класс Note сам вызывает функцию обновления текста меток при изменении внутреннего состояния. Компилятор частенько предупреждает об использовании устаревших возможностей библиотеки GTK, поначалу я скрывал предупреждения с помощью директивы, но теперь решил устранить эту неудобную проблемку. В этом уроке предупреждения были вызваны сменой размера шрифта на кнопках и метках. Более современное решения основано на использовании CSS файлов. Плюс такого подхода в том, что используются богатые возможности CSS для оформления программы и при этом вносимые изменения не требуют перекомпиляции проекта. Изменил файл, перезапустил приложение и сразу заметен результат. На втором скриншоте результат изменения CSS файла. 
9 ФИНАЛЬНЫЙ УРОК 00:23:23
93 чел. ★ 4.9 Done
  Задание:
Записать видеообзор любой программы из этого курса.

Отчёт отправил: 13417. Chip Выполнено за 2 час. 50 мин. [Показать отчёт]
Научился: Повторил создание видеообзора. 
Сложности: Создать видеообзор, добавить текстовые комментарии к видео. 
Комментарии: Следующий курс укажет улитка:) 
Видеообзор: 604vtrq6bgA
10 VIP урок. Работа с WinAPI 00:49:53
76 чел. ★ 4.9 Done
  Использование функций WinAPI для поиска и закрытия окон.
Отчёт отправил: 13417. Chip Выполнено за 4 час. 10 мин. [Показать отчёт]
Научился: Научился получать доступ к списку запущенных оконных приложений, искать требуемое окно по его названию и закрывать найденное окно. 
Сложности: Получить список запущенных приложений. 
Комментарии: Довольно сложный урок, потребовалось много читать и пользоваться поиском. От себя добавил возможность закрывать дочерние окна приложений: на первом скриншоте открыто дочернее модальное окно Preferences файлового менеджера Nautilus. На втором скриншоте - окно закрыто и программа автоматически закрывает модальное окно при попытке открыть Preferences. Опасная программа, несколько раз GNOME предупреждал об ошибках приложений во время режима Auto Close :) Спасибо за урок! :) 
  Итого:   10 видеоуроков 7 час. 23 мин.
25 тестов
46 чел. ★ 4.89  
  Финалисты:   Новопашин Владимир,   Yefim,   Денис,   Сергей Стефаненко,   Алексей|BrisK|Кривицкий,   Tekashnik,   Frank,   Петя,   konstantin,   Oleg Didok ,   Bodrik_torf,   Иван,   Андрей,   Морозов Юрий Александрович,   Андрей,   Никита,   Николай Денисов,   Александр,   Скозложоп,   Protos,   Виталий,   Андрей Шевченко,   Алексей В.,   zhikharevav,   Chip,   WildOrc,   Денис,   Dmitry Sinitsin,   Владимир,   superGrover,   ser2018,   Александр Балбашов,   AlliZzeN,   Oleksandr,   Дмитрий,   Артём Нагорный,   no name,   Permitin Alexey,   Кирилл,   Дмитрий,   Денис,   Den Andreevich,   AndreyGr,   MaxB,   Tim,   Tom .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Курс отличнейший. Много нового и полезного. Пока этот курс и курс "Секундомер" - мои фавориты. Следующим буду проходить "Простой WPF". Прикладываю скриншот с папками программ. Делать архив не вижу смысла.



Научился: Повторил запись видео с первого дубля ;-)
Половина созданных программ курса построена на работе с файлами. Возможно стоит создать отдельный раздел по написанию подобных программ.