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

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

основатель — Волосатов Евгений Витольдович

Менеджер паролей


На этом уроке мы будем работать с буфером обмена и открывать сайты в браузере по умолчанию.

Задание:
Создать программу для хранения паролей.

 

Самостоятельная работа

 1. 
 2. 
 3. 
 4. 
 5. 
 6. 
 7. 
 8. 
 9. 
 10. 

Для отправки отчёта по видеоуроку необходимо зарегистрироваться.

 

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





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

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

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

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


Научился: Отличный урок. Научился открывать ссылки в браузере, копировать текст в буфер, выделять текст... Сделал как в видео уроке, но решил доработать. Захотел сделать не 3 строки в tableLayoutPanel, как в видео примере, а поле с выпадающим списком....Так же, чтобы поля логин и пароль были в единичном экземпляре и менялись в зависимости от выбора поля списка...Ну и до кучи, чтобы можно было прямо из формы дописывать новые значения в список... 1) Решил воспользоваться элементом ComboBox (заодно и разобраться как он работает). Добавил его вместо Label Link. Поле "логин" оставил как в видео примере. Поле пароль сделал звездочками TextBox (так больше нравится, чем кнопка) 2) Далее занялся вопросом наполнения списка. Оказалось не все так просто, как я думал))) Добавил в него предопределнные значения и понял, что мне это ничего не дает...Ведь в нем получится хранить имя сайт...А где тогда будут логин и пароль? Отложил вопрос и решил для начала добавить программно список сайтов. 3) На форме сделал несколько полей (название сайта, логин, пароль и кнопку “добавить”). Пометил их так же в tableLayoutPanel. Сделал CheckBox, решив от его состояния показывать поля добавления или нет... Пришлось поковыряться с привязками, чтобы отображение было нормальным. Так же долго возился с центрированием формы (если есть доп. меню или оно скрывается). В итоге погуглил и как результат смог написать функцию, которая определяет центральное положение формы с учетом изменения ее размеров в зависимости от того показано ли доп. меню или нет. 4) Когда все было готово и добавление в список наладилось, я заметил что, закрыв программу, список открывался пустой...Погуглив понял, что необходимо хранить данные в файле.. Сделал текстовый файл в папке с проектом. Написал функцию записи в файл при нажатии кнопки “добавить”. А при загрузке формы функцию которая считывает данный файл, парсит строки и наполняет список... В общем проделал для себя огромную работу по прокачиванию навыков..Почти все вышеописанное делал впервые...Было очень интересно. Затянул меня С# )))
Трудности: Искать в слепую методы и варианты решения поставленных перед собой задач.



Научился: Научился создавать менеджер паролей и узнал как работать в WInForms с буфером обмена.
Трудности: Сделать новую функцию авторизации на сайты.
Сделал (вернее содрал с курса Webbot) функцию авторизации на сайт. То что приходится информацию приходится выуживать с тегов контролов - как-то муторно - у меня есть мысль где-нибудь в облаках - например в docs.google.com хранить табличку - пароль зашифровать хэш.функцией md5 - чтобы юзвер не знал какой пароль - расшифровку производить непосредственно во время авторизации на сайт - просто подставляем данные и запускаем функции расшифровку пароля и нажимаем кнопочку авторизации на сайт. Да кстати - пришлось помучаться с этой функцией авторизации - например на mail.ru для входа используется кнопка "Войти", а вот у Евгения Витольдовича "Вход", у gmail.com - почему начала по английски писать кнопку - Next ( эта кнопка сделана на JS - поэтому ее нужно было нажимать через Invoke, остальные через Navigate). К сожалению универсального входа на сайт не получилось - 3 сайта и у каждого сайта свои тараканы :((((. Да кстати - логины на все 3 сайта одинаковые - это не ошибка.