Уроки C# - Работа со строками - Replace, Contains, Remove, Trim, ToLower, ToUpper

Sdílet
Vložit
  • čas přidán 13. 04. 2019
  • Донаты и на кофе ➜ t.me/win10tweaker/171
    Эксклюзив для спонсоров ➜ / xpuct
    Если недоступна спонсорка ➜
    Шпаргалка
    win10tweaker.ru/strings
    #Replace #Contains #Remove #Trim #ToLower #ToUpper #СиSharp #СиШарп
  • Věda a technologie

Komentáře • 205

  • @alvoltta
    @alvoltta Před 4 lety +11

    Я ж и говорю, 60% времени вы тупите.
    Ахахахахаахах. ТЫ НЕДООЦЕНИВАЕШЬ МОЮ МОЩЬ!!!!11111

  • @user-nq8yb7kj1r
    @user-nq8yb7kj1r Před 3 lety +4

    Дядя ты лучший! столько полезной инфы и так быстро и доходчиво!!!

  • @IISh_M
    @IISh_M Před rokem +4

    Привет. С удовольствием слушаю, что ты вещаешь. Благодарен за знания которые передаешь!! Слушать легко, интересно и довольно неплохо воспринимается и усваивается информация, это радует. За дельные советы, нюансы и фишки очень благодарен! Здорово, что даешь практичные и легко применимые примеры. В общем, подход дельный, береги себя, верь в себя, и продолжай в том же духе. По LINQ урок мне тоже оч понравился. ✊👍🙏

  • @FiaDoot
    @FiaDoot Před 3 lety +10

    Христ, я хочу сказать одно, спасибо тебе огромное! Благодарю тебя за то что ты тот кто смог меня научить всему этому, я пересматриваю эти ролик спустя год что бы не упустить тонкости, я наконец-то смог создавать программы которые имеют спрос среди моих пользователей, спасибо тебе!

    • @XpucT
      @XpucT  Před 3 lety +6

      Спасибо Тебе 🤝
      Я очень рад, что Ты продвинулся дальше многих 👏
      Будут ещё уроки. Довольно актуальные в эпоху сети ;)

  • @deverloperfantom1372
    @deverloperfantom1372 Před 2 lety +1

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

  • @user-io6tp1ob3p
    @user-io6tp1ob3p Před 4 lety +2

    Всё круто и полезно. Борода в стиле Quake тож понравилась :)

  • @kabanenko5319
    @kabanenko5319 Před 3 lety +11

    Наверное уже поздно но всё же.
    Мужик спасибо большое, нам дали задания (учусь на программиста) с или очень тупым или вовсе без объяснения.
    Посмотрел первые 5 мин ролика и уже сделал 80% задания. Просто огромное спасибо!!!

  • @js13
    @js13 Před 5 lety

    урааа, я думал конец,спасибо тебе за старание!!!!!!!!

  • @user-sm6du2wh7r
    @user-sm6du2wh7r Před rokem +1

    Помню год назад когда начинал пользоваться Zennoposter, методом тыка всё это изучал=) а тут дядя Хачатур показывает на примере.

  • @rsa-bunker8649
    @rsa-bunker8649 Před 5 lety +2

    Спасибо большое написал программулину по выборке телефонных переговоров. Раньше тратил на эту лабуду полдня. Теперь все получается за доли секунд. Класс!

    • @XpucT
      @XpucT  Před 5 lety

      Горжусь 👍

  • @user-nv4yz5bt4g
    @user-nv4yz5bt4g Před 4 lety +2

    Вы все методы класса String покажите . Когда показываете метод - говорите из какого он класса , потом будет удобнее его найти в справочнике или самоучителе . А вообще классные уроки !

  • @kingartur1986
    @kingartur1986 Před 3 lety +1

    Cпасибо

  • @CyberSatan
    @CyberSatan Před 4 lety +3

    Возможность присваивания строковой переменной несколько строк продиктована тем, что тип string в C# воспринимается как последовательность (массив) символов.

  • @86werth
    @86werth Před 4 lety +1

    Круто

  • @mehriddinabdullaev3870
    @mehriddinabdullaev3870 Před 4 lety +1

    Ассалому алайкум Хачатурака! За класные уроки огромный Рахмат!!! В качестве домашная задания написал программу каторий переводит Кирилский буквы на Латинский и обратно. Возник проблема с буквы "е"(кирилский) это букву надо читат как "э", местами "йе" для этого я написал это:
    ... else if(textBox1.Text.StartsWith("е")) textBox1.Text = textBox1.Text.Replace("е", "ye");// ("Узбекский кирил", "O`zbekcha lotin") else if (textBox1.Text.Contains("е")) textBox1.Text = textBox1.Text.Replace("е", "e"); ... тепер когда запускаю и набераю текст:"место елена" программа переводит "myesto yelena" пожалуйста, помогите как исправит. Знаю где ошибся но как решит незнаю.

  • @ianm8107
    @ianm8107 Před 4 lety +6

    привет Хачатур спасибо за урок!мне 14 лет но я работаю в юнити и в будущем настроем на гейм дев, нужен си шарп, твои уроки это просто пушка. сделал дз, криво, но все вычисляется нормально и работает тоже.В основном был настроен на то чтобы разобраться с Replace, поэтому не особо заморачивался насчет мелких ошибок и вычитаний.
    bool fix = false;
    async private void button1_Click(object sender, EventArgs e)
    {
    if(fix == false)
    {
    textBox2.Text = File.ReadAllText(file2);
    await Task.Delay(3000);
    Method();
    await Task.Delay(1500);
    button1.Text = "Исправлено";
    await Task.Delay(500);
    fix = true;
    button1.Text = "Скопировать в буфер";
    }
    else
    {
    Clipboard.SetDataObject(textBox2.Text);
    textBox2.Text = "Готово";
    }


    }
    void Method()
    {
    string line = textBox2.Text;
    line.Replace("еще", "ещё");
    line.Replace(",,",",");
    line.Replace("пожалуйста", "пожалуйста,");
    line.Replace("я", "Я");

    }

    • @XpucT
      @XpucT  Před 4 lety +1

      Привет 🖐 Похвально! 👏

    • @SAYREXPlay
      @SAYREXPlay Před 2 lety +1

      @@XpucT а зачем здесь строка textBox2.Text = File.ReadAllText(file2); ?

    • @XpucT
      @XpucT  Před 2 lety +1

      @@SAYREXPlay чтобы занести в textBox2.Text всё то, что находится в файле file2.
      Главное не забегать вперёд и идти строго последовательно.

    • @SAYREXPlay
      @SAYREXPlay Před 2 lety +1

      ​@@XpucT ясненько. Я почему то подумал что нужно взять текст из буфера обмена

  • @igorbilinkin6375
    @igorbilinkin6375 Před 5 lety +1

    Посмотрел основу, все гуд, лайк, подписка))
    В общем из пожеланий: пролистал плейлист, не нашел ничего про базы данных, а очень хотелось бы, дальше скажу почему.
    Предыстория: собственно почему стал учить C#, в общем то с программированием знаком, 2 года работал в веб-студии. Сейчас работаю на крупном заводе, большой парк компьютерной техники и для того что бы сотрудники моего IT-отдела пошли и исправили у кого то какие то неполадки с техникой, пользователь должен написать заявку, подписать у своего руководителя, подписать моим руководителем, потом должен подписать я и отдать заявку своему сотруднику что бы он что то пошел и сделал, хотя там и работы то на 5 минут, в общем советская бюрократия.
    К делу: хочу написать некое подобие электронного Документооборота. Программка, в ней заведены пользователи, у каждого есть права, допустим подача заявки, подписание документа, принятие в оборот и к примеру что бы пользователь по выполнению работ подтверждал выполнение. И что бы все это в базе хранилось и в любой момент, начальник мог посмотреть когда были заявки, сколько и как выполнялось. Для начала. В последствии перевести в программу все журналы работ, регистраций и прочей лабуды.
    Так что если есть знания работы с БД, поделись, очень нужно, у меня в них большой пробел, а у тебя все отлично получается объяснять. Ну и распределение прав, как это вообще работает и как это реализовать.
    А за курс огромное спасибо, Win 10 Tweaker пользуюсь, прога огонь, до просмотра курса не знал что ты ее написал. Продолжаю смотреть дольше. Спасибо все очень интересно.

    • @XpucT
      @XpucT  Před 5 lety

      С базой данных знаком и там как раз всё очень и очень просто.
      Знаний php нужно вот прям минимум. Когда сделаю видео, Ты будешь в шоке и одновременно в восторге от того, как легко и быстро сделать базу данных, а точнее, как вообще с ней работать. То есть как подключаться, как вносить изменения, как читать, как делать так, чтобы другие не могли ничего менять, а только читать. Как сделать так, чтобы никто не мог достучаться просто так и прочее и прочее. В одном небольшом видео будет полнейший охват вопроса и думаю все будут очень рады и удивлены тому, насколько это всё просто =)
      Это будет действительно очень простой урок. Даже mySql и php не нужно знать. Там нужен не просто минимум, а тупо шаблон, которым поделюсь. Но позже, сейчас очень занят и дела семейные не позволяют пока. Но курс продолжится с уклоном как раз на продвинутые вопросы и фичи. Я постепенно отмечаю для себя из комментов, какие темы приоритетнее. Но всё потом.

    • @igorbilinkin6375
      @igorbilinkin6375 Před 5 lety +2

      @@XpucT Все, ок жду с нетерпением, заранее спасибо)

  • @XpucT
    @XpucT  Před 5 lety +7

    Домашнее задание:
    Необходимо сделать программу, в которой должен быть TextBox и Button.
    1. Пользователь должен вставить в поле любую статью или цитату из интернета.
    2. Нажатие на кнопку исправит все слова еще на ещё, все равно на всё равно.
    3. Нажатие на кнопку также должно расставить запятые по правилам русского языка.
    4. Кнопка Исправить должна писать Исправлено после исправления.
    5. Спустя пару секунд на кнопке должно быть написано Скопировать исправленный текст.
    6. Текст, который исправлен в поле TextBox должен лететь в буфер обмена.
    7. Кнопка пишет Скопировано в буфер обмена.

    • @XpucT
      @XpucT  Před 5 lety

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

    • @XpucT
      @XpucT  Před 5 lety +1

      @@igorcoolman Можно в коммент 👍

    • @XpucT
      @XpucT  Před 5 lety

      С двумя запятыми, красава, верный подход.
      Касаемо слово "все" - не факт, что там всегда буква ё.
      Поэтому предпочтителен перебор фраз "всё равно", "всё верно" и т.д.

    • @XpucT
      @XpucT  Před 5 lety

      С запятыми Игорь верно смекнул - нужно сначала заменить слово "пожалуйста" на "пожалуйста, ". Таким образом есть риск, что где-то появятся две запятые и он сразу же убирает их методом замены двух запятых на одну.

    • @kodersurocecode267
      @kodersurocecode267 Před 5 lety +1

      @@XpucT Решил

  • @Limonchik335
    @Limonchik335 Před 3 lety +1

    Придумал вот:
    label1.Text = WriteLine();
    В скобках нужно указать метод рандома из которого будет браться номер строки и указать путь к файлу в котором на каждой строке есть текст
    То есть текст лейбла равен рандомной строке из файла

  • @screeki6934
    @screeki6934 Před 5 lety +2

    Ура, ещё один человек который знает про тильду.

    • @XpucT
      @XpucT  Před 5 lety +1

      Всегда писал букву ё и никогда не понимал, почему так сложно удержать её на телефоне или ткнуть на клавиатуре. Как будто буква е дофига времени экономит. Сказал бы Я что экономит время. Уж точно не буква е.

    • @screeki6934
      @screeki6934 Před 5 lety +1

      @@XpucT Так и не только в интернете подобная проблема, в той же школе было неудобно итать чужие записи, с буквами е, заместо ё

  • @MacmepI-II-I
    @MacmepI-II-I Před 2 lety +1

    2:31 Ох уж эта "C" или "с"... Тот самый случай, когда неосознанно повторяешь одну и ту же ошибку за маэстро 🙂 - спасибо русификации клавиатуры за это 😅

  • @Kozeniuk
    @Kozeniuk Před 5 lety +2

    Уважаемый Хачатур! Не будет ли видео на тематику "О вкусах спорят"? Интересна именно ваша концепция. Просто бездна подводных потоков информации. Просто великолепно.

    • @XpucT
      @XpucT  Před 5 lety

      Что начать задвигать на эту тему, нужно, чтобы дошло до точки кипения.
      Либо делать отдельный канал на тематику мира вообще.

    • @Kozeniuk
      @Kozeniuk Před 5 lety +1

      @@XpucT Спасибо за ответ. Я реально учу по Вашим материалам студентов. Это замечательно. Это целая ноосфера. Спасибо Вам.

  • @daddysdiary4722
    @daddysdiary4722 Před 5 lety +1

    фоновый соундтрэк уж больно по душе Дорогой Хачатур...я бы скачал его гденибудь у Вас... слушал бы его и слушал во время своих шабашек..

  • @user-hn8me8un7p
    @user-hn8me8un7p Před 3 lety +4

    Спасибо тебе! Впервые я сделал код сам (ну почти (: )
    Вот что получилось у меня:
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    int i = 0;
    async private void button1_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text.Replace("Еще", "Ещё");
    textBox1.Text = textBox1.Text.Replace("Все", "Всё");
    while (i != 2)
    {
    i++;
    await Task.Delay(1000);
    button1.Text = "Копировать";
    }
    Clipboard.SetDataObject(textBox1.Text);
    }
    }

    • @MegaAlexprim
      @MegaAlexprim Před rokem +1

      тут условия не хватает, в задании говорилось после того как текст исправлен надпись на кнопке должна сменится на исправлено, а уж потом на Копировать.

  • @print_profi5493
    @print_profi5493 Před 2 lety

    Привет! А можешь дать название книги или ссылку на урок, где объясняется вывод документа на принтер, ну типа как сделать накладную и вывести её на принтер. Спасибо!

  • @user-dm4jn2jg4p
    @user-dm4jn2jg4p Před 4 lety

    19:21затем что именно возвращает и именно копию, то бишь на сому строку влияния не оказывает. Копирует строку, изменяет ее и возвращает обратно уже новую строку с новым адресом в памяти. laibel2.Text=label1.Text.ToLower() результат в лэйбле 1 строка остается без изменений в лэйбле 2 появляется новая строка идентичная строке в лэйбле 1 но все буквы в ней будут маленькими.

  • @user-rv7ep6wy5t
    @user-rv7ep6wy5t Před 3 lety +1

    Помогите пж🙏. Как поменять местами первое и второе слово в listBox?
    Я не могла сделать

  • @user-si6ww3gi2l
    @user-si6ww3gi2l Před 4 lety

    можно создать 2-мерный массив и в первом массиве написать ошибки, а во втором написать правильные слова
    потом циклом перебирать и изменять ошибки

  • @rffyyjeusush5142
    @rffyyjeusush5142 Před 2 lety +1

    Спасибо за видео! А как написать программу, которая меняет в строке заглавные буквы на строчные, а строчные на заглавные?

    • @XpucT
      @XpucT  Před 2 lety

      Продолжайте просмотр плейлиста =)
      Все ответы уже есть.

  • @Krusensterrn
    @Krusensterrn Před 5 lety +1

    Спасибо за крутой урок!) Кстати я уже дня 3 борюсь с багом, может у вас будут идеи. Дело в том что я написал сервер, и чат на нем реализовал через json, и получается что когда один клиент отправляет второму сообщение, то он находит его текстовый файлик, и вписывает в него это сообщение, и если выйти с сервера нормально, т.е закрыть сокет и все такое, то нет проблем, ну а если просто закрыть клиент не по правилам, то при попытке прочитать это сообщение, сервер начинает глючить, второй клиент не может получить доступ к файлу. Можно ли как-то освободить файлик? Ну т.е закрывать процесс, что бы он не мешал, т.е записал и освободил. Я рылся в сети, пишут про потоки, то что можно через поток текст передать, и просто закрывать поток, но я что-то сомневаюсь что это поможет, а вы как думаете?

    • @XpucT
      @XpucT  Před 5 lety +1

      По Вашему вопросу обязательно к просмотру:
      1. czcams.com/video/ltvFrWCqL6g/video.html
      2. czcams.com/video/vHqHrf914TA/video.html

  • @user-kd1zc7bp2t
    @user-kd1zc7bp2t Před 3 lety

    А есть видосики про динамические листы, DataGridView и т.п. ?

  • @Мибус
    @Мибус Před 2 lety +1

    Мне понравилась идея в комментариях запихать сюда ещё и прогресс бар. Попытался реализовать его в привязке к ходу выполняемых операций по исправлению, привязав к переменной, чтоб была возможность в дальнейшем, с появлением новых операций по проверке текста, изменять процент заполнения полоски. Понятно, что там на выполнение всего кода уходят доли секунды и заполнение прогресс бара будет не заметно, поэтому навтыкал делеев, по другому не придумал как сделать) Кстати, вот тоже интересно почему если задержка меньше 1 секунды, то анимация заполнения полосы не доходит до конца? Приходится ставить дополнительную задержку после цикла for, чтобы видно было полоску при 100%
    Реализовал через свитч кейс, т.к., мне показалось, что в таком виде удобнее дополнять список новых правил проверки, плюс хорошо видно их количество для того чтобы присвоить значение переменной num.
    async void Button1_Click(object sender, EventArgs e)
    {
    if (textBox1.Text != "")
    {
    int num = 12; //количество операций по исправлению
    progressBar1.Visible = true;
    for (int i =0; i

    • @Мибус
      @Мибус Před 2 lety +2

      Немного модифицировал код, мне показалось, там слишком много повторяющихся элементов и сделал функцию возвращающую две текстовые переменные. Пришлось только погуглить как объявить такую, а дальше методом тыка разбирался как это со свитч кейсом заставить работать. Хотел запихнуть ретёрн сразу туда, но выдавало ошибку, пришлось вводить ещё дополнительную переменную. Наверняка очередной говнокод, но это такой кайф, когда оно начинает работать как ты хочешь))
      async void Button1_Click(object sender, EventArgs e)
      {
      if (textBox1.Text != "")
      {
      int num = 12; //количество операций по исправлению
      progressBar1.Visible = true;
      for (int i = 0; i < num; i++)
      {
      textBox1.Text = textBox1.Text.Replace(Nabor(i).Item1, Nabor(i).Item2);
      progressBar1.Value += 100 / num;
      await Task.Delay(3000 / num);
      }
      progressBar1.Value = 100;
      await Task.Delay(1000);
      button1.Text = "Исправлено";
      progressBar1.Visible = false;
      progressBar1.Value = 0;
      await Task.Delay(2000);
      Clipboard.SetDataObject(textBox1.Text);
      button1.Text = "Скопировано в буфер обмена";
      }
      else
      {
      button1.Text = "Введите текст";
      await Task.Delay(2000);
      button1.Text = "Проверить";
      }
      }
      (string, string) Nabor(int num)
      {
      (string, string) a = ("", "");

      switch (num)
      {
      case 0: a = ("Ерш", "Ёрш"); break;
      case 1: a = ("ерш", "ёрш"); break;
      case 2: a = ("Все же", "Всё же"); break;
      case 3: a = ("все же", "всё же"); break;
      case 4: a = ("Ежик", "Ёжик"); break;
      case 5: a = ("ежик", "ёжик"); break;
      case 6: a = ("нес", "нёс"); break;
      case 7: a = ("Нес", "Нёс"); break;
      case 8: a = ("Пожалуйста ", "Пожалуйста, "); break;
      case 9: a = (" пожалуйста ", ", пожалуйста, "); break;
      }
      return a;
      }

  • @IISh_M
    @IISh_M Před rokem +1

    Вопрос по уроку. Как в массиве заменить все пустые строки(ячейки) когда в них вроде пусто а пробелов или нет или много в этом пустом. Как правильно записать код замены, по всему массиву где много строк, пустого на любое слово?

    • @XpucT
      @XpucT  Před rokem

      Придётся подождать до 20 урока.
      Крайне не советую бежать с этим вопросом вперёд, не узнав кое-что ранее.
      Очень важно первые 20 уроков посмотреть по порядку.

  • @baxram97
    @baxram97 Před 2 lety

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

    • @XpucT
      @XpucT  Před 2 lety +2

      9 из 10 благодарны за то, что обучаю не просто языку, а применению. При чём не на сложном в понимании новичка MVVM или бестолковом Console, а на живом примере. Круглый год такие комменты и да, это Я предугадал сразу. Иначе человек с нулевым знанием не знает что к чему привязать. Нужны всегда живые примеры и ошибки. Без них урок не усваивается с первого раза.

  • @user-ku6sf7ug2p
    @user-ku6sf7ug2p Před 4 lety

    Всем привет, подскажите как перевести в верхний регистр последнюю букву в каждом слове ?

    • @XpucT
      @XpucT  Před 4 lety

      Привет 🖐
      По аналогии: www.cyberforum.ru/windows-forms/thread1482685.html

  • @user-ws6us6qq9k
    @user-ws6us6qq9k Před 4 lety +1

    Как называется прога, с помощью которой ты себя снимаешь?

    • @XpucT
      @XpucT  Před 4 lety

      czcams.com/video/e2CSSuW2Wac/video.html

  • @Roman-ww3ip
    @Roman-ww3ip Před 4 lety +4

    Спасибо за урок, после плюсов интересно и легко переходить на шарп, благодаря тебе. ДЗ:
    async private void button1_Click(object sender, EventArgs e)
    {
    if (button1.Text != "Скопировать")
    {
    textBox1.Text=textBox1.Text.Replace(" пожалуйста ", ", пожалуйста, ").Replace(" еще"," ещё");
    button1.Text = "Исправлено";
    await Task.Delay(2000);
    button1.Text = "Скопировать";
    }
    else
    Clipboard.SetDataObject(textBox1.Text);
    }

  • @1skyfallc
    @1skyfallc Před 3 lety +1

    Ведь теоретически может быть так, что во фразе ", пожалуйста," между первой запятой и буквой П может быть бесконечное количество пробелов, тогда вот такая замена не будет учитывать все случаи .Replace(" пожалуйста ", ", пожалуйста, ")

    • @XpucT
      @XpucT  Před 3 lety

      Trim()

    • @1skyfallc
      @1skyfallc Před 3 lety

      @@XpucT Trim же только в начале и в конце удаляет пробелы, перед первой запятой удалит и после второй, а между первой запятой и буквой П так они и останутся
      Не до конца понимаю просто как это сделать именно для всех случаев, а не только когда один пробел стоит всегда

    • @XpucT
      @XpucT  Před 3 lety

      @@1skyfallc Можно проверять на большую букву П.
      Вариантов много и вот тут действительно нужно учитывать всё, и пробелы, про которые Ты написал и отступы.

  • @makshill1490
    @makshill1490 Před 4 lety +2

    Хотел сделать progressbar(continue), но когда ставлю Task.Deley меньше 1000 анимация не успевает идти одновременно с счетчиком(проверял через лейбл) по-этому, красоты поставил progressbar(marquee), вот сам код(надеюсь вы еще читаете коментарии )
    using System;
    using System.Drawing;
    using System.IO;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace трень
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    bool done = false;
    private async void button1_Click(object sender, EventArgs e)
    {

    string[] str = textBox1.Lines;
    button1.BackColor = Color.Bisque;
    if(textBox1.Text == "")
    {
    textBox1.Text = "введи текст";
    await Task.Delay(3000);
    textBox1.Text = "";
    return;
    }

    if (done == false)
    {
    while (progressBar1.Value != 100)
    {
    progressBar1.Visible = true;
    progressBar1.Value++;
    await Task.Delay(10);
    if (progressBar1.Value == 100)
    {
    Method();
    progressBar1.Value = 0;
    button1.Text = "Исправлено";
    progressBar1.Visible = false;
    await Task.Delay(3000);
    button1.Text = "Cкопирован в буфер обмена";
    Clipboard.SetDataObject(textBox1.Text);
    await Task.Delay(2000);
    button1.Text = "Нажми что бы очистить";
    done = true;
    return;
    }
    }

    }
    if(done == true)
    {

    await Task.Delay(1000);
    textBox1.Text = "";
    done = false;
    return;
    }
    void Method()
    {
    foreach (string s in str)
    {
    textBox1.Text = textBox1.Text.Replace("все равно", "всё равно");
    textBox1.Text = textBox1.Text.Replace("еще", "ещё");
    textBox1.Text = textBox1.Text.Replace(",,", ",");
    textBox1.Text = textBox1.Text.Replace("Пожалуйста ", "Пожалуйста, ");
    textBox1.Text = textBox1.Text.Replace(" пожалуйста ", ", пожалуйста, ");
    textBox1.Text = textBox1.Text.Replace(" а ", ",а ");
    }
    }
    }

    }
    }

    • @XpucT
      @XpucT  Před 4 lety +1

      Читаю =) Трень =)

  • @Silver_men_rev
    @Silver_men_rev Před 4 lety

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

    • @XpucT
      @XpucT  Před 4 lety

      Если формы не связаны, значит нужны либо делегаты контролам, либо открывать вторую форму и делать её дочерней.
      На канале про это не было, но обязательно будет. А пока могу дать просто рекомендацию начать искать ответ на cyberforum.
      Там есть тема типа «7 популярных вопросов, касающихся форм». И там много ответов на вопрос, как сделать что-то из второй формы.

    • @Silver_men_rev
      @Silver_men_rev Před 4 lety +1

      @@XpucT Спасибо друг.

  • @user-qq4oi3nh6o
    @user-qq4oi3nh6o Před 4 lety

    А как удалить все слова которые мы выбрали (например если их в тексте несколько одинаковых), у меня просто удаляет первое из этих слов. Например: "Сжатие", встречается несколько раз, но удаляется только первое на которое наткнулась программа. Спасибо

    • @XpucT
      @XpucT  Před 4 lety +1

      Если коротко, то например:
      string path = @"C:\Пример\Файл.txt";
      string line = File.ReadAllText(path);
      line = line.Replace("Искомое слово", "");
      File.WriteAllText(path, line);

  • @sergeyfrolov5237
    @sergeyfrolov5237 Před 4 lety

    При копировании файла
    стекст документа в лейбле открываются ромбы с вопросами вместо букв В чем дело помоги кто нить ?

    • @sergeyfrolov5237
      @sergeyfrolov5237 Před 4 lety

      Все понял надо сохранить в блокноте UT8

  • @BobiBobObana
    @BobiBobObana Před 5 lety

    06:00 При чтении из файла Лейбл выдает только ??????? в черных ромбиках, вместо русского шрифта.
    Как это можно поправить?
    PS
    string line = File.ReadAllText(@"C:\Users\IDis\Desktop\1.txt");
    label1.Text = line;

    • @XpucT
      @XpucT  Před 5 lety

      Не нужно пропускать видео. Про проблему с кодировкой уже было.

    • @BobiBobObana
      @BobiBobObana Před 5 lety

      @@XpucT Пересмотрел все ролики которые я не видел.
      Не увидел я упоминания о кодировке. Можете дать намек, в какой серии это было?

    • @XpucT
      @XpucT  Před 5 lety

      @@BobiBobObana помните файл, который открывал на рабочем столе? Внёс туда текст "Слово, просто слова".
      Потом упрекнул как раз Microsoft.... потом исправил, сохранив Блокнот в Unicode...

  • @FANt1Ko
    @FANt1Ko Před 4 lety +3

    async private void button1_Click(object sender, EventArgs e)
    {
    string lines = textBox1.Text.Replace("Еще", "Ещё").Replace("еще", "ещё").Replace
    ("Пожалуйста ", "Пожалуйста, ").Replace(" пожалуйста.", ", пожалуйста.").Replace
    (" пожалуйста ", ", пожалуйста, ");
    button1.Text = "Исправляется";
    await Task.Delay(1000);
    button1.Text = "Исправлено";
    textBox1.Text = lines;
    MessageBox.Show("Скопировать в буфер", " Копирование", MessageBoxButtons.OK);
    Clipboard.SetDataObject(textBox1.Text);
    }

  • @stenzoautomatic
    @stenzoautomatic Před 4 lety +1

    Приветствую всех,знаю что видео уже как год на канале,но может хоть кто и ответит)))Проблема в том, что когда читаю текст в файле как в видео,то вместо русских символов выходят знаки вопроса а с латиницей всё нормально,как быть?Я так понял проблема в какой-то кодировке,так вот как это настроить,видать надо в настройках программы полазить?Сам новичок я в winforms,обычно работаю с железом на C++,VisualStudio2019 у меня и решил подружить компьютер с микроконтроллером.

    • @XpucT
      @XpucT  Před 4 lety

      Нужно сохранять файл в кодировке Unicode, иначе действительно будет всё коряво со знаками вопроса.
      Но если файл нельзя изменить, то можно изменить кодировку на лету. Пример:
      File.ReadAllText(@"C:\Сергей Тиркин\Файл.txt", Encoding.GetEncoding(1251);

    • @stenzoautomatic
      @stenzoautomatic Před 4 lety

      @@XpucT ,не фига се быстро ответили)))Хачатур, спасибо большое за уроки,очень помогают мне в изучении C#,продолжай в том же духе!Не планируешь ли сделать видео по работе с ком портом,хотя я вроде как разобрался,но интересно было бы узнать ваше мнение.Ещё раз благодарю!!!!

  • @mlgretard5596
    @mlgretard5596 Před 3 lety +1

    Привет, XpucT, написал секундомер через stopwatch , и возник вопрос. В программе выполняется бесконечный цикл в Metod(), и хотелось бы чтобы при нажатии на Stop программа выходила из этого цикла, а как это сделать я что-то не могу понять
    //Секундомер
    Stopwatch Vremya = new Stopwatch();
    async void Metod()
    {
    await Task.Run(() =>
    {
    for(; ;)
    {
    label1.Text = Vremya.Elapsed.ToString();
    }
    });
    }
    void Button1_Click(object sender, EventArgs e)
    {
    Vremya.Start();
    Metod(); // как мне из него выйти повторным нажатием
    Button btn = sender as Button;
    btn.Text = "Stop";
    btn.Click -= new EventHandler(Button1_Click);
    btn.Click += new EventHandler(Button1_Click_1);
    }
    void Button1_Click_1(object sender, EventArgs e)
    {
    Vremya.Stop();
    label1.Text = Vremya.Elapsed.ToString();
    Button btn = sender as Button;
    btn.Text = "Start";
    btn.Click -= new EventHandler(Button1_Click_1);
    btn.Click += new EventHandler(Button1_Click);
    }
    void Button2_Click(object sender, EventArgs e)
    {
    Vremya.Reset();
    label1.Text = Vremya.Elapsed.ToString();
    }
    //

    • @XpucT
      @XpucT  Před 3 lety

      Привет 🖐
      Прямая ссылка на Мой ответ (похожий вопрос):
      czcams.com/video/1AiKew-XQsk/video.html&lc=Ugz3tr7NCpDesntMog54AaABAg.995RJI_Vi0x995Sxj6fLOl
      Открывай с компа ссылку, чтобы внизу развернулся Мой ответ 👍

    • @mlgretard5596
      @mlgretard5596 Před 3 lety +1

      @@XpucT Спасибо

  • @vasili_pupkin_1
    @vasili_pupkin_1 Před 4 lety +1

    А теперь вариант кода для тупых, как я.
    Я сделал так: сперва составил текст, в котором будет проверяться нужный сценарий:
    "Все все еще все равно не собрались. Пожалуйста собирайтесь.
    Все все еще все равно не собрались пожалуйста собирайтесь.
    Все все еще все равно не собрались. Собирайтесь пожалуйста."
    Затем, не прибегая к шпаргалкам, написал самый простой код, там даже скобки вроде можно поставить, но я не стал. По-моему это получится у каждого:
    using System;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace WindowsFormsApp2
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    async void Button1_Click(object sender, EventArgs e)
    {
    textBox1.Text = (textBox1.Text.Replace("все " + "равно", "всё " + "равно").Replace("все " + "еще", "всё " + "ещё").Replace("еще", "ещё").Replace("Пожалуйста", "Пожалуйста,").Replace("пожалуйста", ", пожалуйста,").Replace("пожалуйста.", ", пожалуйста.").Replace(".,", ".").Replace(" ,", ",").Replace(",.", "."));
    button1.Text = ("Исправлено!");
    await Task.Delay(1000);
    button1.Text = "Скопировать в буфер";
    Clipboard.Clear();
    Clipboard.SetDataObject(textBox1.Text);
    }
    }
    }
    Работает, исправляет нужный текст, убирает лишние знаки, копирует в буфер.
    З.Ы. как тут через массивы можно сделать не понял, ведь в примерах с массивами был выбор одного и того же в теле массива, но с разными версиями строк (и т.п.).

  • @user-lv1rk7ji5t
    @user-lv1rk7ji5t Před 3 lety

    Добавляю тект ,но не открывает русс керилицу а англ керилицу принимает
    Можете помочь ?
    Спасибо

  • @user-ku6sf7ug2p
    @user-ku6sf7ug2p Před 4 lety

    всем привет. подскажите как именно перевести в верхний регистр не всё слово а к примеру первую букву в слове?

    • @XpucT
      @XpucT  Před 4 lety +1

      string slovo = "слово";
      slovo = char.ToUpper(slovo[0]) + slovo.Substring(1);

    • @user-ku6sf7ug2p
      @user-ku6sf7ug2p Před 4 lety

      XpucT а последнюю? И если строк много и в каждом слове разное количество букв?

    • @86werth
      @86werth Před 10 měsíci

      @@user-ku6sf7ug2p вероятно -1

  • @try_parse99
    @try_parse99 Před 2 lety

    Привет, не знаешь как из Resources\blablabla.json перезаписать весь текст в 1500 строк в C:\blablabla.json? очень нужно

    • @try_parse99
      @try_parse99 Před 2 lety

      Вот подобие текста
      {
      "Debug": {
      "toggled": true,
      "key": -1,
      "button": -1
      },
      "UserInterface": {
      "toggled": true,
      "key": 41,
      "button": -1,
      "Blur": {
      "value": true,
      "key": -1
      },

    • @try_parse99
      @try_parse99 Před 2 lety

      Типа нужно создать установищик который будет файл .json устанавливать в указаную папку

  • @user-gt8cf5xt8n
    @user-gt8cf5xt8n Před 5 lety +2

    Здравствуй, Хачатур! Вот дз))
    Сложнее всего было сделать так чтобы кнопка выполняла сразу несколько функций. В итоге придумал чтобы if сравнивал название кнопки, а потом выполнял действие.
    И такой вопрос: есть ли нормальный способ чтобы кнопка разные функции выполняла?
    using System;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace Поправлятор
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    async void Button1_Click(object sender, EventArgs e)
    {
    if (button1.Text == "Скопировать")
    {
    Clipboard.SetDataObject(textBox1.Text);
    button1.Text = "Скопировано в буфер обмена";
    await Task.Delay(2000);
    button1.Text = "Исправить новый текст?";
    }
    else if (button1.Text == "Исправить")
    {
    string[] lines = textBox1.Lines;
    foreach (string word in lines)
    {
    textBox1.Text = textBox1.Text.Replace("еще", "ещё");
    textBox1.Text = textBox1.Text.Replace("все равно", "всё равно");
    textBox1.Text = textBox1.Text.Replace(" пожалуйста ", ", пожалуйста, ");
    textBox1.Text = textBox1.Text.Replace("Пожалуйста ", "Пожалуйста, ");
    textBox1.Text = textBox1.Text.Replace("Здравствуйте ", "Здравствуйте, ");
    textBox1.Text = textBox1.Text.Replace(" а", ", а");
    textBox1.Text = textBox1.Text.Replace(" но", ", но");
    textBox1.Text = textBox1.Text.Replace(",,", ",");
    }
    button1.Text = "Исправлено";
    await Task.Delay(2000);
    button1.Text = "Скопировать";
    }
    else
    {
    button1.Text = "Исправить";
    textBox1.Text = "";
    }
    }
    }
    }

    • @XpucT
      @XpucT  Před 5 lety

      Можно сделать булевое значение, например:
      bool working = false;
      На лету его менять или проверять.
      if (working)
      работает
      else
      не работает
      Не забываем на лету менять значение, когда это нужно 👍

    • @user-gt8cf5xt8n
      @user-gt8cf5xt8n Před 5 lety

      Cпасибо, постараюсь разобраться

  • @MegaAlexprim
    @MegaAlexprim Před rokem +1

    в первые вообще домашнее задание выполнял, никогда не мог! отвечаю ни разу не получалось. а тут вот родил уродца -)) немного поменял текст задания. чтоб не повторятся -) короче текст должен быть такой.- Дай мне пожалуйста еще вещей. (по принципу все, всё) и вот решение:
    async void button1_Click(object sender, EventArgs e)
    {
    textBox1.Text= textBox1.Text.Replace("еще", "ещё").Replace("вещёй", "вещeй").Replace("пожалуйста","пожалуйста,").Replace("пожалуйста,,", "пожалуйста,");
    button1.Text = button1.Text.Replace("Исправить", "Исправлено");
    await Task.Delay(1000);
    button1.Text = button1.Text.Replace("Исправлено", "Скопировать");
    Clipboard.SetDataObject(textBox1.Text);
    }

  • @user-zf7le3yd3d
    @user-zf7le3yd3d Před 4 lety +2

    Очень жаль , что нет разбора домашних заданий,пока моих мозгов хватило на это:
    private void button1_Click(object sender, EventArgs e)
    {
    textBox1.Text = File.ReadAllText(@"C:\Users\VOVA\Desktop\111.txt");
    textBox1.Text = textBox1.Text.Replace("еще", "ещё").Replace("Еще", "Ещё");
    Method("Исправлено", 1000);
    if(textBox1.Text.Contains("пожалуйста"))
    {
    textBox1.Text = textBox1.Text.Replace("пожалуйста", ", пожалуйста,");
    }
    Method("Скопировать в буфер обмена", 2000);
    Clipboard.SetDataObject(textBox1.Text);
    }
    async void Method(string str, int num)
    {
    await Task.Delay(num);
    button1.Text = str;
    }

  • @NewbieTM_
    @NewbieTM_ Před 3 lety +1

    Не знаю можно ли скидывать код, но очень хотелось бы чтобы вы сказали мне как сократить все проверки на то, где стоит слово. Допустим *наверное* стоит в конце с точкой или в середине. Очень растягивает код. Можно чтобы я скинул код и вы проверили домашнее задание и помогли?

    • @XpucT
      @XpucT  Před 3 lety

      Давайте проверю.
      Залить можете на Google Диск, например.

    • @NewbieTM_
      @NewbieTM_ Před 3 lety

      @@XpucT У вас ссылки удаляются в комментариях? Я два раза отправил .

    • @XpucT
      @XpucT  Před 3 lety

      Тогда у нас на форуме:
      win10tweaker.ru/forum/forum/%d1%81

    • @NewbieTM_
      @NewbieTM_ Před 3 lety

      @@XpucT Да. СПасибо. Я уже создал тему.

  • @maxbars1996
    @maxbars1996 Před 5 lety

    Почему история версий W10T не доступна на сайте ? Пришла обнова, а что поменялось неизвестно.

    • @XpucT
      @XpucT  Před 5 lety

      Отключите блокировщик рекламы. Её всё равно нет на сайте.
      А блокировщик считает, что это реклама.

    • @maxbars1996
      @maxbars1996 Před 5 lety

      @@XpucT понял, спасибо !

    • @maxbars1996
      @maxbars1996 Před 5 lety

      @@XpucT т.к. написать в теме сейчас нельзя, напишу здесь. Есть предложение по твикеру - сделать подсветку Shift + ПКМ серым если он применен и белым если нет. В тех пунктах где он есть конечно.

    • @XpucT
      @XpucT  Před 5 lety

      @@maxbars1996 подсветка меняется, но еле заметно. Сделан баланс между применённым и не применённым.
      С лупой и пипеткой можно это увидеть и проверить.

    • @maxbars1996
      @maxbars1996 Před 5 lety

      @@XpucT присмотрелся, заметил, но все же хотелось бы более выраженную разницу.

  • @igoryan6175
    @igoryan6175 Před 2 lety +1

    Привет, Хачатур!
    Мой недокод по ДЗ)
    Не очень понял одно, если вместо "" написать null, как в первом варианте if'а, то месседж не выдаст ошибку, хотя по идее что "", что null это пустота, ничего. Или я что-то не понимаю?
    public Form1()
    {
    InitializeComponent();
    }
    void Form1_Load(object sender, EventArgs e)
    {
    button1.Text = "Исправить";
    label1.Text = "Введите текст который хотите исправить...";
    }
    async void button1_Click(object sender, EventArgs e)
    {
    if (button1.Text != "Скопировать")
    {
    if(textBox1.Text == "")
    {
    MessageBox.Show("Введите текст для исправления.", "Ошибка!", MessageBoxButtons.OK);
    }
    else
    {
    textBox1.Text = textBox1.Text.Replace("еще", "ещё").Replace("пожалуйста ", "пожалуйста, ").Replace("все", "всё");
    await Task.Delay(1000);
    button1.Text = "Скопировать";
    }
    }
    else if (button1.Text != "Исправить")
    {
    Clipboard.SetText(textBox1.Text);
    button1.Text = "Исправить";
    label1.Text = "Скопировано!";
    await Task.Delay(1000);
    label1.Text = "Введите текст который хотите исправить...";
    }

    • @XpucT
      @XpucT  Před 2 lety +1

      Привет 🖐
      Не совсем. null - это действительно пусто.
      "" - это когда значение есть, но оно пустое.
      null - это когда значения нет.
      Это станет понятнее на примерах в следующих видео с реестром, где пустой параметр и параметр с пустым значением - это разные вещи.

  • @jozex8141
    @jozex8141 Před 5 lety

    Снова привет, Хачатур. Не подскажешь в чём проблема? При чтении файла с русским текстом ловлю это prntscr.com/ohs00e, также почему то ничего не выводит данный код prntscr.com/ohs2gy (текст брал тот же, от Win10 Tweaker`a)

    • @XpucT
      @XpucT  Před 5 lety

      Не пропускай уроки и не опережай их ;)
      Говорил, что текстовый файл должен быть в кодировке UTF-8.
      Если используешь родной блокнот, а не Notepad++, то нужно обязательно _Сохранить как_
      И там выбираешь Unicode или UTF-8.

    • @jozex8141
      @jozex8141 Před 5 lety +1

      @@XpucT Спасибо, да я вроде не пропускал)) Наверно прослушал как-то(

  • @blinddeveloper6488
    @blinddeveloper6488 Před 5 lety

    Новец replace В программе И remove Очень сильно раздувает Проект, Так почему же их все равно используют?

    • @XpucT
      @XpucT  Před 5 lety

      Проект раздувается в размерах только из-за текста в основном.

  • @user-vo6po7pd2g
    @user-vo6po7pd2g Před 2 lety

    Я не могу перейти на сайт со шпаргалкой. У кого-то ещё такая проблема есть?

    • @XpucT
      @XpucT  Před 2 lety

      Всё прекрасно работает.

  • @cegofont4132
    @cegofont4132 Před 2 lety

    Указал путь к файлу всё сделал, вроде, правильно, а консоль изменила буквы в предложении на вопросы, в чем причина не подскажите?

    • @XpucT
      @XpucT  Před 2 lety

      Код в студию. Проблема с кодировкой.

    • @cegofont4132
      @cegofont4132 Před 2 lety

      ​@@XpucT Код писал по видео, всё работает, но русские символы пишутся под знаком "?", а английские нормально показывает string line = File.ReadAllText(@"D:\Рабочий стол\Sasha\PROGIS\черновик.txt");
      label1.Text = line;

    • @XpucT
      @XpucT  Před 2 lety

      @@cegofont4132 какая кодировка в txt?
      Точно файл создавался в UTF-8 и при этом в Notepad++?

    • @cegofont4132
      @cegofont4132 Před 2 lety +1

      @@XpucT Понял свою ошибку, я в ANSI сохранял

  • @root7020
    @root7020 Před 5 lety +3

    Хз как получилось, старался сделать коротко и чтоб все работало.
    using System.Deployment.Application;
    using System;
    using System.Windows.Forms;
    using System.IO;
    using System.Threading.Tasks;
    namespace WindowsFormsApp2
    {
    public partial class Form1 : Form
    {
    bool Textfixed = false;
    public Form1()
    {
    InitializeComponent();
    }
    async void Button1_Click(object sender, EventArgs e)
    {
    if (Textfixed == false)
    {
    textBox1.Text = textBox1.Text.Trim().Replace("еще", "ещё").Replace("все равно", "всё равно").Replace("пожалуйста", "пожалуйста,").Replace(",,", ",");
    await Task.Delay(10);
    button1.Text = "Исправлено";
    Textfixed = true;
    await Task.Delay(1000);
    button1.Text = "Скопировать в буфер";
    }
    else
    {
    Clipboard.SetDataObject(textBox1.Text);
    }
    }
    }
    }

    • @XpucT
      @XpucT  Před 5 lety

      Отлично, красава 👍

  • @user-nv4yz5bt4g
    @user-nv4yz5bt4g Před 4 lety +1

    Шрифт очень мелкий на ваших роликах , код плохо виден . Это у меня или у вас такие настройки ?

    • @XpucT
      @XpucT  Před 4 lety

      Все обычно видят всё прекрасно.

  • @user-nr4jf9rt4h
    @user-nr4jf9rt4h Před 5 lety +1

    Домашнее задание:
    string text = File.ReadAllText(@"C:\Users\ultra\Desktop\1.txt");
    bool textFixed = false; //переменная для проверки изменён ли текст
    public Form1()
    {
    InitializeComponent();
    }

    private void btnChange_Click(object sender, EventArgs e)
    {
    if (!textFixed) // если не изменён
    {
    text = Change(text); // изменяем
    tbInput.Text = text; // перезаписываем
    btnChange.Text = "Исправлено после исправления";
    textFixed = true; //указываем,что текст изменён
    Task t = new Task(RenameButton); //вызываем задержку предлагаем сохранить текст
    t.Start();
    }
    else //если текст изменён,
    {
    WriteInMemory(); // записываем текст в память
    btnChange.Text = "Текст скопирован в буфер";
    }
    }
    void RenameButton() //метод задержки
    {
    Thread.Sleep(2000);
    btnChange.Text = "Скопировать исправленный текст?";
    }
    string Change(string text) // метод изменения (подсмотрел его в коментах)
    {
    text = text.Replace("еще", "ещё");
    text = text.Replace("все верно", "всё верно");
    text = text.Replace("все равно", "всё равно");
    text = text.Replace(" если", ", если");
    text = text.Replace("пожалуйста", "пожалуйста,");
    text = text.Replace(",,", ","); // в случае *пожалуйста, если вы ....* получается *пожалуйста,, если вы ...*
    text = text.Replace(",,", ","); // это убирает баг описанный выше
    return text;
    }
    void WriteInMemory() // метод записи в память
    {
    Clipboard.SetDataObject(text);
    }

    • @XpucT
      @XpucT  Před 5 lety

      Очень хорошо 👍

    • @user-nr4jf9rt4h
      @user-nr4jf9rt4h Před 5 lety +1

      @@XpucT спасибо

    • @86werth
      @86werth Před 4 lety

      Я если будет 10 запятых после слова!! Так как???

  • @mirmexa6472
    @mirmexa6472 Před 5 lety +1

    Вот мое дз
    public partial class Form1 : Form
    {
    int i = 0;
    public Form1()
    {
    InitializeComponent();
    }
    private async void Button1_Click(object sender, EventArgs e)
    {
    i++; // Прибавляем к i 1
    if (i == 2) { goto Sas; } //Условие если счетчик равен 2, то переход к исполнению кода из этикетки
    else
    {
    textBox1.Text = textBox1.Text.Replace("еще","ещё").Replace("Все равно", "Всё равно").Replace("все равно", "всё равно"); //Заменяем слова или буквы в словах в определенных случаях
    textBox1.Text = textBox1.Text.Replace(" что", ", что").Replace("пожалуйста", "пожалуйста, ").Replace(" а", ", а").Replace(",,", ","); // Расставляем запятые (рассмотрены не все случаи)
    textBox1.Text = textBox1.Text.Trim(); //Удаляем лишние пробелы между словами
    await Task.Delay(500); //Задержка на пол секунды
    button1.Text = "Исправлено";
    await Task.Delay(500); //Задержка на пол секунды
    button1.Text = "Скопировать в буфер обмена";
    }
    return; //Не выполнять код ниже
    Sas: //Этикетка
    Clipboard.SetDataObject(textBox1.Text); //Сохраняем в буфер
    button1.Text = "Скопировано";
    textBox1.Text = "";
    i = 0; //Обнуляем счетчик
    }
    }
    }

  • @juniorkot8714
    @juniorkot8714 Před 5 lety +1

    Спасибо за хороший урок
    ДЗ:
    drive.google.com/file/d/1Lbj5CqM3H4qeBBjRZ9w91a-K_VQqXSxL/view?usp=sharing
    using System;
    using System.Drawing;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace _22less
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    bool textChanget = true;
    async void Button1_Click(object sender, EventArgs e)
    {
    if (textChanget == true)
    {
    textBox1.Text = textBox1.Text.Replace("Привет ", "Привет, ").
    Replace("еще", "ещё").Replace("все равно", "всё равно").
    Replace("все-равно", "всё равно").Replace("всеравно", "всё равно").
    Replace("всёравно", "всё равно").Replace("ежик", "ёжик");
    await Task.Delay(1000);
    button1.Text = "Скопировать";
    button1.BackColor = Color.LawnGreen;
    textChanget = false;
    }
    else
    Clipboard.SetDataObject(textBox1.Text);
    }
    private void TextBox1_TextChanged(object sender, EventArgs e)
    {
    textChanget = true;
    button1.BackColor = Color.Gold;
    button1.Text = "Исправить";
    }
    }
    }

  • @thefenix1251
    @thefenix1251 Před 2 lety

    Привет . Ролик очень сильно помог - спасибо . Но у меня остался один вопрос : Как можно заменить в текствовом документе целую строку на свой аналог ?
    Наглядно :
    Files:
    File.1 = C\text\Text1.txt
    File.2 = C\text\Text2.txt
    File.3 = C\text\Text3.txt
    ...
    Нажимаем конпку
    "
    Files:
    File.1 = C\text\Text1.txt
    File.2 = C\text\Text2aaa.txt
    File.3 = C\text\Text3.txt
    ...
    Я сделал так , чтобы программа определяла по большей части текста строку , но далее я встрял . Я ещё мало знаю о С# , поэтому возможно я и не могу найти ответ на свой вопрос .

    • @XpucT
      @XpucT  Před 2 lety +1

      Привет 🖐
      Немного резко пошёл вперёд, смотри далее.
      В плейлисте уже есть урок по Регулярным выражениям. Не только для C#.

    • @thefenix1251
      @thefenix1251 Před 2 lety +1

      @@XpucT понял . Спасибо большое .

  • @hellangel4055
    @hellangel4055 Před 5 lety

    У меня одного в textBox не работает .Trim() ?

    • @86werth
      @86werth Před 9 měsíci

      По ходу дела да

  • @RebellonRM
    @RebellonRM Před 2 lety +1

    Интересно, я туповат, или не понял нюанса задания? То есть, если нужно исправить определенные слова, то обязательно писать тучу строк кода? Если к примеру после "пожалуйста" есть пробел, значит слово не последнее в предложении, и его можно исправлять. Просто меня немного напугали решения в комментариях, ибо у меня вышла простейшая ерунда, которая в принципе сработала на моём примере.
    async void button1_Click(object sender, EventArgs e)
    {
    if (button1.Text == "Исправить")
    {
    string line = textBox1.Text;
    textBox1.Text = line.Replace("пожалуйста ", "пожалуйста, ").Replace("еще", "ещё");
    button1.Text = "Исправлено";
    await Task.Delay(2000);
    button1.Text = "Скопировать";
    }

    else if (button1.Text == "Скопировать")
    {
    Clipboard.SetDataObject(textBox1.Text);
    }

    }

    • @XpucT
      @XpucT  Před 2 lety +1

      Можно сравнить с теми, кто также выполнил задание тут в комментах ;)

  • @vasilypopov-kg2sr
    @vasilypopov-kg2sr Před 5 lety

    Христ добавь пожалуйста в Windows 10 tweaker рекомендуемые настройки от тебя.Тоесть добавь функцию которая позволит настроить пк через Windows tweaker автомотически и правильньно без ошибок

    • @XpucT
      @XpucT  Před 5 lety +1

      Win 10 Tweaker имеет только те твики, которые применяю Я лично. В программе никогда не было и не будет ничего, чем не пользовался бы Я сам. Поэтому безопасно рекомендую каждый твик без исключения.
      Бывают такие VPN-клиенты, которым необходима служба DNS-клиент. Кто пользуется обновлением, кто-то не удаляет плиточные приложения. И поэтому есть выбор для каждого - делать что-то или нет. Я же делаю всё без исключения на любых компах. Всегда и всё безопасно, если при этом не твикать систему другими сомнительными программами. Даже страховочное соглашение гласит, что нужно делать всё на нормальной винде, а не на той, которую так урезали, что всё летит. Win 10 Tweaker работает исходя из всех адекватных сценариев состояния ПК. А вот, например, отсутствие cmd или PowerShell даже не учитывает, потому что неизвестно кем нужно быть, чтобы их вырезать. Надеюсь, понятно =)

  • @hackpulsar
    @hackpulsar Před 4 lety

    Прога, которая цензурит маты:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace RedactorForms
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    private async void button1_Click(object sender, EventArgs e)
    {
    progressBar1.Value = 0; // setting progressbar to 0
    if (textBox1.Text.Trim() == "")
    {
    button1.Text = "Enter text";
    await Task.Delay(1000);
    button1.Text = "Edit";
    }
    if (button1.Text == "Edit")
    {
    if (textBox1.Text != "")
    {
    while (progressBar1.Value != 100) // increasing progressbar while it isn't equals to 100(maximum)
    {
    button1.Enabled = false; // locking button
    progressBar1.Value++;
    await Task.Delay(10);
    }
    if (progressBar1.Value == 100) // unlocking button if progressbar equals to 100(maximum)
    {
    button1.Enabled = true;
    }
    // editing text
    textBox1.Text = textBox1.Text.Trim().Replace("fuck", "****").Replace("bitch", "*****").Replace("nigga", "*****").Replace("sex", "***");
    await Task.Delay(10);
    button1.Text = "Edited";
    await Task.Delay(1000);
    button1.Text = "Copy";
    }
    else // if text is empty
    {
    button1.Text = "Enter text";
    await Task.Delay(1000);
    button1.Text = "Edit";
    }
    }
    // copying if button text is "Copy"
    else if (button1.Text == "Copy")
    {
    Clipboard.SetDataObject(textBox1.Text); // copying
    await Task.Delay(1000);
    button1.Text = "Edit";
    }
    }
    }
    }

  • @user-vy4nm2vu7v
    @user-vy4nm2vu7v Před 5 lety +2

    Моё дз:)
    bool isTextAlreadyFixed = false;
    async private void Button1_Click(object sender, EventArgs e)
    {
    if (!isTextAlreadyFixed)
    {
    isTextAlreadyFixed = true;
    textBox1.Text = textBox1.Text.Replace("еще", "ещё").Replace("Еще", "Ещё").Replace("Все еще", "Всё ещё").Replace("все еще", "всё ещё").Replace("Все ещё", "Всё ещё").Replace("все ещё", "всё ещё")
    .Replace("Всееще", "Всё ещё").Replace("Всёеще", "Всё ещё").Replace("Всеещё", "Всё ещё").Replace("Всёещё", "Всё ещё").Replace("всееще", "всё ещё").Replace("всёеще", "всё ещё").Replace("всеещё", "всё ещё").Replace("всёещё", "Всё ещё")
    .Replace("Все равно", "Всё равно").Replace("все равно", "всё равно").Replace("пожалуйста ", "пожалуйста, ").Replace("Пожалуйста ", "Пожалуйста, ").Replace("Почему то", "Почему-то").Replace("почему то", "почему-то").Replace("Почемуто", "Почему-то").Replace("почемуто", "почему-то");
    button1.Text = "Исправлено после исправления";
    await Task.Delay(2000);
    button1.Text = "Cкопировать исправленный текст";
    }
    else if (isTextAlreadyFixed)
    {
    Clipboard.SetDataObject((textBox1.Text).Trim());
    await Task.Delay(2000);
    button1.Text = "Скопировано в буфер обмена";
    await Task.Delay(5000);
    button1.Enabled = false;
    textBox1.Font = new Font("Microsoft Sans Serif", 16);
    button1.Text = ("Хачатур красавчик").ToUpper();
    textBox1.Text = ("спасибо за видосы! :)").ToUpper();
    }
    }

    • @XpucT
      @XpucT  Před 5 lety +1

      Отлично 👏😇

  • @glorytoukraine429
    @glorytoukraine429 Před 3 lety +1

    Тем временем C++: 🗿🗿

  • @redice8928
    @redice8928 Před 2 lety +1

    Это че мне все слова с буквой ё перечислить?

  • @LaggeRYT
    @LaggeRYT Před rokem +1

    Ну и по традиции, я не знаю с чего начать писать код.... ПЗДЦ. Я дико извиняюсь))) код читаю, понимаю, как начать писать то всё пиши пропало как говорится...

  • @BlendLogDev
    @BlendLogDev Před 4 lety

    Тогда пусть люди пишут либо правильно сразу свои статьи, либо в программку-исправлялку

  • @victor-dh2et
    @victor-dh2et Před 2 lety +2

    Хачатур, огромное спасибо за уроки!! В общем подумал, чтобы проверить на наличие запятых, нужно представить исходный текст как массив символов, но в итоге заглох, есть плавающие ошибки. Можешь подсказать, хотя бы в правильном ли направлении двигаюсь? Мой "код" ниже (там полный трэшак, но, как говорится, дорогу осилит идущий), работал со строкой "и мне ещё помогите, пожалуйста, разобраться, пожалуйста, помогите":
    async private void button1_Click(object sender, EventArgs e)
    {
    if (copy == false)
    {
    textBox1.Text = PleaseCheck(textBox1.Text);
    Check();
    }
    else
    {
    Copy();
    await Task.Delay(1000);
    button1.Text = "Исправить";
    }
    }
    void Copy()
    {
    Clipboard.Clear();
    Clipboard.SetText(textBox1.Text);
    copy = false;
    }
    async void Check()
    {
    string arr = textBox1.Text;
    textBox1.Text = arr.Replace("еще", "ещё");
    //строка за строкой слова, которые хотим исправить textBox1.Text =
    //arr.Replace("old","new");
    button1.Text = "Исправлено";
    await Task.Delay(1000);
    button1.Text = "Скопировать";
    copy = true;
    }
    string PleaseCheck(string str)
    {
    if (str.Contains("пожалуйста"))
    {
    char[] arr = str.ToCharArray();
    int[] number = new int[arr.Length];
    int index = 0;
    int count = 0;
    for (int i = 0; i < str.Length; i++)
    {
    if (str[i] == 'п' && str[i + 1] == 'о' && str[i + 2] == 'ж'
    && str[i + 3] == 'а' && str[i + 4] == 'л' && str[i + 5] == 'у'
    && str[i + 6] == 'й' && str[i + 7] == 'с' && str[i + 8] == 'т'
    && str[i + 9] == 'а' && str[i - 2] != ','
    && ((str[i + 10] != ',' || str[i + 10] != '.') && i + 10 < arr.Length))
    {
    count += 2;
    number[index] = i - 1;
    index++;
    number[index] = i + 10;
    index++;
    }
    else { };
    }
    arr = new char[arr.Length + count];
    index = 0;
    for (int i = 0; i < str.Length; i++)
    {
    if (i == number[index] && i < number.Length)
    {
    arr[i + index] = ',';
    arr[i + 1 + index] = str[i];
    index++;
    }
    else
    {
    if (i < str.Length)
    arr[i + index] = str[i];
    }
    }
    result = string.Join("", arr);
    return result;
    }
    return textBox1.Text;
    }
    }

    • @XpucT
      @XpucT  Před 2 lety

      Привет 🖐
      У Тебя return находится в button, хотя button относится к void.
      Если создать отдельный метод string, тогда можно возвращать (return) что-то в виде текста.

    • @victor-dh2et
      @victor-dh2et Před 2 lety +1

      @@XpucT Хачатур, привет! Ты даже не можешь себе представить, сколько ты дал мотивации, просто ответив мне на комментарий. Решил сделать во чтобы то ни стало. Время 8 вечера, но я сделал. Да есть костыли (теперь я наверное точно знаю, что имеется ввиду когда это говорят), где-то уже подбором делал - но это работает. Доволен шо капец. Спасибо тебе, перехожу на следующее видео и плейлист по винде, там пока для меня все темно. Ну и мой код на проверку запятых))
      string PleaseCheck(string str)
      {
      string strWithUpLetter;
      //массив букв искомого слова
      char[] searchWord = { 'п', 'о', 'ж', 'а', 'л', 'у', 'й', 'с', 'т', 'а' };
      /*массив чисел, которые отображают индекс буквы "п" слова "пожалуйста",
      размер ставлю по размеру исходного массива, т.к. по условию задачи,
      больше точно не нужен.*/
      int[] indexRightFirstLetter = new int[str.Length];
      int firstLetter = 1;
      int countWordsPlease = 0;
      //Недопускаем индекс массива -1, если фраза начинается со слова пожалуйста
      strWithUpLetter = str.Substring(0, firstLetter).ToUpper() + str.Substring(firstLetter);
      //Проверяем наличие слова пожалуйста
      if(strWithUpLetter.Contains("пожалуйста"))
      {
      char[] arraySourceString = strWithUpLetter.ToCharArray();
      for (int i = 0; i < arraySourceString.Length; i++)
      {
      for (int j = i; j < (searchWord.Length + i) &&j

    • @XpucT
      @XpucT  Před 2 lety

      @@victor-dh2et красавчик ☝

  • @SAYREXPlay
    @SAYREXPlay Před 2 lety +1

    Странно, мой коммент с кодом почему-то ютуб стирает((

    • @XpucT
      @XpucT  Před 2 lety

      Ты его больше нигде не постил?
      И ещё, если себе лайки ставишь, то тоже может удалять.

    • @SAYREXPlay
      @SAYREXPlay Před 2 lety +1

      @@XpucT неа, не постил и лайки не ставил. Странно. Сейчас ещё раз попробую

    • @SAYREXPlay
      @SAYREXPlay Před 2 lety

      @@XpucT вроде опубликовался. Спасибо)

  • @onecelldm
    @onecelldm Před 3 lety

    А зачем виртуальная машина с дисяткой, под десяткой для написания кода на шарпе?

    • @XpucT
      @XpucT  Před 3 lety

      Затем, что покодишь столько сколько Я с виндой играюсь и поймёшь, что откаты нужны постоянно.
      Рассказывалось об этом в Уроке 1.
      Были также случае, где даже на стримах показывал, что будет если...
      И всё, прощай Windows. А виртулку можно быстро откатить.
      Понятно, что если играться с банальным калькулятором или делать игру - для этого виртуалка не нужна.
      А вот серьёзные сетевые хаки, политики и прочее очень желательно не трогать в живой среде Windows.
      Накроешь свою винду и даже не узнаешь порой. Те же патчи и прочее.
      Нужно сразу привыкать серьёзные вещи делать только на виртуалке и только после тщательного тестирования переходить на живую среду.
      При этом, как видно, в производительности ничего не теряешь на виртуалке и всё так работает сверх быстро, как мы видим на компе 5-ти летней давности.

    • @onecelldm
      @onecelldm Před 3 lety

      @@XpucT Ну, хз, я уже давно ушел от основ, на видос наткнулся от скуки, вот стало интересно. Так как в первые такую практику вижу.
      Обычно юзают, Песочницу или же Docker. Чтобы прям в VirtualBox писали код, вижу в первые.
      Чисто из за безопасности системы, OK. Вопросы отпали.

    • @XpucT
      @XpucT  Před 3 lety

      ​@@onecelldm помимо безопасности, есть неотъемлемая практика - патчинг системных библиотек.
      При том, что нужно помнить, что патч - это не замена одного файла на модифицированный, а сам процесс патчинга, dll к примеру.
      Например, в Win 10 Tweaker реализован патчинг dll, отвечающий за отображение раздражающий плашки языка справа в Windows 10 (czcams.com/video/RXmQ9IuIGLc/video.html) в реальном времени.
      Я не заменяю файл, а делаю бэкап оригинальной библиотеки и патчу оригинал на лету, переписывая байт-последовательность.
      Делать это на реальной винде чревато тем, что права системе уже не вернёшь. Да, есть sfc /scannow, есть восстановление прав из безопасного режима, но эти танцы с бубном отнимают очень много времени. А так, просто сделал снимок системы, протестировал твик, всё работает, протестировал на других виртуалках и версиях Windows, и, если всё работает, переходим в живую среду Windows. Таких примеров можно привести очень много.
      Тем не менее, если у человека даже банальная задача создать плеер или текстовый редактор, были случаи, когда Live Share обновился на VS 2017 и накрывал при этом свой же функционал в VS 2019. Отката не задумано. Удаление не работает, потому что видишь ли он уже в процессе. Где-то что-то там записал и всё, тупик. Жди пока исправят баг. А зачем ждать, если есть виртуалка.
      Песочницы удобны как раз в реальной винде, когда делаешь первый тест. Очень много раз спасал Shadow Defender (czcams.com/video/GiPgdYEVIo0/video.html) и Sandboxie (czcams.com/video/ii_t-FuEeZs/video.html).

    • @onecelldm
      @onecelldm Před 3 lety

      @@XpucT хорошо, спасибо за инфу, приму к сведенью, правда патчить либы и тд ещё не нужно было, так как такой задачи никогда не стояло, а твоим твикером пользовался для удаления метро приложений.

  • @kodersurocecode267
    @kodersurocecode267 Před 5 lety

    Ты можешь написать домашнее задание я не понял что надо сделать

    • @XpucT
      @XpucT  Před 5 lety

      Сейчас напишу и закреплю.

  • @user-fm1lv5um4s
    @user-fm1lv5um4s Před 4 lety

    По ДЗ: как сделать так, чтобы вместе с "скопировано в буфер", текст в "textbox1" выделился ну скажем синим цветом? Кто подскажет?
    void button1_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text.Replace("е", "ё").Replace("Еще", "Ещё");
    Method("Иcправлено", 1000);
    if (textBox1.Text.Contains("пожалуйста"))
    {
    textBox1.Text = textBox1.Text.Replace("пожалуйста", ", пожалуйста,");
    }
    Method("Скопировать в буфер обмена", 2000);
    Clipboard.SetDataObject(textBox1.Text); //

    • @XpucT
      @XpucT  Před 4 lety

      Подожди с выделением.
      В домашнем задании нужно было заменить е на ё там, где это нужно.
      У Тебя заменяется абсолютно везде.

  • @Fioletka_YT
    @Fioletka_YT Před 5 lety

    РьидОллТьэкст

    • @Fioletka_YT
      @Fioletka_YT Před 5 lety

      Hi author and cool teacher! I recommend you training your listening English! Thanks, you for such an interesting lessons!

  • @romanromashev6486
    @romanromashev6486 Před rokem +1

    async private void button1_Click(object sender, EventArgs e)
    {
    Proverka();

    async void Proverka()
    {
    if (button1.Text != "Исправлено" && button1.Text != "Скопировать в буфер обмена")

    {
    string line = textBox1.Text.Replace("еще", "ещё").Replace("Еще", "Ещё").Replace("все еще", "всё ещё").Replace("Все еще", "Всё ещё")
    .Replace("например ", "например, ").Replace("Например ", "Например, ").Replace("кроме того ", "кроме того, ")
    .Replace("Кроме того ", "Кроме того, ").Replace("возможно ", "возможно, ").Replace("Возможно ", "Возможно, ");

    textBox1.Text = line;
    button1.Text = "Исправлено";
    }
    else
    {
    await Task.Delay(2000);
    button1.Text = "Скопировать в буфер обмена";
    return;
    }
    }
    if (button1.Text == "Скопировать в буфер обмена")
    {
    Clipboard.SetDataObject(textBox1.Text);
    await Task.Delay(2000);
    button1.Text = "Готово";
    await Task.Delay(1000);
    Close();
    }
    else
    {
    }

    }

  • @user-wu-tang
    @user-wu-tang Před rokem

    ув.Хачатур привет
    у меня уже мозг закипает (по домашнему заданию :) )
    вот моя первая часть кода:
    async void button1_Click(object sender, EventArgs e)
    {
    {
    textBox1.Text = Clipboard.GetText();
    await Task.Delay(1000);
    textBox1.Text = textBox1.Text.Replace("еще", "ещё").ToUpper();
    button1.Text = button1.Text.Replace("Исправить текст", "Исправлено");
    }
    }
    void textBox1_Click_1(object sender, EventArgs e)
    {
    textBox1.Text = "";
    }
    в этой первой части кода у меня меняет название кнопки и копирует из буфера текст и помещает его в textbox1.
    но вот вторую часть не могу сообразить, чтоб копировало этот же текст по второму нажатию (мозг закипает).
    думал может так:
    // if (textBox1.Text.Contains("ВСЁ"))
    // {
    // textBox1.Text = Clipboard.SetDataObject();
    // await Task.Delay(1000);
    // button1.Text = button1.Text.Replace("Исправлено", "Скопировано в буфер");
    // }
    // else;
    но тоже не работает.
    Чувствую буду долго кумекать))))
    P.S. многие тут писали за тобой, типа из файла копировать и т.д.
    я же постарался и нашел вариант который работает из буфера сразу.

    • @XpucT
      @XpucT  Před rokem +1

      Могу похвалить за внимательность и попытку выполнить строго сказанное задание, однако, даю добро создать отдельную кнопку, ибо на самом деле в реале редко будет одна кнопка выполнять разные действия. Очень редко. Но, опять же, похвально, что решил бахнуть всё с одной кнопки.
      Так или иначе, чтобы переписать кнопку под новые сценарии (если прям запариться), то первое, что приходит в голову - проверять текст самой кнопки. То есть, если в кнопке на данный момент прописано _Исправить,_ то она выполнит именно исправление. Если _Скопировать,_ то, соответственно, копирует исправленный результат.
      Отталкивайся от этого 👍

    • @user-wu-tang
      @user-wu-tang Před rokem

      @@XpucT спасибо, завтра буду кумекать.
      А с двумя кнопками я делал и у меня работало (вроде) , только я не стал писать сюда и спрашивать, хочу именно по твоим словам сделать, думаю много это времени займёт 😁😁но буду стараться.
      Иногда бывает так, что в голове ты понимаешь и вроде все логично, но как начинаешь писать код, то сразу начинается ж*па😢, но это не хватает опыта и программного мышления.
      Спасибо тебе.

    • @user-wu-tang
      @user-wu-tang Před rokem

      @@XpucT Привет
      если делать задание с помощью двух кнопок, то я сделал так:
      using System;
      using System.Threading.Tasks;
      using System.Windows.Forms;
      namespace copygotova
      {
      public partial class Form1 : Form
      {
      public Form1()
      {
      InitializeComponent();
      }
      async void button1_Click(object sender, EventArgs e)
      {
      string ispravleno = "Исправлено";
      // string scopy = "Скопировать текст";
      {
      button1.Text = ispravleno;
      // textBox1.Text = Clipboard.GetText();
      textBox1.Text = textBox1.Text.Replace("еще", "ещё").ToUpper();
      await Task.Delay(2000);
      }
      }
      void textBox1_Click(object sender, EventArgs e)
      {
      textBox1.Text = "";
      textBox1.Text = Clipboard.GetText();
      }
      void button2_Click_1(object sender, EventArgs e)
      {
      Clipboard.SetDataObject(textBox1.Text);
      }
      }
      }
      //может и плохой код))) но свою задачу выполняет
      пока не могу разобраться чтоб на одну кнопку назначить несколько событий, но понимаю (твою подсказку).
      т.е. нужно сделать если в button1.Text поменялось свойство Text , то нужно сделать второе действие например скопировать текст в буфер
      пример
      if (button1.Text=button1.Text"Исправлено")
      то скопируй текст Clipboard.SetDataObject(textBox1.Text);
      как то так)) но воплотить чтоб работало, нема опыта.

  • @MacmepI-II-I
    @MacmepI-II-I Před 2 lety +1

    Д/З сделано - работа со строками не проходит даром 👌 (найденная мной бредовая «рыба» будет под этим комментарием 📄):
    using System;
    using System.IO;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace HomeWork
    {
    public partial class Form1 : Form
    {
    int click = 0;
    public Form1()[...]

    void Form1_Load(object sender, EventArgs e)
    {
    textBox1.Text = File.ReadAllText(@"C:\Users\Admin\Desktop\fish.txt");
    }
    async void Button1_Click(object sender, EventArgs e)
    {
    click++;
    switch (click)
    {
    case 1:
    button1.BackColor = System.Drawing.Color.Khaki;
    button1.Text = "Исправляется...";
    await Task.Delay(500);
    string line = textBox1.Text;
    string[] mistakes =
    {
    "еще",
    "все равно",
    "влечет",
    "серьезно",
    "пожалуйста",
    "тем не менее",
    "таким образом",
    "однако",
    "Тем не менее",
    ",,",
    ", ,",
    " ,"
    };
    string[] corrects =
    {
    "ещё",
    "всё равно",
    "влечёт",
    "серьёзно",
    ", ",
    ","
    };
    for (int i = 0; i < 12; i++)
    {
    textBox1.Text = line.Contains(mistakes[i]) ? line.Replace(mistakes[0], corrects[0]).
    Replace(mistakes[1], corrects[1]).
    Replace(mistakes[2], corrects[2]).
    Replace(mistakes[3], corrects[3]).
    Replace(mistakes[4], corrects[4] + mistakes[4] + corrects[5]).
    Replace(mistakes[5], corrects[4] + mistakes[5] + corrects[5]).
    Replace(mistakes[6], corrects[4] + mistakes[6] + corrects[5]).
    Replace(mistakes[7], corrects[4] + mistakes[7] + corrects[5]).
    Replace(mistakes[8], mistakes[8] + corrects[5]).
    Replace(mistakes[9], corrects[5]).
    Replace(mistakes[10], corrects[5]).
    Replace(mistakes[11], corrects[5]) : textBox1.Text;
    }
    await Task.Delay(1000);
    button1.Text = "Скопировать исправленный текст"; break;
    case 2:
    button1.BackColor = System.Drawing.Color.Snow;
    Clipboard.SetDataObject(textBox1.Text);
    button1.Text = "Скопировано в буфер обмена!"; break;
    }
    }
    }
    }

    • @MacmepI-II-I
      @MacmepI-II-I Před 2 lety

      Скажите пожалуйста, курс на социально-ориентированный национальный проект способствует повышению актуальности дальнейших направлений развития проекта? Задача организации, в особенности же консультация с профессионалами из IT способствует подготовке и реализации системы обучения кадров, соответствующей насущным потребностям!
      Соображения высшего порядка, а также дальнейшее развитие различных форм деятельности все равно зависит от ключевых компонентов планируемого обновления!
      С другой стороны сложившаяся структура организации влечет за собой еще и процесс внедрения, а также модернизации модели развития.
      Тем не менее постоянный количественный рост и сфера нашей активности в значительной степени обуславливает создание ключевых компонентов планируемого обновления. Значимость этих проблем должна быть очевидна большому кругу лиц однако реализация намеченного плана развития может серьезно повлиять на весомую часть направлений прогрессивного развития. Таким образом , новая модель организационной деятельности требует от нас системного анализа соответствующих условий активизации... 😏😅

  • @SAYREXPlay
    @SAYREXPlay Před 2 lety +1

    Вот, исправляет текст из текстБокса
    bool fix = false;
    async void Button1_Click(object sender, EventArgs e)
    {
    if (fix == false && textBox1.Text != "") {
    Method();
    button1.Text = "Исправлено";
    await Task.Delay(1000);
    button1.Text = "Копировать";
    fix = true;
    } else {
    if (textBox1.Text != "" && button1.Text == "Копировать") {
    Clipboard.SetText(textBox1.Text);
    button1.Text = "Скопировано!";
    await Task.Delay(1000);
    button1.Text = "Копировать";
    } else {
    MessageBox.Show("Поле пустое");
    button1.Text = "Исправить";
    }
    }
    void Method()
    {
    textBox1.Text = textBox1.Text.Replace("еще", "ещё");
    textBox1.Text = textBox1.Text.Replace("все-равно", "всё-равно");
    textBox1.Text = textBox1.Text.Replace("ежик", "ёжик");
    }
    }

  • @imspecnazovec
    @imspecnazovec Před rokem

    Привет. Вот что получилось
    using System;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace WindowsFormsApp1
    {
    public partial class Form1 : Form
    {
    bool исправлено = false;
    public Form1()
    {
    InitializeComponent();
    }
    async void Button1_Click(object sender, EventArgs e)
    {
    if (!исправлено)
    {
    textBox1.Text = textBox1.Text.Replace("еще", "ещё").Replace("все равно", "всё равно").Replace("пожалуйста ", "пожалуйста, ");
    await Task.Delay(1200);
    исправлено = true;
    button1.Text = "Скопировать";
    textBox1.Enabled = false;
    }
    else
    {
    Clipboard.SetDataObject(textBox1.Text);
    button1.Text = "Скопировано";
    button1.Enabled = false;
    }
    }
    }
    }

  • @user-wu-tang
    @user-wu-tang Před rokem +1

    ув.Хачатур Привет
    кажется я добился первого правильного решения блока твоего вопроса))
    вот мой код получился:
    using System;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace copygotova
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    async void button1_Click(object sender, EventArgs e)
    {
    textBox1.Text = Clipboard.GetText();
    await Task.Delay(2000);
    textBox1.Text = textBox1.Text.Replace("еще", "ещё").ToUpper();
    button1.Text = button1.Text.Replace("Исправить", "Исправлено");
    if (button1.Text == "Скопировать текст")
    {
    Clipboard.SetDataObject(textBox1.Text);
    }
    await Task.Delay(2000);
    button1.Text = button1.Text.Replace("Исправлено", "Скопировать текст");
    }
    void textBox1_Click(object sender, EventArgs e)
    {
    textBox1.Text = "";
    }
    }
    }
    вот .exe программы, я закинул (https: // www. upload.ee/download/14832090/531e929498fb1c48882d/copygotova.exe)
    в ссылке сделал 3 пробела ((https: // www. ) их нужно убрать, чтоб ютуб пропустил
    P.S> переходим ко второй части со словом "Пожалуйста "
    textBox1.Text = textBox1.Text.Replace("Пожалуйста", "Пожалуйста,") .......
    сейчас на metanite нашёл Compare (Сравнение строк), наверно с ним нужно работать....(https: // metanit.com/sharp/tutorial/7.2.php)

    • @XpucT
      @XpucT  Před rokem +1

      Вот это 👏👏👏

    • @user-wu-tang
      @user-wu-tang Před rokem +1

      @@XpucT Привет
      сегодня добился результата по поводу слова пожалуйста с ","
      вот мой код:
      async void button1_Click(object sender, EventArgs e)
      {
      textBox1.Text= Clipboard.GetText();
      textBox1.Text = textBox1.Text.Replace("все", "всё").Replace("еще", "ещё").Replace("пожалуйста,", "пожалуйста");
      if (textBox1.Text.Contains("пожалуйста"))
      textBox1.Text = textBox1.Text.Replace("пожалуйста", "пожалуйста,");
      }
      P>S.
      мне можно идти дальше, или на твой взгляд нужно еще изучать все до 21-го урока по новой?
      Пока трудно с логикой и с правильным ходом мысли(что за чем должно идти в коде).
      вот ссылка ( www .upload.ee/download/14837770/8202218498851c4b259c/Desktop.rar)
      по ссылке мой текст в текстовом файле, который я копирую в буфер и работаю с программой тоже по ссылке)

    • @XpucT
      @XpucT  Před rokem +1

      @@user-wu-tang определённо можно двигаться дальше 👍

    • @user-wu-tang
      @user-wu-tang Před rokem +1

      @@XpucT честно сказать, голова болела, пока эту последовательность уловишь, но не хотел двигаться дальше, чтоб не забивать голову.
      Спасибо, иду дальше.

  • @user-xu5fs2if2q
    @user-xu5fs2if2q Před rokem +1

    как-то так
    async private void button1_Click(object sender, EventArgs e)
    {
    if (button1.Text == "Исправить")
    {
    string[] notCorrected = { "все равно", "все еще", "все же", "все таки", "это все", "еще", "пожалуйста ", ", пожалуйста ", " пожалуйста ", " пожалуйста,", ",," },
    corrected = { "всё равно", "всё ещё", "всё же", "всё таки", "это всё", "ещё", "пожалуйста, ", ", пожалуйста, ", ", пожалуйста, ", ", пожалуйста,", "," };
    for (int i = 0; i < notCorrected.Length; i++)
    {
    textBox1.Text = textBox1.Text.Contains(notCorrected[i]) ? textBox1.Text.Replace(notCorrected[i], corrected[i]) : textBox1.Text;
    }
    button1.Text = "Исправлено";
    await Task.Delay(2000);
    button1.Text = "Скопировать исправленный текст";
    }
    Clipboard.SetDataObject(textBox1.Text);
    }

  • @lisiger69
    @lisiger69 Před 3 lety +1

    А как найти отпределенны символ и скопировать до определенного символа ?

    • @XpucT
      @XpucT  Před 3 lety

      jailbreakvideo.ru/strings

  • @mehriddinabdullaev3870

    Ассалому алайкум Хачатурака! За класные уроки огромный Рахмат!!! В качестве домашная задания написал программу каторий переводит Кирилский буквы на Латинский и обратно. Возник проблема с буквы "е"(кирилский) это букву надо читат как "э", местами "йе" для этого я написал это:
    ... else if(textBox1.Text.StartsWith("е")) textBox1.Text = textBox1.Text.Replace("е", "ye");// ("Узбекский кирил", "O`zbekcha lotin") else if (textBox1.Text.Contains("е")) textBox1.Text = textBox1.Text.Replace("е", "e"); ... тепер когда запускаю и набераю текст:"место елена" программа переводит "myesto yelena" пожалуйста, помогите как исправит. Знаю где ошибся но как решит незнаю.