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:36:07
1 тест
120 чел. ★ 5 Done
  На этом уроке мы познакомимся с модульным тестированием.
Мы напишем небольшой калькулятор, в который добавим
проект для модульного тестирования, и покажем,
как это всё работает, как это нужно использовать.
Отчёт отправил: 4004. Елена Выполнено за 40 мин. [Показать отчёт]
Научился: Создавать модульные тесты и обрабатывать исключения 
Сложности: ничего 
Комментарии: Очень интересный урок. Надеюсь, что будет полезен мне в дальнейшем. 
2 Делегаты на кубиках 00:47:37
199 чел. ★ 4.9 Done
  На этом уроке подробно показываю и объясняю,
что такое делегаты, зачем они нужны и как их использовать.
Отчёт отправил: 4004. Елена Выполнено за 50 мин. [Показать отчёт]
Научился: Наконец-то я разобралась с делегатами!!! 
Сложности: Уже ничего :) 
Комментарии: Урок очень подробный. И наконец-то я разобралась с делегатами! Ура!!! 
3 Нити на кубиках 00:42:59
1 тест
117 чел. ★ 4.7 Done
  Демонстрация использования потоков с делегатами на примере игральных кубиков.

Отчёт отправил: 4004. Елена Выполнено за 30 мин. [Показать отчёт]
Научился: работе с потоками 
Сложности: Побороться с необработанным исключением при повторном запуске так и не удалось :( 
Комментарии: Вспомнился старый добрый ассемблер MASM со своим макросом INVOKE. Там при вызове INVOKE указывается имя функции, а потом через запятую перечисляются аргументы. Здесь тоже так попробовала сделать: if(InvokeRequired)             {                 DelegateShow show = ShowDice;                 Invoke(show, a, b);                 return;             } И ... о, чудо!!! ОНО ЗАРАБОРАЛО!!! Однако при повторном запуске приложения часто (но не всегда) возникает необработанное исключение, с которым я не знаю, что делать. Пробовала запускать код как на уроке - проблема не исчезла. Жалко, что не успела отчитаться по делегатам - вчера совсем не было времени. Но я выполнила предыдущий урок, и все получилось.  
4 Телефон по TCP/IP протоколу 00:47:44
67 чел. ★ 4.9 Done
  На этом видеоуроке мы создадим три класса, которые удобно
использовать для передачи данных между двумя компьютерами.
Отчёт отправил: 4004. Елена Выполнено за 5 мин. [Показать отчёт]
Научился: Связывать компьютеры между собой 
Сложности: ничего 
Комментарии: Изучила материал урока сегодня в курсе "Сокобан", это повтор. 
5 Обои рабочего стола 01:00:58
85 чел. ★ 4.9 Done
  Составляем программу - менеджер фоновых рисунков для рабочего стола.
Отчёт отправил: 4004. Елена Выполнено за 1 час. 40 мин. [Показать отчёт]
Научился: Управлять обоями рабочего стола, управлять файлами, создавать папки. 
Сложности: Вывести обои рабочего стола (потребовалось указать полный путь) 
Комментарии: 1) При попытке установить фоновый рисунок экран закрашивался в черный цвет. В реестре путь выглядел как paper/file.jpg. Пришлось прописать полный путь следующим образом: string dir = Environment.CurrentDirectory + "\\paper\\"; Может, конечно, в уроке это место просмотрела. 2) Я не стала удалять PictureBox, а просто освободила ресурсы перед удалением файла, и все получилось: private void list_picture_KeyDown(object sender, KeyEventArgs e)         {             if(e.KeyCode == Keys.Delete)             {                 if (list_picture.SelectedIndex < 0) return;                 try                 {                     picture.Image.Dispose();  // вот эта строка высвобождает ресурсы                     picture.Image = null;                     File.Delete(dir + list_picture.SelectedItem.ToString());                     ReloadPictures();                 }                 catch                 {  }             }         } 
6 Говорящие часы. Запись голоса 00:57:32
84 чел. ★ 4.9 Done
  На уроке создаём программу для записи звуковых файлов,
которые будут использованы для создания говорящих часов.
Отчёт отправил: 4004. Елена Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Работать с аудиофайлами на C# 
Сложности: понять, что значит строчка this.BeginInvoke(new EventHandler<WaveInEventArgs>(waveIn_DataAvailable), sender, e); 
Комментарии: Почему-то в записи воспроизводится только конец фразы. Может, я рано говорить начинаю. Может, компьютер подтормаживает. На всякий случай поменяла местами строчки, чтобы знать, что запись точно идет - стало немного лучше: private void label_record_MouseEnter(object sender, EventArgs e)         {             StartRecording(); // переместила вверх             label_record.BackColor = Color.LightCoral;             label_record.Text = "Идет запись!";         }         private void label_record_MouseLeave(object sender, EventArgs e)         {             StopRecording();             label_record.BackColor = Color.LightGreen;             label_record.Text = "Наведите мышку для начала записи";         } 
7 Говорящие часы. Воспроизведение 00:38:41
80 чел. ★ 5 Done
  На уроке пишем программу,
которая показывает и говорит текущее время
Отчёт отправил: 4004. Елена Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Воспроизводить аудио файлы по несколько подряд. 
Сложности: Разобраться с ресурсами пока не удалось :( 
Комментарии: Очень интересный урок. Правда, я так и не поняла, для чего аудиофайл со словом "минут". Может быть, у меня немного другое разбиение на файлы. Дело в том, что интонация произношения слова "двадцать" во фразах "двадцать минут" и "двадцать одна минута" разная. Поэтому я отдельно сделала файл "двадцать минут" и  отдельно файл "двадцать". И файл "минут" мне не понадобился. Очень хочу разобраться, как можно указывать имя ресурса без использования switch (с указанием строки с названием, которую можно сформировать по условиям), но пока не успела.  
8 ПОЛУФИНАЛЬНЫЙ УРОК 00:08:08
54 чел. ★ 4.8 Done
  Задание:
Посмотрите видеообзор об этом курсе Елены Вставской.
Она подробно рассказывает о программах, которые вы уже написали -
посмотрите, какие могли быть сложности и как с ними справиться.
Задание.
Написать отзыв об этом видео-курсе,
прикрепить свою фотографию,
указать своё имя и фамилию.

Отчёт отправил: 4004. Елена Выполнено за 15 мин. [Показать отчёт]
Научился: Формулировать полученные навыки 
Сложности: Собраться с мыслями 
Комментарии: Этот курс уже посерьезнее игрушек и содержит много полезной информации по тому, как правильно использовать различные ресурсы. Я наконец-то разобралась с делегатами, нитями и вдобавок клиент-серверными технологиями. Считаю эти знания для себя очень полезными и хочу двигаться дальше. Евгений, спасибо за всю предоставленную информацию и за способ ее изложения. Он нетрадиционный, но дает гораздо больший эффект по сравнению с учебниками. 
9 Клиент-сервер для смены обоев 01:00:07
1 тест
66 чел. ★ 4.9 Done
  Создание клиент-серверного приложения для удалённой смены фоновой картинки на рабочем столе.
На компьютере "жертве" стоит клиентская программа, которая подключается к серверу за получением ссылки на скачивание картинки, которую следует разместить на рабочем столе. Серверная программа обрабатывает подключения клиентов, отправляя им ссылки для фоновых картинок. Управление серверной программой реализована через редактирование конфигурационного файла.
Отчёт отправил: 4004. Елена Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Использовать интерфейс клиент-сервер для смены обоев рабочего стола. 
Сложности: Найти URL-адреса, поскольку урок выполняла без Интернета (видеоурок скачан на компьютер). Адреса были проверены в предыдущем уроке. А сейчас попробовала с локальными адресами - все прекрасно работает. 
Комментарии: Интересная получилась хакерская программка :) Программа - представитель диалогового приложения - приложения с минимальным интерфейсом. Попыталась создать пустой проект - без формы. Все хорошо, только с таймером запуталась. Не знаю, как использовать таймер без формы :( 
10 Мотиватор 00:31:12
1 тест
88 чел. ★ 4.9 Done
  На этом уроке мы научимся загружать картинку и рисовать на ней.
Результаты стараний отобразим на экране и сохраним в файл.
Отчёт отправил: 4004. Елена Выполнено за 40 мин. [Показать отчёт]
Научился: Размещать текст на изображении 
Сложности: Придумать идею мотиватора :) 
Комментарии: Сделала надпись "с тенью", разместив две одинаковых надписи разными цветами поверх друг друга. 
11 Печать таблицы + экспорт в Excel 00:38:16
1 тест
73 чел. ★ 4.9 Done
  Как вывести на печать таблицу.
Как экспортировать таблицу в Excel
Самый простой и быстрый способ.
Отчёт отправил: 4004. Елена Выполнено за 50 мин. [Показать отчёт]
Научился: Научилась работать с браузером, выводить на печать 
Сложности: ничего 
Комментарии: При повторном экспорте в Excel (если файл открыт) вылетает исключение. Поэтому я сделала блок try             {                 System.IO.File.WriteAllText("table.csv", csv.ToString(), Encoding.UTF8);                 System.Diagnostics.Process.Start("table.csv");             }             catch(Exception e)             {                 MessageBox.Show(e.Message,"Ошибка");             } 
12 Работа с WinAPI 00:49:53
1 тест
69 чел. ★ 4.9 Done
  Использование функций WinAPI для поиска и закрытия окон.
Отчёт отправил: 4004. Елена Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: использовать WinAPI в C#, закрывать окна 
Сложности: перепечатать используемые функции из урока :) (т.к. Интернета под рукой не было) 
Комментарии: 1) Мне кажется, проще обратиться к выделенному элементу списка так: textBoxTitle.Text = listWindows.SelectedItem.ToString(); 2) Когда окно закрывается, то оно остается в списке, поэтому при закрытии я вызвала функцию Refresh() - оформила ее в виде функции. А вообще, интересно получилось. Можно все окна позакрывать - какие надо и какие не надо :) 
13 Построение графиков 01:10:27
2 теста
64 чел. ★ 4.9 Done
  Рано или поздно любому программисту приходится строить графики.
