Си шарп с нуля

Формула программиста
основатель — Волосатов Евгений Витольдович




kalobyte
  • Звание: Рандомайзер
  • Накопленный опыт: 3 часа
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2016-11-09 04:16:07

Видеокурсы

Дата активности Видеокурс Прогресс
2016-10-02 soft0 Демо софт 3 из 7 43 %
Итого: 3 из 7 43 %

Консольные задачи

Этот формулист не решил ни одной консольной задачи
Сохранить страницу:

10558. Иван Воронин
Иван Воронин
ответить
→  kalobyte  # Демо софт / Менеджер паролей / 2016-10-03 09:35

Это классическая ситуация, когда на что-то лишнее тратится времени больше, чем на саму задачу =) молодец! удачи


10588. kalobyte
kalobyte
ответить
→  Иван Воронин  # Демо софт / Менеджер паролей / 2016-10-03 07:26

Я только что закончил делать шаблон openoffice calc для выписки счетов. Там используются макросы для форматирования области печати и экспорт в пдф и одс файл по нужному пути, который задает сам клиент в шаблоне. Я эти макросы первый раз вижу и дока по ним очень плохая.

Но это несколько не то, т.к. там еще довольно сложные вычисления каких-то буховских штук и иногда они не нужны и бухша их стирает, на что тратится время.
Надо просто галочки ставить и тогда эти опции будут включены в вычисления. Если понравится ей этот шаблон, то предложу написать отдельный софт.


8959. Максим Саратов
Максим Саратов
ответить
→  kalobyte  # Демо софт / Менеджер паролей / 2016-10-02 13:07

Вы упорный человек!


10558. Иван Воронин
Иван Воронин
ответить
→  kalobyte  # Демо софт / Менеджер паролей / 2016-10-02 11:28

Молодец! запросы это стимул двигаться дальше, дерзай, иногда приходится изучать новый язык во время заказа и параллельно и изучением сразу же писать приложение, удачи


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte  # Демо софт / Менеджер паролей / 2016-10-02 09:35

Правильный вывод - просто двигайся вперёд.
Дальше мы рассмотрим использование ООП.
Рекомендую курс "Теория ООП".


10588. kalobyte
kalobyte
ответить
→  Евгений Витольдович   / 2016-06-29 18:38

Спасибо за приглашение, но я терпеть не могу игры. В 94м мне показали, как реализуется в коде столкновение 2х объектов и у меня пропал интерес к играм. Меня больше интересует тема usb hid. Пробовал расковырять бесплатные обертки для hid.dll или libusb, но как обычно - ушло куча времени, а результата ноль. Потом я узнал, что виндовс захватывает мыши и клавиатуры и управлять ими нельзя. А я для простоты решил помигать светодиодом второй клавиатуры, но кроме как зависания ничего не вышло. Были куча примеров с custom requst, но мне пока это неинтересно.

Второй момент - работа со звуком, генерация звуков, модуляция дтмф, афск1200, бпск и все такое. В прошлом году нужно было сделать софт, который эмулирует старую железку, которая посылает в звуковой канал радиостанций специальный сигнал, который декодируется приемниками в машинах и включает магнитолу в режим радио для прослушивания сведений о состоянии на дорогах. Система из 70х.

Вобщем я так и не осилил, сделал на готовых библиотеках с модуляцией бпск31, сигнал как раз на слух похож. Потом сказали, что лицензию станции не продлили и оказалось не нужным.

3я тема - программно определяемое радио. Нигде ничего нет на русском по теме. Вроде есть люди, которые вроде бы в теме, но никто ничего не пишет. Как матановая формула описывает процесс модуляции или демодуляции хотя бы простейшего ам сигнала. Как это перевести в код и вообще понять. Вот есть хорошая статья https://habrahabr.ru/post/303104/
Сейчас опять надо сделать прогу, чтобы работала с этим приемником и декодировала рдс в текстовой файл + вещала в мр3 в сеть и чтобы все было консольное. Пока сделал из кучи консольных прог или одной графической, но неизвестная ее стабильность. Она кстати на шарпе написана.
Это типа будет контрольный приемник для радиостанции, а то человек купил целый трансивер с функцией приема укв станций и думал управлять им с компутера, а там по кабелю или данные, или звук. Оба одновременно не идет.

Так что я больше по железу. Если кто решит такой вебинар делать, то приду охотно.


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte   / 2016-06-29 15:14

Долго думал, что тебе ответить на всё это.
Наверное только одно - очень рад знакомству с таким удивительным и целеустремлённым человеком.
Да, галочки творят чудеса, как и остальные "маленькие секреты", которых тут множество :)
Желаю удачи в обучении и приходи в субботу на вебинар!


10588. kalobyte
kalobyte
ответить
→  Евгений Витольдович   / 2016-06-28 22:29

А я альтернативно одаренный. Для меня написать 100 строк кода уже великий труд, хоть я и с 94 года это делаю.
Там не сложно, если тупо переписывать код с ролика. А вот понять, почему программа именно так построена - вот в этом сложность. У меня в мозгу автоматически за доли секунды формируется полная картина, как бы это сделал я и оно мешает малость.

