5 место Не зарабатываем, но учимся всемогуществу с C# (90+ сниппетов, обновлено)

Discussion in 'Седьмой конкурс статей' started by Nick, May 15, 2017.

  1. Nick

    Nick Client

    Joined:
    Jul 22, 2014
    Messages:
    1,626
    Likes Received:
    647
    Использование C# в проектах Zenno Poster значительно расширит ваши возможности, поэтому в этой статье будет рассказано о том, как освоить этот нелёгкий навык - писать кусочки кода в Project Maker и использовать их для собственных нужд. Однако в рамках этой темы удержаться не удалось, поэтому во второй части статьи предлагается взглянуть на более общую картину: оценка языка C# и целесообразности его изучения; Zenno Poster как альтернативная среда разработки для полных новичков, желающих освоить серьёзное программирование.

    Если вы вообще впервые слышите о сниппетах в Zenno Poster, обратитесь к статье в Вики.

    Shut up and gimme snippets!


    Автор приложил к статье личную библиотечку сниппетов, которая кропотливо собиралась пару лет. Как ей пользоваться? Скачать архив, распаковать его в какой-нибудь каталог, настроить Zenno Poster на использование этого каталога. В дальнейшем, вы в свойствах действия "Свой код C#" кликайте правой клавишей и выбираете пункт "Вставить код из сниппета", выбираете сниппет под необходимые вам задачи. Исходный код обычно снабжён комментариями и ссылкой на страницу, на которой он был найден. Конечно, этот код потребует небольших изменений. Например, нужно будет заменить названия переменных на те, которые вы используете в своем проекте.

    В следующем видео показано, как выглядит переделка обычных «кубиков» действий на чистый C#-код с помощью сниппетов из библиотечки. Чтобы не заснуть, смотрите его на скорости 1.25 :-) Второй просмотр можно делать на скорости 0.5, повторяя действия в собственном Project Maker.



    Больше сниппетов, хороших и разных

    Если в коллекции не нашлось нужного сниппета, проведите поиск по разделу форума «Снипеты».

    Кроме того, Вы можете поискать необходимый кусок кода, скопировать его и адаптировать самостоятельно. Это гораздо сложнее, потому что обычно исходный код выкладывают для использования в в среде разработки Microsoft Visual Studio В следующем видео вы увидите несколько примеров того, как его адаптировать. По большому счёту, всё сводится к тому, чтобы выкинуть ненужные части. Мы просто используем только тот код, который объявлен внутри тела метода (внутри фигурных скобок {} ) и добавляем наши переменные в качестве аргументов.



    Там во второй половине интересный момент: автор уже подустал и проглядел строку, поэтому пошёл окольными путями, — но так оказалось даже интереснее!

    В конечном итоге, если самому забороть сниппет не удалось, всегда можно попросить помощи в топике «Бесплатные сниппеты на заказ».

    Сокровищница для самых пытливых

    Если вам интересно покопаться во внутренних методах и средствах Zenno Poster, посмотрите его внутреннюю документацию. Она сгенерирована автоматически на основе сотен тысяч исходного кода Zenno Poster, снабжена примерами, которые можно на прямую копировать в блоки "Свой код на C#". Там всё на английском, но вы не пугайтесь - просто вводите нужный ключевик и смотрите, какие есть методы. Кликайте на страничку метода и там смотрите пример его использования.

    Всё - фигня, кроме сниппетов. Да и сниппеты - тоже фигня

    Есть несколько причин, по которым имеет смысл осваивать язык программирования С# и платформу .NET Framework. Есть много языков, которые создавались раньше и зачастую не развивались системно - С, С++, perl, PHP. Язык был спроектирован в компании Microsoft не так давно по сравнению со старыми языками программирования, поэтому в нём были учтены ошибки и проблемы более ранних языков. В частности, в C# вам не нужно отслеживать выделения и освобождения памяти, за вас это сделает система. И за это удобство не придётся платить низкой скоростью. Другим очень важным преимуществом является глубочайшим интеграция языка и операционной система Windows, её компонентов. Именно на языках из семейства .NET Framework вы можете делать в системе всё, что вам заблагорассудится. Даже если каких-то экзотических функций нет в библиотеке языка, у вас всегда будет возможность подключить какую-то внешнюю библиотеку работающую на более низком уровне, и управлять ей из вашей программы на С#.

    Мы пойдём другим путём!

    При этом у языка есть несколько минусов. В частности, он довольно сложный для быстрого начала работы, потому что для программирования на этом языке нужно пользоваться средой разработки (я о MS Visual Studio), которая очень сложна для освоения. Кроме того, для написание простейшей программы нужно разобраться с массой сложных концепций, таких как классы и объекты, пространство имен, библиотеки, компилятор, компоненты, методы, области видимости, и так далее. Чтобы сделать простейшую бесполезную программу, нужно потратить десятки часов, вникнуть в массу непонятных идей и попытаться выполнить инструкции, которые на первый взгляд выглядят как китайская грамота.

    К счастью, у нас есть программа Zenno Poster, которая, по сути, является самостоятельной средой разработки. Её огромным плюсом является то, что она изолирует у вас от сложностей классического подхода и позволяет стартовать в С# маленькими шажками. Всё, что вы не умеете написать на C#, вы умеете делать встроенными средствами Zenno Poster, а дальше можете плавно заменять блоки на код.

    Не запутаться в паутине

    Другим недостатком языка является то, что он изначально развивался как средство разработки прикладных предложений в Windows, поэтому его применение для серверных и веб-технологии было реализовано гораздо позже и не очень удобными средствами. Но здесь нас снова выручает среда разработки Zenno Poster, потому что именно работа с сайтами и внешними системами, выполнение различных запросов к удалённым системам реализуется Zenno Poster, что называется, «из коробки» с помощью самых простых методов.

    За решёткой - сплошные плюсы

    Один из плюсов освоения языка С# в том, что он относится к классу так называемых Си-подобных языков, поэтому освоив его синтаксис, вы сможете более-менее разбираться и читать программы на других похожих языках Например, на языках С (Си), C++, PHP, Java, Java Script. Таким образом, работая программируя в Zenno Poster, Вы можете постепенно освоить язык и сделать это первый шаг к освоению языка программирования и становление себя как программиста. То есть, Вы можете сделать программирование на C# своей будущей профессией. А это профессия, которая востребована по всему миру и поэтому очень хорошо оплачивается.

    Что ещё освоить

    Кроме синтаксиса языка и понимания той системы библиотек и различных компонентов, с помощью которых работают программы на платформе .NET Framework, есть ещё очень важная область знаний, а именно структуры и алгоритмы обработки данных. При большом количестве данных их нужно уметь правильно организовать и потом оптимальным способом обрабатывать. На эту тему существует целая дисциплина, которая, кстати, не особо завязано на какой-либо язык программирования. Этому учат в ВУЗе, но вы можете получить основу и пройдя какой-нибудь онлайн-курс. Или прочитайте на досуге книгу. Это позволит вам в дальнейшем не спотыкаться о списки, таблицы и так далее, вы сможете не бояться работы с базами данных, где их требуется распределять по таблицам особым образом.

    Ещё! Ещё! Ещё!

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

    Если остались вопросы, у вас есть время до 19.05.2017, чтобы предложить мне дополнения и исправления. Если вы собираетесь написать что-то, что в основном адресовано мне, лучше пишите в личку, чтобы не засорять топик.
     

    Attached Files:

    Last edited: May 15, 2017
    Nike59, vasbka, Dorian_Gray and 44 others like this.
  2. samsonnn

    samsonnn Client

    Joined:
    Jun 2, 2015
    Messages:
    1,024
    Likes Received:
    523
    Где про многопоток? Про лок? Про разные плюшки и вкусняшки связаные с зенопостером? Где это все? А кучу текста, про то как появился язык C# я и в инете почитаю, автор заинтерисуй нас, покажи клас! может dll-ки полезные есть? Что то нестандартное, то чего нету в зеннопостере а с помощью C# реализовано? А то как по мне куча букаф а толку мало!
     
    Last edited: May 15, 2017
    Blazelip, zombie, Zymlex and 5 others like this.
  3. Dimionix

    Dimionix Moderator

    Joined:
    Apr 9, 2011
    Messages:
    3,079
    Likes Received:
    2,604
    Last edited: May 15, 2017
  4. Geograph

    Geograph Client

    Joined:
    Feb 16, 2014
    Messages:
    166
    Likes Received:
    75
    Спасибо за статью [​IMG]
    Ждем сниппетов :-)

    Не знал, что есть такой пункт в меню, позволяющий вставлять заранее заготовленные сниппеты!
     
  5. Sanekk

    Sanekk Client

    Joined:
    Jun 24, 2016
    Messages:
    621
    Likes Received:
    229
    Интересно глянуть на библиотеку сниппетов автора,может что то себе на вооружение возьму)
    А почему только 18 выложите?
     
  6. Nick

    Nick Client

    Joined:
    Jul 22, 2014
    Messages:
    1,626
    Likes Received:
    647
    Э-э-э... это всё обсуждалось на страницах форума, готовые решения доступны давным-давно. Я как-то не думал, что это ещё интересует кого-то. Ну, добавлю. Вообще статья про другое - про то, как на практике натянуть неадаптированный код на зеннопостер и допилить, чтобы он работал. Это гораздо ценнее, чем конкретные рецепты, потому что их всегда будет чуть-чуть не хватать для решения той проблемы, которую нужно решить прямо сейчас. Тут поможет только навык, который и можно выработать, повторяя действия из моих роликов.

    Сниппеты ещё не выложил, потому что хочу их ещё раз просмотреть и добавить побольше поясняющих комментов.
     
    SHoro and Tuw like this.
  7. IgorSush

    IgorSush Client

    Joined:
    Feb 11, 2016
    Messages:
    307
    Likes Received:
    101
    Только сейчас понял как реально использовать менеджер сниппетовo_O
    Век живи - век учись и дураком помрешь:D
    Автор кросаучег
    Хотелось бы еще подробней про "добавить в функциии и использовать в любом месте проекта"
     
  8. Lite

    Lite Client

    Joined:
    Oct 17, 2013
    Messages:
    197
    Likes Received:
    47
  9. Борат Сагдиев

    Борат Сагдиев Пользователь

    Joined:
    May 9, 2017
    Messages:
    61
    Likes Received:
    36
    Сниппеты нагуглить и я могу. Давай уже тогда за либы которые функционал зенки увеличивают.
     
    Zymlex likes this.
  10. AntonObukhov

    AntonObukhov Client

    Joined:
    Jan 4, 2016
    Messages:
    124
    Likes Received:
    105
    Очень полезная статья, C# сниппеты очень актуальны для оптимизации шаблонов которые постепенно из кубиков перерастают просто в громадные шаблоны. А так была бы интересна тематика реализации многопотока, как распаралеливать процессы для их одновременной работы даже в рамках ZennoPosterLite с небольшими примерчиками. Например работа в браузере сразу в нескольких вкладках, парсинг данных одновременно на двух трех страничках. Да и в принципе работу с многопоточностью. Про это к сожалению на форуме нет упоминаний. А так статья хорошая.
     
    Nick likes this.
  11. DenisK

    DenisK Client

    Joined:
    Jun 28, 2016
    Messages:
    239
    Likes Received:
    86
    Поддерживаю :D
     
  12. Nick

    Nick Client

    Joined:
    Jul 22, 2014
    Messages:
    1,626
    Likes Received:
    647
    Пишите ещё, кому что самое интересное. Про всё, по чему есть наработки, я сделаю дополнения.
     
    Juniorcpa and samsonnn like this.
  13. Oleg1987

    Oleg1987 Client

    Joined:
    Aug 11, 2014
    Messages:
    631
    Likes Received:
    287
    Нюансы работы со статическими членами в собственных классах (общий код либо dll ) при многопотоке
     
  14. Nick

    Nick Client

    Joined:
    Jul 22, 2014
    Messages:
    1,626
    Likes Received:
    647
    Сниппеты выложены! Налетай! http://zennolab.com/discussion/atta...nick-at-zennolab-com_discussion-v1-zip.20598/

    aes_encrypt_decrypt AES шифр расшифр.cs
    captchaRecognition капча распознавание.cs
    captchaRecognition_send капча распознавание отправка.cs
    date-time_formatted дата время с форматом.cs
    dateTimeFormat дата время с форматом.cs
    debugInfoWarning лог отобразить.cs
    defineFunction функцию определить.cs
    DOM pageReload перезагрузить страницу.cs
    DOM text from HTML преобразовать в текст.cs
    DOMfillElementSelectWithLastValue проставить значения в селектах.cs
    encoding_from_utf16toutf8 перекодировать из 16 в 8.cs
    exceptionHandling исключения обработка.cs
    fileSize файл размер.cs
    form showDialogYesNo показать диалог.cs
    form showDialogYesNo-autoclose да нет с автозакрытием.cs
    formOKCancel форма OK Отмена.cs
    formTwoButtons форма две кнопки.cs
    formWichCheckbox форма с галочкой.cs
    formWithTextInputField форма с полем ввода.cs
    ftpUpload загрузка по фтп.cs
    HTML to text убрать тэги.cs
    imageResizeSavingProportions картинка изм размер.cs
    json-deserialize_serialize упак распак.cs
    jsonDeserialize распаковка.cs
    list clear списки очистить.cs
    list srcList-regex-remove удалить по регулярке.cs
    list srcList-regex-var список регулярка.cs
    list srcList-regex_trgtList из списка в список по регулярке.cs
    listContains список содержит ли.cs
    listGetItemRange список взять диапазон.cs
    listItemAdd список добавить элемент.cs
    listItemIndexOf список вернуть индекс эл.cs
    listItemsCount список подсчет кол-ва эл.cs
    listRemoveByRegex список регулярка удалить.cs
    listSeekAndCopyRegexMatches список регулярка копировать.cs
    listSeekAndProcess список найти эл и обработать.cs
    listShuffle список эл перемешать.cs
    list_search_replace список поиск и замена.cs
    mysqlAddToZennoTable добавить в зенно-таблицу.cs
    mysqlBadEndHandling обработка ошибок.cs
    mysqlExecute.cs
    mysqlExecute_update обновить данные.cs
    own_method_re-register свой метод делегат (пере)регистрация.cs
    picture-add_watermark картинка водяной знак добавить.cs
    processRunHidden процесс скрытый запустить.cs
    project_variables_save_values проект переменные значения сохранить.cs
    proxyGetOrSet прокси считать или установить.cs
    randomNumberNoRepeats случайное число без дублей.cs
    regex from_url_to_domain_name домен выдрать.cs
    regex-multi несколько вхождений скопировать и объединить.cs
    regex-replace заменить по регулярке.cs
    regex.cs
    regexAllToList все вхождения добавить в список.cs
    regexRemoveHyperLinks убрать ссылки.cs
    send-key_Escape отправить Escape.cs
    sendEmailAttachFile отправить письмо с вложением.cs
    sendKeyCtrl+Enter отправить Ctrl+Enter.cs
    sound beep системные звуки Винды.cs
    sound-beep бип.cs
    string-manipulations строки операции.cs
    stringSplit строку разделить на части по заданному символу.cs
    switch свитч - вместо кучи if.cs
    table from variables to table таблица значения переменных проекта скопировать в таблицу.cs
    table таблицаНайтиСкопироватьВДругую.cs
    tableAnyCellContains таблица ячейки подходящие по регулярке скопировать в другую.cs
    tableContains таблица содержит ли.cs
    tableContainsGetCellIndexContaining таблица вернуть индекс ячейки содержащей.cs
    tableGetCellIndex таблица вывести индекс ячеек с нужным значением.cs
    tableIndexOfMaxValue таблица ячейка с макс значением.cs
    tableSeekAndCopyRegexMatches таблица найти и скопировать подходящие по регулярке.cs
    tableSeekAndProcess таблица есть ли нужное значение вообще.cs
    tasksAddTries_CreateNew задачу создать повторов добавить.cs
    tasksSetTries задаче повторы задать.cs
    text urlDecode раскодироватьИз.cs
    text urlEncode закодировать.cs
    textToImage текст в картинку.cs
    threadIDGlobal ID потока получить.cs
    timeComparison время сравнение.cs
    timeConversion время преобразование.cs
    timer таймер прошедшего времени.cs
    tryCatch код обернуть чтобы обработать исключения.cs
    unixTimestamp-getAndcompare получить и сравнить метку времени в юникс-формате.cs
    userAgentGenerate юзерагента сгенерить рандом.cs
    vkApi_getMembers ВК получить участников.cs
     
  15. Troll_UA

    Troll_UA Client

    Joined:
    Apr 11, 2016
    Messages:
    121
    Likes Received:
    31
    Хотелось бы увидеть как Windows Forms сделанные в Visual Studio адаптировать под проекты ZenoPoster.
     
  16. amyboose

    amyboose Client

    Joined:
    Apr 21, 2016
    Messages:
    2,052
    Likes Received:
    861
    Если честно, то это в-основном самые обычные сниппеты в пару строк, большинство из которых можно найти на этом форуме или в первых строчках поиска гугла. Поэтому я недоволен данной темой.
     
    Lord_Alfred and Zymlex like this.
  17. Лев

    Лев Client

    Joined:
    Dec 9, 2014
    Messages:
    286
    Likes Received:
    257
    Да, что-то эта тема у многих восторг вызвала - http://zennolab.com/discussion/thre...ystro-udobno-podborka-snippetov-vnutri.27710/ . Здесь че т и сниппетов побольше и так в целом инфы не меньше чем в той статье, но нынешние критики о той статье ничего плохого не писали. Странно странно ...
     
  18. Sanekk

    Sanekk Client

    Joined:
    Jun 24, 2016
    Messages:
    621
    Likes Received:
    229
    статья все же расчитана на новичков, наверное когда вы с# в первый раз увидели вам бы эти сниппеты и статья пришлась бы по душе))) а может и нет..., просто предположение...
    Nick, спасибо еще не все посмотрел,но есть что к себе в коллекцию закинуть)))
     
  19. arhip1985

    arhip1985 Client

    Joined:
    Oct 31, 2011
    Messages:
    2,598
    Likes Received:
    566
    в любом случае человек старался, после сниппетов сразу плюсанул
     
  20. orka13

    orka13 Client

    Joined:
    May 7, 2015
    Messages:
    1,225
    Likes Received:
    1,094
    Nick likes this.
  21. seoBB

    seoBB Client

    Joined:
    Sep 7, 2010
    Messages:
    110
    Likes Received:
    18
    Сама статья (в виде текста) не несет абслютно никакой полезной информации, но интересные моменты есть в видео + сами снипеты.
     
  22. emel

    emel Client

    Joined:
    Feb 21, 2015
    Messages:
    66
    Likes Received:
    11
    Спасибо. Регулярки видимо можно экранить с помощью конструктора выражений, должно получиться.
    "Пропускаю курильщицу" )))
     
  23. Zymlex

    Zymlex Client

    Joined:
    Oct 24, 2016
    Messages:
    1,475
    Likes Received:
    754
    Как писали выше, лучше дополнить статью примерами работы с dll (AngleSharp, xNet, аналоги или с чем есть опыт).
    Желающих проголосовать будет больше.
    Сниппеты лучше раскидать по папкам, что бы новичкам было проще.
    Типа:
    [Браузер]
    [MySQL]
    [Оповещение]
    ([ ] так как в CC у папок нет иконок)
     
    Last edited: May 16, 2017
    Kare, Lord_Alfred and Oleg1987 like this.
  24. seodima

    seodima Client

    Joined:
    Sep 21, 2014
    Messages:
    155
    Likes Received:
    37
    Уверен, что ТС дополнит тему фишками. У него часовая ставка 69 евро из чего следует сделать вывод о колоссальной занятости, а значит огромном опыте.
    Вам же есть, что нам показать, а? Не просто собрать воедино инфу с форума, а реальные фишки :-)

    Но вообще - спасибо.
     
  25. SVRyzhov

    SVRyzhov Client

    Joined:
    May 17, 2017
    Messages:
    28
    Likes Received:
    3
    Подскажите как в сниппете "listContains список содержит ли" вывести не просто "да/нет" а номер строки в которой попалось совпадение?
     
  26. SVRyzhov

    SVRyzhov Client

    Joined:
    May 17, 2017
    Messages:
    28
    Likes Received:
    3
    Разобрался. Просто i вместо yes
     
  27. Nick

    Nick Client

    Joined:
    Jul 22, 2014
    Messages:
    1,626
    Likes Received:
    647
    Ответы на вопросы

    Что делать, если определённый код повторяется

    Во-первых, есть раздел, в котором можно описать свой метод и потом его вызывать из других сниппетов в одну строчку. Добавляем новый блок в Project Maker, кликнув правой клавишей, Вставить - Свой код - C#.

    Если у вас старая версия ZennoPoster, то воспользуйтесь сниппетом из библиотечки, который называется own_method_re-register свой метод делегат (пере)регистрация.cs
    Где-нибудь в начале проекта вы добавляете блок кода на C# и вставляете в него этот сниппет:

    Code (csharp):
    1. //http://zennolab.com/discussion/threads/neponjatki-s-kontekstom.19667/
    2. //define a function
    3.  
    4. //вызываем функцию через контекст  - пример вызова
    5. //project.SendInfoToLog("Вызываем MyMethod", false);
    6. //return project.Context["MyMethod"]();
    7.  
    8.  
    9. if((null != project.Context["MyMethod"]))
    10. {
    11.     project.SendInfoToLog(project.Variables["Count_stream_info"].Value +" Проводится разрегистрация функции сброса переменных...", false);
    12.     project.Context["MyMethod"] = null;
    13. }
    14.  
    15.  
    16. if((null == project.Context["MyMethod"]))
    17. {
    18.     project.SendInfoToLog(project.Variables["Count_stream_info"].Value +" Проводится регистрация функции сброса переменных...", false);
    19.  
    20.     project.Context["MyMethod"] = (Func<string>)(() =>
    21.     {
    22.         //операции внутри метода, вставляйте свой код сюда:
    23.      
    24.         return "OK";
    25.     });
    26. }
    27.  

    В итоге у вас в начале работы проекта в контексте будет зарегистрирован метод под названием MyMethod, и вы можете вызывать его из любого места проекта парой строк:
    Code (csharp):
    1. project.SendInfoToLog("Вызываем MyMethod", false);
    2. return project.Context["MyMethod"]();

    Многопоток и глобальные счётчики

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

    Один из механизмов, помогающих разным потокам взаимодействовать - глобальные переменные. Начать с переменной-счётчика, в которой можно хранить, например:
    • индекс строки в списке, которую нужно обработать следующей;
    • количество повторов, которые уже сделаны;
    • количество работающих потоков
    • и т.п.

    Другими словами, любую информацию, которую каждый поток не может взять из своих собственных переменных, мы храним в глобальных переменных. У всех потоков будет к ним доступ.

    В начале проекта добавляем код для инициализации глобальной переменной - на случай, если проект только-только запустился в своём самом первом потоке.

    Code (csharp):
    1. lock(SyncObject) {
    2.     try {
    3.         //дл¤ глобальной переменной указываетс¤ емайл и им¤. ≈сли уже инициализирована, выходим по крайной линии
    4.         var gbVar = project.GlobalVariables["[email protected]", "globVar1"];
    5.         // go to bad exit if already initilized
    6.         return null;
    7.     } catch (KeyNotFoundException ex) {
    8.         int defaultValue = 0;
    9.         //раз не инициализирована ещЄ, то инициализируем и выходим по зелЄной!
    10.         project.GlobalVariables.SetVariable("[email protected]", "globVar1", defaultValue);
    11.         project.Variables["currentValue"].Value = defaultValue.ToString();
    12.         // go to good exit if we initilized
    13.         return "ok";
    14.     }
    15. }
    16.  
    А дальше выполняем всё, что запланировали, и в конце увеличиваем счётчик.

    Code (csharp):
    1. lock(SyncObject) {
    2.     var gbVar = project.GlobalVariables["[email protected]", "globVar1"];
    3.     gbVar.Value = Convert.ToInt32(gbVar.Value.ToString())+1;
    4.     project.Variables["currentValue"].Value = gbVar.Value.ToString();
    5. }
    Приложен файл multithread-example.xmlz, в котором эти блоки уже связаны стрелками.

    Обновление: добавлено ещё несколько сниппетов, часть из них убраны в папки. В старом PM они всё равно будут отображаться одним списком, правда.
     

    Attached Files:

    Boo, kveldulv, GreenWay and 4 others like this.
  28. Dimionix

    Dimionix Moderator

    Joined:
    Apr 9, 2011
    Messages:
    3,079
    Likes Received:
    2,604
    Наверно надо было тупо ссылку скинуть на тестовый проект rostonix'а, т.к. по вопросу, кроме копипаста его кода больше ничего и нет.
     
  29. Nick

    Nick Client

    Joined:
    Jul 22, 2014
    Messages:
    1,626
    Likes Received:
    647
    Я исходники взял из своего проекта, а вставил их туда больше года назад. Спасибо, что дал ссылку на тему, у меня её не было под рукой. Я вот ещё одну не могу найти - где был сниппет, который генерил несколько потоков внутри одного инстанса, для версии Light. Не подскажешь?

    А вообще, я и не планировал шокировать какой-то секретной инфой тех, кто и так уверенно программирует на C# (зачастую, получше меня). Это не для вас, а для новичков, которые не могут найденные сниппеты адаптировать под Зенку.
     
    SHoro likes this.
  30. Nick

    Nick Client

    Joined:
    Jul 22, 2014
    Messages:
    1,626
    Likes Received:
    647
    Кому нравится идея организовать общую папку на Яндекс.Диске, желающим туда добавиться и аккуратно пополнять библиотечку - лайкайте этот коммент и пишите свой яндекс-логин в личку. Наберётся человек 10 - организую)
     
    Ikigai, uero, Osedjuse and 11 others like this.

Пользователи просматривающие тему (Пользователей: 0, Гостей: 0)