Чтобы не изобретать велоиспед - лучше воспользоваться готовым решением.
На уроке мы установим библиотеку ZedGraph и познакомимся с её возможностями.
Настроим оси координат, легенду, добавим график, нарисуем стрелочки, всё разукрасим.
Отчёт отправил: 4004. Елена Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: строить графики с использованием ZedGraph 
Сложности: разобраться с компонентом ZedGraph 
Комментарии: Скачала компонент ZedGraph по указанной ссылке. Многие свойства и методы компонента отличаются от приведенных в уроке. Например, нет объекта ArrowObj, но есть ArrowItem. Но принцип понятен. В уроке упоминался вебинар по созданию архиватора, но в составе уроков по "Новым технологиям" его нет. А интересно было бы :)  
14 ФИНАЛЬНЫЙ УРОК 00:23:23
39 чел. ★ 4.8 Done
  Задание:
Записать видеообзор пары своих программ из курса Новые технологии.

Отчёт отправил: 4004. Елена Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Группировать программы для видеообзора 
Сложности: Записать видеообзор 
Комментарии: Движемся к финалу курса "Новые технологии"!!! 
Видеообзор: https://youtu.be/xTBuaNmwbv8
15 VIP урок. C# + MySQL через DataSet 00:45:50
1 тест
58 чел. ★ 4.9 Done
  Установка и настройка MySQL.
