# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
4 теста |
|||
Хочешь создать свой собственный, крупный проект? На этом уроке мы заложим основу твоей супер-программы — Портфолио, которое соберёт в себя все твои лучшие программы. Этот проект будет расширяться по мере создания новых программ. Задание: Создать программу-каталог своих лучших работ на C#. Обновлять каталог после каждой созданной программы. Отчёт отправил: 13417. Chip Выполнено за 3 час. 40 мин. [Показать отчёт] Научился: 1) разбивать окно приложения на несколько вкладок; 2) запускать внешнее приложение. Сложности: Создать динамичный интерфейс приложения. Комментарии: Выбрал первый способ создания портфолио: через запуск готового исполняемого файла. Добавил конфигурационный файл, который содержит пути к каталогам с играми, софтом. Программа считывает конфигурационный файл и выполняет поиск всех файлов в указанных каталогах, как и в программе "Английские карточки", и затем динамично формирует интерфейс. Таким образом, можно добавлять информацию о новых приложениях без перекомпиляции портфолио. |
|||||
2 | Шахматные часы |
2 теста |
|||
На этом уроке мы попрактикуемся в ООП - опишем объект для часов и создадим от него два экземпляра, для левых и для правых часов. Задание: Написать программу «Шахматные часы». Отчёт отправил: 13417. Chip Выполнено за 3 час. 10 мин. [Показать отчёт] Научился: Научился определять системное время. Сложности: Проблем не было. Комментарии: Добавил возможность установки произвольного значения стартового времени часов. |
|||||
3 | Баскетбольное табло |
2 теста |
|||
На этом уроке мы попрактикуемся в создании двух форм и передаче данных между ними. Задание: Написать программу для управления баскетбольным табло. Выводить результаты на весь экран большими цифрами. Отчёт отправил: 13417. Chip Выполнено за 2 час. 50 мин. [Показать отчёт] Научился: Научился перехватывать событие закрытие окна: вместо удаления окно скрывается. Сложности: Проблем не было. Комментарии: В процессе выполнения каждого урока узнаю что-то новое, повторяю уже полученные знания, спасибо за практику. |
|||||
4 | Прохождение теста |
3 теста |
|||
На этом уроке мы создадим программу для организации тестов, напишем алгоритм загрузки вопросов и вариантов ответов из файла, будем их перемешивать, проверять ответы, подсчитывать результаты. Задание: Придумать 5 вопросов и написать тестирующую программу. Отчёт отправил: 13417. Chip Выполнено за 3 час. 10 мин. [Показать отчёт] Научился: Повторил строки, генерацию случайных чисел, загрузку данных из файла. Сложности: Загрузить вопросы из файла. Комментарии: Расширил программу, убрал ограничение на 5 вопросов. Структуру файла оставил прежнюю: 1 строка это вопрос, 2, 3 и 4 строки это ответы. Первый ответ в списке правильный. Тематика теста - синтаксис языка С. |
|||||
5 | Расписание уроков |
3 теста |
|||
Видеоурок по созданию программы для расписания уроков. Используется визуальный компонент DataGridView. Расписание сохраняется в текстовый файл, откуда считывается при запуске программы. Отчёт отправил: 13417. Chip Выполнено за 4 час. 10 мин. [Показать отчёт] Научился: Научился выводить данные в таблицу, выполнять добавление, удаление строк, изменять данные в ячейке таблицы. Сложности: Реальзовать выделение, добавление, удаление строк в таблице. Комментарии: Добавил возможность загрузки и сохранения таблицы в выбранный файл. |
|||||
6 | Скорость на клавиатуре |
4 теста |
|||
На этом уроке я расскажу о программе Соло на клавиатуре, которую я в мазохистском запале прошёл СЕМЬ РАЗ и даже был Солистом 2004 года. Мы потренируемся в использовании таймера, событий клавиатуры и в скорости набора на ней. Задание: Написать программу определения скорости печати на клавиатуре. Отчёт отправил: 13417. Chip Выполнено за 2 час. 30 мин. [Показать отчёт] Научился: Повторил работу с таймером, секундомером. Сложности: Проблем не было. Комментарии: Немного изменил поведение программы, добавил фильтр вводимых букв: при событии key-press сначала определяется код нажатой клавиши, если это верная буква, то она добавляется в поле ввода, если буква ошибочна, то поле ввода остается без изменений. |
|||||
7 | Делегаты на кубиках |
4 теста |
|||
На этом уроке подробно показываю и объясняю, что такое делегаты, зачем они нужны и как их использовать. Чтобы Делегат был доступен в другом классе - он должен быть объявлен внутри одного пространства имён namespace, Отчёт отправил: 13417. Chip Выполнено за 124 дня 17 час. 53 мин. [Показать отчёт] Научился: В этом уроке впервые использовал связку autotools(система сборки проекта) + check(модульные тесты) + git. Попутно потренеровал навыки разработки через тестирование TDD. Зоопарк получился веселый и трудоемкий, на все задание ушло около 7 часов. В языке С нет встроенных делегатов, поэтому разработал "свои", на базе односвязного списка и указателей на функции. Реализовал операторы += -= через функции delegate_add delegate_remove и добился схожего функционала с программой из видеоурока. Сложности: Собрать проект с помощью autotools, добиться выполнения команды make distcheck. |
|||||
8 | Средняя оценка |
3 теста |
|||
На этом уроке мы узнаем секрет гениального интерфейса. Для этого программа должна быть максимально простой и удобной. Желающие смогут потренироваться в использовании делегатов. Задание: Написать программу для вычисления средней оценки. Отчёт отправил: 13417. Chip Выполнено за 3 час. 20 мин. [Показать отчёт] Научился: 1) Устанавливать текст всплывающей подсказки; 2) Использовать CSS для оформления виджетов. Сложности: Загрузить и применить настройки из CSS файла. Комментарии: Опробовал два предложенных способа, без использования делегата и с его использованием. Второй вариант понравился больше - класс Note сам вызывает функцию обновления текста меток при изменении внутреннего состояния. Компилятор частенько предупреждает об использовании устаревших возможностей библиотеки GTK, поначалу я скрывал предупреждения с помощью директивы, но теперь решил устранить эту неудобную проблемку. В этом уроке предупреждения были вызваны сменой размера шрифта на кнопках и метках. Более современное решения основано на использовании CSS файлов. Плюс такого подхода в том, что используются богатые возможности CSS для оформления программы и при этом вносимые изменения не требуют перекомпиляции проекта. Изменил файл, перезапустил приложение и сразу заметен результат. На втором скриншоте результат изменения CSS файла. |
|||||
9 | ФИНАЛЬНЫЙ УРОК |
|
|||
Задание: Записать видеообзор любой программы из этого курса. Отчёт отправил: 13417. Chip Выполнено за 2 час. 50 мин. [Показать отчёт] Научился: Повторил создание видеообзора. Сложности: Создать видеообзор, добавить текстовые комментарии к видео. Комментарии: Следующий курс укажет улитка:) Видеообзор: 604vtrq6bgA |
|||||
10 | VIP урок. Работа с WinAPI |
|
|||
Использование функций WinAPI для поиска и закрытия окон.
Отчёт отправил: 13417. Chip Выполнено за 4 час. 10 мин. [Показать отчёт] Научился: Научился получать доступ к списку запущенных оконных приложений, искать требуемое окно по его названию и закрывать найденное окно. Сложности: Получить список запущенных приложений. Комментарии: Довольно сложный урок, потребовалось много читать и пользоваться поиском. От себя добавил возможность закрывать дочерние окна приложений: на первом скриншоте открыто дочернее модальное окно Preferences файлового менеджера Nautilus. На втором скриншоте - окно закрыто и программа автоматически закрывает модальное окно при попытке открыть Preferences. Опасная программа, несколько раз GNOME предупреждал об ошибках приложений во время режима Auto Close :) Спасибо за урок! :) |
|||||
Итого: 10 видеоуроков |
7 час. 23 мин. 25 тестов |
46 чел. | |||
Финалисты: Новопашин Владимир, 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 . |