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

Поделиться
HTML-код
  • Опубликовано: 13 апр 2019
  • Донаты и на кофе ➜ t.me/win10tweaker/171
    Эксклюзив для спонсоров ➜ / xpuct
    Если недоступна спонсорка ➜
    Шпаргалка
    win10tweaker.ru/strings
    #Replace #Contains #Remove #Trim #ToLower #ToUpper #СиSharp #СиШарп
  • НаукаНаука

Комментарии • 204

  • @alvoltta
    @alvoltta 4 года назад +11

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

  • @user-nq8yb7kj1r
    @user-nq8yb7kj1r 3 года назад +4

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

  • @deverloperfantom1372
    @deverloperfantom1372 2 года назад +1

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

  • @FiaDoot
    @FiaDoot 3 года назад +10

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

    • @XpucT
      @XpucT  3 года назад +6

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

  • @user-io6tp1ob3p
    @user-io6tp1ob3p 4 года назад +2

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

  • @kabanenko5319
    @kabanenko5319 3 года назад +11

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

    • @XpucT
      @XpucT  3 года назад

      🤝

  • @IISh_M
    @IISh_M Год назад +4

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

  • @js13
    @js13 5 лет назад

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

  • @XpucT
    @XpucT  5 лет назад +7

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

    • @XpucT
      @XpucT  5 лет назад

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

    • @XpucT
      @XpucT  5 лет назад +1

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

    • @XpucT
      @XpucT  5 лет назад

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

    • @XpucT
      @XpucT  5 лет назад

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

    • @kodersurocecode267
      @kodersurocecode267 5 лет назад +1

      @@XpucT Решил

  • @rsa-bunker8649
    @rsa-bunker8649 5 лет назад +2

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

    • @XpucT
      @XpucT  5 лет назад

      Горжусь 👍

  • @user-sm6du2wh7r
    @user-sm6du2wh7r Год назад +1

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

  • @user-nv4yz5bt4g
    @user-nv4yz5bt4g 4 года назад +2

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

  • @ianm8107
    @ianm8107 4 года назад +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  4 года назад +1

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

    • @SAYREXPlay
      @SAYREXPlay 2 года назад +1

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

    • @XpucT
      @XpucT  2 года назад +1

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

    • @SAYREXPlay
      @SAYREXPlay 2 года назад +1

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

  • @kingartur1986
    @kingartur1986 3 года назад +1

    Cпасибо

  • @igorbilinkin6375
    @igorbilinkin6375 4 года назад +1

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

    • @XpucT
      @XpucT  4 года назад

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

    • @igorbilinkin6375
      @igorbilinkin6375 4 года назад +2

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

  • @screeki6934
    @screeki6934 5 лет назад +2

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

    • @XpucT
      @XpucT  5 лет назад +1

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

    • @screeki6934
      @screeki6934 5 лет назад +1

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

  • @86werth
    @86werth 4 года назад +1

    Круто

  • @CyberSatan
    @CyberSatan 4 года назад +3

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

  • @mehriddinabdullaev3870
    @mehriddinabdullaev3870 4 года назад +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" пожалуйста, помогите как исправит. Знаю где ошибся но как решит незнаю.

  • @user-hn8me8un7p
    @user-hn8me8un7p 3 года назад +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 Год назад +1

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

  • @Kozeniuk
    @Kozeniuk 5 лет назад +2

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

    • @XpucT
      @XpucT  5 лет назад

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

    • @Kozeniuk
      @Kozeniuk 5 лет назад +1

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

  • @Limonchik335
    @Limonchik335 3 года назад +1

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

  • @daddysdiary4722
    @daddysdiary4722 5 лет назад +1

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

    • @XpucT
      @XpucT  5 лет назад +1

      Lost Son - Life

    • @daddysdiary4722
      @daddysdiary4722 5 лет назад +2

      @@XpucT огромное спасибо

  • @MacmepI-II-I
    @MacmepI-II-I 2 года назад +1

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

  • @Мибус
    @Мибус 2 года назад +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

    • @Мибус
      @Мибус 2 года назад +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;
      }

  • @baxram97
    @baxram97 2 года назад

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

    • @XpucT
      @XpucT  2 года назад +2

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

  • @user-si6ww3gi2l
    @user-si6ww3gi2l 4 года назад

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

  • @Roman-ww3ip
    @Roman-ww3ip 4 года назад +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);
    }

    • @XpucT
      @XpucT  4 года назад +1

      🤟

  • @print_profi5493
    @print_profi5493 2 года назад

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

  • @user-dm4jn2jg4p
    @user-dm4jn2jg4p 4 года назад

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

  • @user-rw1cc7cz4e
    @user-rw1cc7cz4e 5 лет назад +1

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

    • @XpucT
      @XpucT  5 лет назад +1

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

  • @user-rv7ep6wy5t
    @user-rv7ep6wy5t 3 года назад +1

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

  • @FANt1Ko
    @FANt1Ko 4 года назад +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);
    }

  • @user-zf7le3yd3d
    @user-zf7le3yd3d 4 года назад +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;
    }

  • @rffyyjeusush5142
    @rffyyjeusush5142 2 года назад +1

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

    • @XpucT
      @XpucT  2 года назад

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

  • @IISh_M
    @IISh_M Год назад +1

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

    • @XpucT
      @XpucT  Год назад

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

  • @vasili_pupkin_1
    @vasili_pupkin_1 4 года назад +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);
    }
    }
    }
    Работает, исправляет нужный текст, убирает лишние знаки, копирует в буфер.
    З.Ы. как тут через массивы можно сделать не понял, ведь в примерах с массивами был выбор одного и того же в теле массива, но с разными версиями строк (и т.п.).

  • @1skyfallc
    @1skyfallc 3 года назад +1

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

    • @XpucT
      @XpucT  3 года назад

      Trim()

    • @1skyfallc
      @1skyfallc 3 года назад

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

    • @XpucT
      @XpucT  3 года назад

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

  • @user-kd1zc7bp2t
    @user-kd1zc7bp2t 3 года назад

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

  • @user-gt8cf5xt8n
    @user-gt8cf5xt8n 5 лет назад +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  5 лет назад

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

    • @user-gt8cf5xt8n
      @user-gt8cf5xt8n 5 лет назад

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

  • @Silver_men_rev
    @Silver_men_rev 4 года назад

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

    • @XpucT
      @XpucT  4 года назад

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

    • @Silver_men_rev
      @Silver_men_rev 4 года назад +1

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

  • @sergeyfrolov5237
    @sergeyfrolov5237 3 года назад

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

    • @sergeyfrolov5237
      @sergeyfrolov5237 3 года назад

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

  • @makshill1490
    @makshill1490 4 года назад +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  4 года назад +1

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

  • @user-ws6us6qq9k
    @user-ws6us6qq9k 4 года назад +1

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

    • @XpucT
      @XpucT  4 года назад

      ruclips.net/video/e2CSSuW2Wac/видео.html

  • @user-ku6sf7ug2p
    @user-ku6sf7ug2p 4 года назад

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

    • @XpucT
      @XpucT  4 года назад

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

  • @BobiBobObana
    @BobiBobObana 5 лет назад

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

    • @XpucT
      @XpucT  5 лет назад

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

    • @BobiBobObana
      @BobiBobObana 5 лет назад

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

    • @XpucT
      @XpucT  5 лет назад

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

  • @MegaAlexprim
    @MegaAlexprim Год назад +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-qq4oi3nh6o
    @user-qq4oi3nh6o 4 года назад

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

    • @XpucT
      @XpucT  4 года назад +1

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

  • @root7020
    @root7020 5 лет назад +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  5 лет назад

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

  • @stenzoautomatic
    @stenzoautomatic 4 года назад +1

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

    • @XpucT
      @XpucT  4 года назад

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

    • @stenzoautomatic
      @stenzoautomatic 4 года назад

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

  • @user-nr4jf9rt4h
    @user-nr4jf9rt4h 5 лет назад +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  5 лет назад

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

    • @user-nr4jf9rt4h
      @user-nr4jf9rt4h 5 лет назад +1

      @@XpucT спасибо

    • @86werth
      @86werth 4 года назад

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

  • @mirmexa6472
    @mirmexa6472 5 лет назад +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; //Обнуляем счетчик
    }
    }
    }

    • @XpucT
      @XpucT  5 лет назад

      Отлично 👍

    • @mirmexa6472
      @mirmexa6472 5 лет назад +1

      @@XpucT Спасибо

  • @igoryan6175
    @igoryan6175 2 года назад +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  2 года назад +1

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

  • @mlgretard5596
    @mlgretard5596 3 года назад +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  3 года назад

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

    • @mlgretard5596
      @mlgretard5596 3 года назад +1

      @@XpucT Спасибо

  • @user-lv1rk7ji5t
    @user-lv1rk7ji5t 3 года назад

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

  • @try_parse99
    @try_parse99 2 года назад

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

    • @try_parse99
      @try_parse99 2 года назад

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

    • @try_parse99
      @try_parse99 2 года назад

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

  • @NewbieTM_
    @NewbieTM_ 2 года назад +1

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

    • @XpucT
      @XpucT  2 года назад

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

    • @NewbieTM_
      @NewbieTM_ 2 года назад

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

    • @XpucT
      @XpucT  2 года назад

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

    • @NewbieTM_
      @NewbieTM_ 2 года назад

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

  • @LaggeRYT
    @LaggeRYT Год назад +1

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

  • @RebellonRM
    @RebellonRM 2 года назад +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  2 года назад +1

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

  • @user-ku6sf7ug2p
    @user-ku6sf7ug2p 4 года назад

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

    • @XpucT
      @XpucT  4 года назад +1

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

    • @user-ku6sf7ug2p
      @user-ku6sf7ug2p 4 года назад

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

    • @86werth
      @86werth 9 месяцев назад

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

  • @maxbars1996
    @maxbars1996 5 лет назад

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

    • @XpucT
      @XpucT  5 лет назад

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

    • @maxbars1996
      @maxbars1996 5 лет назад

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

    • @maxbars1996
      @maxbars1996 5 лет назад

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

    • @XpucT
      @XpucT  5 лет назад

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

    • @maxbars1996
      @maxbars1996 5 лет назад

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

  • @user-vy4nm2vu7v
    @user-vy4nm2vu7v 5 лет назад +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  5 лет назад +1

      Отлично 👏😇

  • @blinddeveloper6488
    @blinddeveloper6488 5 лет назад

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

    • @XpucT
      @XpucT  5 лет назад

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

  • @cegofont4132
    @cegofont4132 2 года назад

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

    • @XpucT
      @XpucT  2 года назад

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

    • @cegofont4132
      @cegofont4132 2 года назад

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

    • @XpucT
      @XpucT  2 года назад

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

    • @cegofont4132
      @cegofont4132 2 года назад +1

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

  • @juniorkot8714
    @juniorkot8714 5 лет назад +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 = "Исправить";
    }
    }
    }

  • @glorytoukraine429
    @glorytoukraine429 3 года назад +1

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

  • @jozex8141
    @jozex8141 5 лет назад

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

    • @XpucT
      @XpucT  5 лет назад

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

    • @jozex8141
      @jozex8141 5 лет назад +1

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

  • @thefenix1251
    @thefenix1251 2 года назад

    Привет . Ролик очень сильно помог - спасибо . Но у меня остался один вопрос : Как можно заменить в текствовом документе целую строку на свой аналог ?
    Наглядно :
    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  2 года назад +1

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

    • @thefenix1251
      @thefenix1251 2 года назад +1

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

  • @user-nv4yz5bt4g
    @user-nv4yz5bt4g 4 года назад +1

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

    • @XpucT
      @XpucT  4 года назад

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

  • @BlendLogDev
    @BlendLogDev 4 года назад

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

  • @user-vo6po7pd2g
    @user-vo6po7pd2g 2 года назад

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

    • @XpucT
      @XpucT  2 года назад

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

  • @vasilypopov-kg2sr
    @vasilypopov-kg2sr 5 лет назад

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

    • @XpucT
      @XpucT  5 лет назад +1

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

  • @hackpulsar
    @hackpulsar 4 года назад

    Прога, которая цензурит маты:
    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";
    }
    }
    }
    }

  • @SAYREXPlay
    @SAYREXPlay 2 года назад +1

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

    • @XpucT
      @XpucT  2 года назад

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

    • @SAYREXPlay
      @SAYREXPlay 2 года назад +1

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

    • @SAYREXPlay
      @SAYREXPlay 2 года назад

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

  • @hellangel4055
    @hellangel4055 5 лет назад

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

    • @86werth
      @86werth 9 месяцев назад

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

  • @onecelldm
    @onecelldm 3 года назад

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

    • @XpucT
      @XpucT  3 года назад

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

    • @onecelldm
      @onecelldm 3 года назад

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

    • @XpucT
      @XpucT  3 года назад

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

    • @onecelldm
      @onecelldm 3 года назад

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

  • @redice8928
    @redice8928 2 года назад +1

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

  • @kodersurocecode267
    @kodersurocecode267 5 лет назад

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

    • @XpucT
      @XpucT  5 лет назад

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

  • @victor-dh2et
    @victor-dh2et 2 года назад +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  2 года назад

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

    • @victor-dh2et
      @victor-dh2et 2 года назад +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  2 года назад

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

  • @user-fm1lv5um4s
    @user-fm1lv5um4s 4 года назад

    По ДЗ: как сделать так, чтобы вместе с "скопировано в буфер", текст в "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  4 года назад

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

  • @Fioletka_YT
    @Fioletka_YT 4 года назад

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

    • @Fioletka_YT
      @Fioletka_YT 4 года назад

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

  • @user-wu-tang
    @user-wu-tang Год назад +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  Год назад +1

      Вот это 👏👏👏

    • @user-wu-tang
      @user-wu-tang Год назад +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  Год назад +1

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

    • @user-wu-tang
      @user-wu-tang Год назад +1

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

  • @SAYREXPlay
    @SAYREXPlay 2 года назад +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("ежик", "ёжик");
    }
    }

  • @user-wu-tang
    @user-wu-tang Год назад

    ув.Хачатур привет
    у меня уже мозг закипает (по домашнему заданию :) )
    вот моя первая часть кода:
    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  Год назад +1

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

    • @user-wu-tang
      @user-wu-tang Год назад

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

    • @user-wu-tang
      @user-wu-tang Год назад

      @@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);
      как то так)) но воплотить чтоб работало, нема опыта.

  • @romanromashev6486
    @romanromashev6486 Год назад +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
    {
    }

    }

  • @MacmepI-II-I
    @MacmepI-II-I 2 года назад +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 2 года назад

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

  • @imspecnazovec
    @imspecnazovec Год назад

    Привет. Вот что получилось
    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-xu5fs2if2q
    @user-xu5fs2if2q Год назад +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 3 года назад +1

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

    • @XpucT
      @XpucT  3 года назад

      jailbreakvideo.ru/strings

  • @mehriddinabdullaev3870
    @mehriddinabdullaev3870 4 года назад

    Ассалому алайкум Хачатурака! За класные уроки огромный Рахмат!!! В качестве домашная задания написал программу каторий переводит Кирилский буквы на Латинский и обратно. Возник проблема с буквы "е"(кирилский) это букву надо читат как "э", местами "йе" для этого я написал это:
    ... 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" пожалуйста, помогите как исправит. Знаю где ошибся но как решит незнаю.