Создание базы данных.
Создание подключения.
Всё необходимое для начала работы с базой данных, с нуля.

Отчёт отправил: 4004. Елена Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Работать с базой данных в C# !!! 
Сложности: скачать mySql-connector.  
Комментарии: Это мое первое знакомство с базами данных в C#. Не стала устанавливать EasyPHP. Воспользовалась установленным Denwer-ом и phpMyAdmin. Действительно, все запросы скрыты, и тяжеловато их понимать. Наверное, есть другой способ взаимодействия с базой данных. P.S. Я закончила "Новые технологии"!!! Жаль, что урока по созданию архиватора в них не оказалось (в одном из уроков он был упомянут).  
16 VIP урок - Создание архиватора - 1 часть 00:39:44
47 чел. ★ 5 Done
  Архиватор - это программа, которая несколько файлов собирает в один.
Без сжатия. Сжатием занимается компрессор.
На этом уроке мы начнём писать архиватор.

Отчёт отправил: 4004. Елена Выполнено за 1 час. 50 мин. [Показать отчёт]
Научился: Работать с файлами, использовать режим Binary, "собирать" файлы в единый архив 
Сложности: разобраться с функциями, которые используются для чтения и записи данных 
Комментарии: Мне ОЧЕНЬ понравился этот урок. Не зря я очень хотела его пройти!!! Это, пожалуй, самый "глубокий" урок по работе с файлами. Кстати, о том, как создать единый файл я догадалась, но об используемых методах не имела представления. Например, для того, чтобы представить число типа int в виде массива байтов я бы по традиции стала использовать объединение union. Имею опыт работы с файлами. Ковырялась когда-то, лет 7 назад - создавала сама файловую систему FAT32 на SD-карте 32Гб и записывала в нее данные в виде файлов с помощью микроконтроллера. Поэтому урок для меня был достаточно понятный. Хотя много нового узнала. 
17 VIP урок - Создание архиватора - 2 часть 00:57:52
29 чел. ★ 4.9 $
  Продолжение урока по созданию архиватора.
Используется FileStream, BinaryReader, BinaryWriter.
Почитать о потоках можно здесь: http://kzachetu.ru/theory/4/112
18 VIP урок. Игра Жизнь 01:22:45
8 чел. ★ 4.9 $
  Я познакомился с этой игрой в дестве, когда даже компьютеров не было, играть в неё можно было только на листке бумаги в клетку. На уроке я расскажу правила игры, потом мы создадим класс по реализации логики игры, затем, используя метод динамического программирования, я покажу, как можно в 10 разу ускорить расчёт нового поколения (это по желанию), и, под конец, подключив созданный класс мы напишем саму игру.

Продолжительность урока 1 час 22 минуты,
Это программа - отличный тренажёр для начинающих программистов и хорошая программа в копилку вашего портфолио.
  Итого:   18 видеоуроков 13 час. 59 мин.
9 тестов
6 чел. ★ 4.9  
  Финалисты:   Иван Воронин,   Permitin Alexey,   vip,   Yefim,   Дмитрий,   MaxB .

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





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

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

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

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


Научился: Писать видеоотзыв с голосом, очень волновался!
Трудности: Найти время для написания видеоотзыва
Очень полезный Видео курс Новые Технологии!!Особенно понравилась программа Построение графиков https://www.videosharp.info/10008/checking/soft2=89


Научился: Записывать экран своего компьютера, и при этом ещё что то говорить
Трудности: Ухх.... записать видео, извините если что не так
Было круто, надеюсь в следующий раз у меня получится лучше, и не так тихо соседней комнате ребенок спал()