Ну и когда видиш готовый результат с парой строк кода, то на первый взгляд все просто. Я вот 2 проекта недавно допиливал. Там не применялся подход mvc, и кода хтмл, яваскрипт и пхп с запросами к бд был перемешан. Нужно было это перенести на новый хостинг и там вылезли глюки, т.к. софт был написан с 2006 года.

В другом софте надо было найти ошибку, почему не всплывает flexbox при отправке данных в форму. Заняло месяц, а решилось закомментированием непонятной яваскрипт функции в одном файле. Я так до конца и не понял причины.
Второй вопрос с запретом кешировать мп3 решился добавлением случайного числа типа sfsdf.mp3?nocache=rand().
Казалось бы пара строчек кода, а сколько времени ушло на понимание причины.

То же самое при ремонте электроники.

Программирование - это очень сложно. Сложно в плане не придумать алгоритм работы программы. У меня на это доли секунд уходят. Сложно заставить работать кучу хлама друг с другом. Этот компонент влц требует еще пары длл, которых вообще нет в дистрибутиве плеера. Непонятно откуда они взялись в моем проекте после компиляции.
Вот я не знаю ответ на этот вопрос. Значит я уже что-то не понимаю до конца. Непонимание ведет к дискомфорту. Чтобы дискомфорт убрать - надо понять до конца 100%. А для этого надо потратить кучу времени на поиск и прочтение материала.

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

А весь секрет - в тех волшебных чекбоксах, которые надо заполнить и выполнить задания.


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte  # Демо софт / Английские карточки / 2016-06-28 16:45

Разве там всё так сложно?
Вроде всё как-то проще на уроке было ...
Может стоит этот урок переместить в другой курс?


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte  # Демо софт / Двенадцать месяцев / 2016-06-28 11:06

Привет.
Я очень рад, что ты уже начал самостоятельно работать и разобрался в таких важных вопросах!

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Боле менее следить и держать весь проект в голове. Гуглить альтернативные решения, ответы на ошибки компилятора. Добивать проект до конца после многочасовой работы. Уже 13 часов, а встал я в 19 часов прошлого дня. Это вторая задача за это время + перерывы на еду и отвлечение.
Трудности: Разобраться с компонентом vlc плеера и правильно задать ему путь к файлу + выставить опции компиляции и интеграции.
Плохо, что изначально не было карты с переменными и функциями, чтобы понимать заранее, как будет устроена программа. Иначе уже из головы вылетает, какие типы данных приходят У меня стоит 8.1, обработанная winreducer перед установкой. Медиаплеер с его хламом был удален, как и многие компоненты. Отдельно он не устанавливается, т.к. просто не существует. Поэтому было решено найти альтернативу и она нашлась в виде activex vlc. Потрачены часы на поимку ошибок и разбор с правильным формированием пути к файлу. Путь к файлу начинается с указания протокола file:/// и только потом идет имя файла. file:///d:\\aaa\\bbb\\ccc.mp4" Не перепутайте слеши, а то они аж в глазах мелькают. Компонент добавляется как обычно + нужно добавить ссылки (references). В solution explorer есть пункт references, там правой кнопкой мыши "add reference", в разделе com найти поиском vlc. После этого добавятся 2 ссылки. Потом в коде form1.cs надо добавить using AxAXVLC; Потом самое главное - выставить настройки компиляции в свойствах проекта, раздел build. Для дебага и релиза надо указать платформу х86 в platform target. У кого система 64, нужно принудительно компилировать 86, т.к. обертка для длл влц есть только 32бит. Второй шаг - свойства линковки. В solution explorer в разделе preferences есть 2 ссылки AxAXVLC и AXVLC. Правой кнопкой мыши выбрать свойства и там в embed interop tipes поставить false. А копировать локально - true. После компиляции в папке с .ехе будут 2 файла: Interop.AXVLC.dll и AxInterop.AXVLC.dll Это обертки для axvlc.dll, что лежит в папке самого влц и является activex компонентом. При установке плеера надо выбрать там этот компонент для браузера internet explorer.
Научился: Работать с компонентами календаря и полем картинок. Ну засовывать и читать картинки в сам исполняемый файл.
Трудности: Доработать код, чтобы читал картинки из ресурсов.
Насколько я знаю - в исполняемый файл можно вложить ресурсы в виде картинок и тогда не нужны будут исключения. Я потратил еще час на поиск решения - как прочитать динамически из ресурсов. Как работает? 1. Создаем переменную img с универсальным типом object. 2. Получаем некие данные из ресурсов. img = Properties.Resources.ResourceManager.GetObject("_" + month); Сами картинки имеют имена в виде свойсв вида Properties.Resources. _1, Properties.Resources._2... Однако можно получить содержимое в виде набора данных через дополнительный класс ResourceManager и его метод GetObject с именем ресурса. 3. Сконвертировать общий тип object в тип Image при помощи оператора as. pictureBox.Image = img as Image; https://msdn.microsoft.com/en-us/library/cscsdfbt.aspx