ахахах, дал домашку, сам ее и сделал, классный подход к подаче материала👌
@ГришаГрибов-я3д2 ай бұрын
Ну ты, не смотря видос, повтори) Если ты совсем новичок, то затупишь всё равно)
@SergeyWillTell2 ай бұрын
@@ГришаГрибов-я3д ну тут может и твоя правда, я не новичок, не могу объективно оценить
@sleepyNovember_project2 ай бұрын
@@ГришаГрибов-я3д я в плюсах уже достаточно наработался со строками 😂 А тут домашка - запомни пару методов, используй
@FiaDoot4 жыл бұрын
Христ, я хочу сказать одно, спасибо тебе огромное! Благодарю тебя за то что ты тот кто смог меня научить всему этому, я пересматриваю эти ролик спустя год что бы не упустить тонкости, я наконец-то смог создавать программы которые имеют спрос среди моих пользователей, спасибо тебе!
@XpucT4 жыл бұрын
Спасибо Тебе 🤝 Я очень рад, что Ты продвинулся дальше многих 👏 Будут ещё уроки. Довольно актуальные в эпоху сети ;)
@НикитаБабенко-г3б3 жыл бұрын
Дядя ты лучший! столько полезной инфы и так быстро и доходчиво!!!
@alvoltta4 жыл бұрын
Я ж и говорю, 60% времени вы тупите. Ахахахахаахах. ТЫ НЕДООЦЕНИВАЕШЬ МОЮ МОЩЬ!!!!11111
@deverloperfantom13722 жыл бұрын
Христ этот очень полезный и нужный урок, блин помню когда я все это делал руками. Спасибо большое за урок.
@IISh_M2 жыл бұрын
Привет. С удовольствием слушаю, что ты вещаешь. Благодарен за знания которые передаешь!! Слушать легко, интересно и довольно неплохо воспринимается и усваивается информация, это радует. За дельные советы, нюансы и фишки очень благодарен! Здорово, что даешь практичные и легко применимые примеры. В общем, подход дельный, береги себя, верь в себя, и продолжай в том же духе. По LINQ урок мне тоже оч понравился. ✊👍🙏
@kabanenko53194 жыл бұрын
Наверное уже поздно но всё же. Мужик спасибо большое, нам дали задания (учусь на программиста) с или очень тупым или вовсе без объяснения. Посмотрел первые 5 мин ролика и уже сделал 80% задания. Просто огромное спасибо!!!
@XpucT4 жыл бұрын
🤝
@Павел-щ5р8ы2 жыл бұрын
Помню год назад когда начинал пользоваться Zennoposter, методом тыка всё это изучал=) а тут дядя Хачатур показывает на примере.
@rsa-bunker86495 жыл бұрын
Спасибо большое написал программулину по выборке телефонных переговоров. Раньше тратил на эту лабуду полдня. Теперь все получается за доли секунд. Класс!
@XpucT5 жыл бұрын
Горжусь 👍
@ianm81074 жыл бұрын
привет Хачатур спасибо за урок!мне 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("я", "Я"); }
@XpucT4 жыл бұрын
Привет 🖐 Похвально! 👏
@SAYREXPlay2 жыл бұрын
@@XpucT а зачем здесь строка textBox2.Text = File.ReadAllText(file2); ?
@XpucT2 жыл бұрын
@@SAYREXPlay чтобы занести в textBox2.Text всё то, что находится в файле file2. Главное не забегать вперёд и идти строго последовательно.
@SAYREXPlay2 жыл бұрын
@@XpucT ясненько. Я почему то подумал что нужно взять текст из буфера обмена
@РсК-о6ч4 жыл бұрын
Всё круто и полезно. Борода в стиле Quake тож понравилась :)
@CyberSatan4 жыл бұрын
Возможность присваивания строковой переменной несколько строк продиктована тем, что тип string в C# воспринимается как последовательность (массив) символов.
@XpucT5 жыл бұрын
Домашнее задание: Необходимо сделать программу, в которой должен быть TextBox и Button. 1. Пользователь должен вставить в поле любую статью или цитату из интернета. 2. Нажатие на кнопку исправит все слова еще на ещё, все равно на всё равно. 3. Нажатие на кнопку также должно расставить запятые по правилам русского языка. 4. Кнопка Исправить должна писать Исправлено после исправления. 5. Спустя пару секунд на кнопке должно быть написано Скопировать исправленный текст. 6. Текст, который исправлен в поле TextBox должен лететь в буфер обмена. 7. Кнопка пишет Скопировано в буфер обмена.
@XpucT5 жыл бұрын
@@igorcoolman хотя пару правил сделать нужно, чтобы Я понял подход к вопросу.
@XpucT5 жыл бұрын
@@igorcoolman Можно в коммент 👍
@XpucT5 жыл бұрын
С двумя запятыми, красава, верный подход. Касаемо слово "все" - не факт, что там всегда буква ё. Поэтому предпочтителен перебор фраз "всё равно", "всё верно" и т.д.
@XpucT5 жыл бұрын
С запятыми Игорь верно смекнул - нужно сначала заменить слово "пожалуйста" на "пожалуйста, ". Таким образом есть риск, что где-то появятся две запятые и он сразу же убирает их методом замены двух запятых на одну.
@kodersurocecode2675 жыл бұрын
@@XpucT Решил
@mehriddinabdullaev38704 жыл бұрын
Ассалому алайкум Хачатурака! За класные уроки огромный Рахмат!!! В качестве домашная задания написал программу каторий переводит Кирилский буквы на Латинский и обратно. Возник проблема с буквы "е"(кирилский) это букву надо читат как "э", местами "йе" для этого я написал это: ... 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" пожалуйста, помогите как исправит. Знаю где ошибся но как решит незнаю.
@Limonchik3353 жыл бұрын
Придумал вот: label1.Text = WriteLine(); В скобках нужно указать метод рандома из которого будет браться номер строки и указать путь к файлу в котором на каждой строке есть текст То есть текст лейбла равен рандомной строке из файла
@screeki69345 жыл бұрын
Ура, ещё один человек который знает про тильду.
@XpucT5 жыл бұрын
Всегда писал букву ё и никогда не понимал, почему так сложно удержать её на телефоне или ткнуть на клавиатуре. Как будто буква е дофига времени экономит. Сказал бы Я что экономит время. Уж точно не буква е.
@screeki69345 жыл бұрын
@@XpucT Так и не только в интернете подобная проблема, в той же школе было неудобно итать чужие записи, с буквами е, заместо ё
@ДаниилСафронов-е8т4 жыл бұрын
19:21затем что именно возвращает и именно копию, то бишь на сому строку влияния не оказывает. Копирует строку, изменяет ее и возвращает обратно уже новую строку с новым адресом в памяти. laibel2.Text=label1.Text.ToLower() результат в лэйбле 1 строка остается без изменений в лэйбле 2 появляется новая строка идентичная строке в лэйбле 1 но все буквы в ней будут маленькими.
@ВалерийВаланчус4 жыл бұрын
Вы все методы класса String покажите . Когда показываете метод - говорите из какого он класса , потом будет удобнее его найти в справочнике или самоучителе . А вообще классные уроки !
@igorbilinkin63755 жыл бұрын
Посмотрел основу, все гуд, лайк, подписка)) В общем из пожеланий: пролистал плейлист, не нашел ничего про базы данных, а очень хотелось бы, дальше скажу почему. Предыстория: собственно почему стал учить C#, в общем то с программированием знаком, 2 года работал в веб-студии. Сейчас работаю на крупном заводе, большой парк компьютерной техники и для того что бы сотрудники моего IT-отдела пошли и исправили у кого то какие то неполадки с техникой, пользователь должен написать заявку, подписать у своего руководителя, подписать моим руководителем, потом должен подписать я и отдать заявку своему сотруднику что бы он что то пошел и сделал, хотя там и работы то на 5 минут, в общем советская бюрократия. К делу: хочу написать некое подобие электронного Документооборота. Программка, в ней заведены пользователи, у каждого есть права, допустим подача заявки, подписание документа, принятие в оборот и к примеру что бы пользователь по выполнению работ подтверждал выполнение. И что бы все это в базе хранилось и в любой момент, начальник мог посмотреть когда были заявки, сколько и как выполнялось. Для начала. В последствии перевести в программу все журналы работ, регистраций и прочей лабуды. Так что если есть знания работы с БД, поделись, очень нужно, у меня в них большой пробел, а у тебя все отлично получается объяснять. Ну и распределение прав, как это вообще работает и как это реализовать. А за курс огромное спасибо, Win 10 Tweaker пользуюсь, прога огонь, до просмотра курса не знал что ты ее написал. Продолжаю смотреть дольше. Спасибо все очень интересно.
@XpucT5 жыл бұрын
С базой данных знаком и там как раз всё очень и очень просто. Знаний php нужно вот прям минимум. Когда сделаю видео, Ты будешь в шоке и одновременно в восторге от того, как легко и быстро сделать базу данных, а точнее, как вообще с ней работать. То есть как подключаться, как вносить изменения, как читать, как делать так, чтобы другие не могли ничего менять, а только читать. Как сделать так, чтобы никто не мог достучаться просто так и прочее и прочее. В одном небольшом видео будет полнейший охват вопроса и думаю все будут очень рады и удивлены тому, насколько это всё просто =) Это будет действительно очень простой урок. Даже mySql и php не нужно знать. Там нужен не просто минимум, а тупо шаблон, которым поделюсь. Но позже, сейчас очень занят и дела семейные не позволяют пока. Но курс продолжится с уклоном как раз на продвинутые вопросы и фичи. Я постепенно отмечаю для себя из комментов, какие темы приоритетнее. Но всё потом.
@igorbilinkin63755 жыл бұрын
@@XpucT Все, ок жду с нетерпением, заранее спасибо)
@js135 жыл бұрын
урааа, я думал конец,спасибо тебе за старание!!!!!!!!
@MacmepI-II-I2 жыл бұрын
2:31 Ох уж эта "C" или "с"... Тот самый случай, когда неосознанно повторяешь одну и ту же ошибку за маэстро 🙂 - спасибо русификации клавиатуры за это 😅
@ДирижабльГоблинов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); } }
@MegaAlexprim2 жыл бұрын
тут условия не хватает, в задании говорилось после того как текст исправлен надпись на кнопке должна сменится на исправлено, а уж потом на Копировать.
@1skyfallc4 жыл бұрын
Ведь теоретически может быть так, что во фразе ", пожалуйста," между первой запятой и буквой П может быть бесконечное количество пробелов, тогда вот такая замена не будет учитывать все случаи .Replace(" пожалуйста ", ", пожалуйста, ")
@XpucT4 жыл бұрын
Trim()
@1skyfallc4 жыл бұрын
@@XpucT Trim же только в начале и в конце удаляет пробелы, перед первой запятой удалит и после второй, а между первой запятой и буквой П так они и останутся Не до конца понимаю просто как это сделать именно для всех случаев, а не только когда один пробел стоит всегда
@XpucT4 жыл бұрын
@@1skyfallc Можно проверять на большую букву П. Вариантов много и вот тут действительно нужно учитывать всё, и пробелы, про которые Ты написал и отступы.
@sleepyNovember_project2 ай бұрын
Отличная идея, можно сделать прогу которая будет почти все слова, содержащие "е" вместо "ё" заменять на правильное написание с "ё". Есть одна веб страница со списком, якобы, всех русских слов, содержаших букву "ё" Только я не умею в парсинг веба пока чт
@Roman-ww3ip5 жыл бұрын
Спасибо за урок, после плюсов интересно и легко переходить на шарп, благодаря тебе. ДЗ: 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); }
@XpucT5 жыл бұрын
🤟
@Мибус3 жыл бұрын
Мне понравилась идея в комментариях запихать сюда ещё и прогресс бар. Попытался реализовать его в привязке к ходу выполняемых операций по исправлению, привязав к переменной, чтоб была возможность в дальнейшем, с появлением новых операций по проверке текста, изменять процент заполнения полоски. Понятно, что там на выполнение всего кода уходят доли секунды и заполнение прогресс бара будет не заметно, поэтому навтыкал делеев, по другому не придумал как сделать) Кстати, вот тоже интересно почему если задержка меньше 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
@Мибус3 жыл бұрын
Немного модифицировал код, мне показалось, там слишком много повторяющихся элементов и сделал функцию возвращающую две текстовые переменные. Пришлось только погуглить как объявить такую, а дальше методом тыка разбирался как это со свитч кейсом заставить работать. Хотел запихнуть ретёрн сразу туда, но выдавало ошибку, пришлось вводить ещё дополнительную переменную. Наверняка очередной говнокод, но это такой кайф, когда оно начинает работать как ты хочешь)) 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_M2 жыл бұрын
Вопрос по уроку. Как в массиве заменить все пустые строки(ячейки) когда в них вроде пусто а пробелов или нет или много в этом пустом. Как правильно записать код замены, по всему массиву где много строк, пустого на любое слово?
@XpucT2 жыл бұрын
Придётся подождать до 20 урока. Крайне не советую бежать с этим вопросом вперёд, не узнав кое-что ранее. Очень важно первые 20 уроков посмотреть по порядку.
@kingartur19863 жыл бұрын
Cпасибо
@Kozeniuk5 жыл бұрын
Уважаемый Хачатур! Не будет ли видео на тематику "О вкусах спорят"? Интересна именно ваша концепция. Просто бездна подводных потоков информации. Просто великолепно.
@XpucT5 жыл бұрын
Что начать задвигать на эту тему, нужно, чтобы дошло до точки кипения. Либо делать отдельный канал на тематику мира вообще.
@Kozeniuk5 жыл бұрын
@@XpucT Спасибо за ответ. Я реально учу по Вашим материалам студентов. Это замечательно. Это целая ноосфера. Спасибо Вам.
@СубаналыТоктоболотов-о8н3 жыл бұрын
Помогите пж🙏. Как поменять местами первое и второе слово в listBox? Я не могла сделать
@print_profi54932 жыл бұрын
Привет! А можешь дать название книги или ссылку на урок, где объясняется вывод документа на принтер, ну типа как сделать накладную и вывести её на принтер. Спасибо!
@ИгорюшаЗелёнкин3 жыл бұрын
А есть видосики про динамические листы, DataGridView и т.п. ?
@безбашенийпро4 жыл бұрын
можно создать 2-мерный массив и в первом массиве написать ошибки, а во втором написать правильные слова потом циклом перебирать и изменять ошибки
@rffyyjeusush51423 жыл бұрын
Спасибо за видео! А как написать программу, которая меняет в строке заглавные буквы на строчные, а строчные на заглавные?
@XpucT3 жыл бұрын
Продолжайте просмотр плейлиста =) Все ответы уже есть.
@BobiBobObana5 жыл бұрын
06:00 При чтении из файла Лейбл выдает только ??????? в черных ромбиках, вместо русского шрифта. Как это можно поправить? PS string line = File.ReadAllText(@"C:\Users\IDis\Desktop\1.txt"); label1.Text = line;
@XpucT5 жыл бұрын
Не нужно пропускать видео. Про проблему с кодировкой уже было.
@BobiBobObana5 жыл бұрын
@@XpucT Пересмотрел все ролики которые я не видел. Не увидел я упоминания о кодировке. Можете дать намек, в какой серии это было?
@XpucT5 жыл бұрын
@@BobiBobObana помните файл, который открывал на рабочем столе? Внёс туда текст "Слово, просто слова". Потом упрекнул как раз Microsoft.... потом исправил, сохранив Блокнот в Unicode...
Привет, Хачатур! Мой недокод по ДЗ) Не очень понял одно, если вместо "" написать 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 = "Введите текст который хотите исправить..."; }
@XpucT3 жыл бұрын
Привет 🖐 Не совсем. null - это действительно пусто. "" - это когда значение есть, но оно пустое. null - это когда значения нет. Это станет понятнее на примерах в следующих видео с реестром, где пустой параметр и параметр с пустым значением - это разные вещи.
@vasili_pupkin_14 жыл бұрын
А теперь вариант кода для тупых, как я. Я сделал так: сперва составил текст, в котором будет проверяться нужный сценарий: "Все все еще все равно не собрались. Пожалуйста собирайтесь. Все все еще все равно не собрались пожалуйста собирайтесь. Все все еще все равно не собрались. Собирайтесь пожалуйста." Затем, не прибегая к шпаргалкам, написал самый простой код, там даже скобки вроде можно поставить, но я не стал. По-моему это получится у каждого: 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); } } } Работает, исправляет нужный текст, убирает лишние знаки, копирует в буфер. З.Ы. как тут через массивы можно сделать не понял, ведь в примерах с массивами был выбор одного и того же в теле массива, но с разными версиями строк (и т.п.).
@86werth5 жыл бұрын
Круто
@Мистер-с5ж5 жыл бұрын
Здравствуй, Хачатур! Вот дз)) Сложнее всего было сделать так чтобы кнопка выполняла сразу несколько функций. В итоге придумал чтобы 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 = ""; } } } }
@XpucT5 жыл бұрын
Можно сделать булевое значение, например: bool working = false; На лету его менять или проверять. if (working) работает else не работает Не забываем на лету менять значение, когда это нужно 👍
@Мистер-с5ж5 жыл бұрын
Cпасибо, постараюсь разобраться
@makshill14905 жыл бұрын
Хотел сделать 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(" а ", ",а "); } } } } }
@XpucT5 жыл бұрын
Читаю =) Трень =)
@mlgretard55964 жыл бұрын
Привет, 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(); } //
@XpucT4 жыл бұрын
Привет 🖐 Прямая ссылка на Мой ответ (похожий вопрос): kzbin.info/www/bejne/Z3LMfJitYr2Eqc0&lc=Ugz3tr7NCpDesntMog54AaABAg.995RJI_Vi0x995Sxj6fLOl Открывай с компа ссылку, чтобы внизу развернулся Мой ответ 👍
@mlgretard55964 жыл бұрын
@@XpucT Спасибо
@baxram972 жыл бұрын
На самом деле очень качественные уроки, но главное проблема в том, что не используешь консоль. Поверь, графическая оболочка не самый лучший вариант. У меня есть база знаний, из-за этого так говорю.
@XpucT2 жыл бұрын
9 из 10 благодарны за то, что обучаю не просто языку, а применению. При чём не на сложном в понимании новичка MVVM или бестолковом Console, а на живом примере. Круглый год такие комменты и да, это Я предугадал сразу. Иначе человек с нулевым знанием не знает что к чему привязать. Нужны всегда живые примеры и ошибки. Без них урок не усваивается с первого раза.
@sergeyfrolov52374 жыл бұрын
При копировании файла стекст документа в лейбле открываются ромбы с вопросами вместо букв В чем дело помоги кто нить ?
@sergeyfrolov52374 жыл бұрын
Все понял надо сохранить в блокноте UT8
@ЖекаСимаков-у5х5 жыл бұрын
Домашнее задание: 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); }
@XpucT5 жыл бұрын
Очень хорошо 👍
@ЖекаСимаков-у5х5 жыл бұрын
@@XpucT спасибо
@86werth5 жыл бұрын
Я если будет 10 запятых после слова!! Так как???
@Krusensterrn5 жыл бұрын
Спасибо за крутой урок!) Кстати я уже дня 3 борюсь с багом, может у вас будут идеи. Дело в том что я написал сервер, и чат на нем реализовал через json, и получается что когда один клиент отправляет второму сообщение, то он находит его текстовый файлик, и вписывает в него это сообщение, и если выйти с сервера нормально, т.е закрыть сокет и все такое, то нет проблем, ну а если просто закрыть клиент не по правилам, то при попытке прочитать это сообщение, сервер начинает глючить, второй клиент не может получить доступ к файлу. Можно ли как-то освободить файлик? Ну т.е закрывать процесс, что бы он не мешал, т.е записал и освободил. Я рылся в сети, пишут про потоки, то что можно через поток текст передать, и просто закрывать поток, но я что-то сомневаюсь что это поможет, а вы как думаете?
@XpucT5 жыл бұрын
По Вашему вопросу обязательно к просмотру: 1. kzbin.info/www/bejne/oqXZd6WNeNZ_bMk 2. kzbin.info/www/bejne/rHnUeaWcbpZniqM
@NewbieTM_3 жыл бұрын
Не знаю можно ли скидывать код, но очень хотелось бы чтобы вы сказали мне как сократить все проверки на то, где стоит слово. Допустим *наверное* стоит в конце с точкой или в середине. Очень растягивает код. Можно чтобы я скинул код и вы проверили домашнее задание и помогли?
@XpucT3 жыл бұрын
Давайте проверю. Залить можете на Google Диск, например.
@NewbieTM_3 жыл бұрын
@@XpucT У вас ссылки удаляются в комментариях? Я два раза отправил .
@XpucT3 жыл бұрын
Тогда у нас на форуме: win10tweaker.ru/forum/forum/%d1%81
@NewbieTM_3 жыл бұрын
@@XpucT Да. СПасибо. Я уже создал тему.
@РрОл-ш1п4 жыл бұрын
Всем привет, подскажите как перевести в верхний регистр последнюю букву в каждом слове ?
@XpucT4 жыл бұрын
Привет 🖐 По аналогии: www.cyberforum.ru/windows-forms/thread1482685.html
@stenzoautomatic4 жыл бұрын
Приветствую всех,знаю что видео уже как год на канале,но может хоть кто и ответит)))Проблема в том, что когда читаю текст в файле как в видео,то вместо русских символов выходят знаки вопроса а с латиницей всё нормально,как быть?Я так понял проблема в какой-то кодировке,так вот как это настроить,видать надо в настройках программы полазить?Сам новичок я в winforms,обычно работаю с железом на C++,VisualStudio2019 у меня и решил подружить компьютер с микроконтроллером.
@XpucT4 жыл бұрын
Нужно сохранять файл в кодировке Unicode, иначе действительно будет всё коряво со знаками вопроса. Но если файл нельзя изменить, то можно изменить кодировку на лету. Пример: File.ReadAllText(@"C:\Сергей Тиркин\Файл.txt", Encoding.GetEncoding(1251);
@stenzoautomatic4 жыл бұрын
@@XpucT ,не фига се быстро ответили)))Хачатур, спасибо большое за уроки,очень помогают мне в изучении C#,продолжай в том же духе!Не планируешь ли сделать видео по работе с ком портом,хотя я вроде как разобрался,но интересно было бы узнать ваше мнение.Ещё раз благодарю!!!!
@Silver_men_rev4 жыл бұрын
Дружище, есть у тебя видосы про формы, написал авторизатор, он все норм заходит регается и сворачивается и сразу же запускается второе окно, в этом окне расположен основной функционал, когда жму на кнопку запустить ни чего не происходит, переношу этот же код в первую форму там все норм работает, пробовал уже все что мог найти в инете по C#, пишут что фокус надо переводить на вторую форму, но я начинающий, как неделю назад начал что то писать и много еще чего не понимаю,а то что пишут в инете не рассказывая что ставить куда ставить хз, я поставил ни чего не работает, думаю или я что то не делаю или это не работает))) короче удалил вторую форму сделал на одной, но сегодня понял что надо возвращать вторую форму.
@XpucT4 жыл бұрын
Если формы не связаны, значит нужны либо делегаты контролам, либо открывать вторую форму и делать её дочерней. На канале про это не было, но обязательно будет. А пока могу дать просто рекомендацию начать искать ответ на cyberforum. Там есть тема типа «7 популярных вопросов, касающихся форм». И там много ответов на вопрос, как сделать что-то из второй формы.
@Silver_men_rev4 жыл бұрын
@@XpucT Спасибо друг.
@ВладимирВладимирович-ю6х4 жыл бұрын
Очень жаль , что нет разбора домашних заданий,пока моих мозгов хватило на это: 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; }
@ЕвгенийДемидов-е9о4 жыл бұрын
А как удалить все слова которые мы выбрали (например если их в тексте несколько одинаковых), у меня просто удаляет первое из этих слов. Например: "Сжатие", встречается несколько раз, но удаляется только первое на которое наткнулась программа. Спасибо
@XpucT4 жыл бұрын
Если коротко, то например: string path = @"C:\Пример\Файл.txt"; string line = File.ReadAllText(path); line = line.Replace("Искомое слово", ""); File.WriteAllText(path, line);
@МұхтарДилдабаев3 жыл бұрын
Добавляю тект ,но не открывает русс керилицу а англ керилицу принимает Можете помочь ? Спасибо
@Тимур-ц5к7м4 жыл бұрын
Как называется прога, с помощью которой ты себя снимаешь?
@XpucT4 жыл бұрын
kzbin.info/www/bejne/m2OmhIarjJeKl8U
@mirmexa64725 жыл бұрын
Вот мое дз 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; //Обнуляем счетчик } } }
@XpucT5 жыл бұрын
Отлично 👍
@mirmexa64725 жыл бұрын
@@XpucT Спасибо
@RebellonRM3 жыл бұрын
Интересно, я туповат, или не понял нюанса задания? То есть, если нужно исправить определенные слова, то обязательно писать тучу строк кода? Если к примеру после "пожалуйста" есть пробел, значит слово не последнее в предложении, и его можно исправлять. Просто меня немного напугали решения в комментариях, ибо у меня вышла простейшая ерунда, которая в принципе сработала на моём примере. 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); } }
@XpucT3 жыл бұрын
Можно сравнить с теми, кто также выполнил задание тут в комментах ;)
@РрОл-ш1п4 жыл бұрын
всем привет. подскажите как именно перевести в верхний регистр не всё слово а к примеру первую букву в слове?
@XpucT4 жыл бұрын
string slovo = "слово"; slovo = char.ToUpper(slovo[0]) + slovo.Substring(1);
@РрОл-ш1п4 жыл бұрын
XpucT а последнюю? И если строк много и в каждом слове разное количество букв?
@86werth Жыл бұрын
@@РрОл-ш1п вероятно -1
@8username85 жыл бұрын
Почему история версий W10T не доступна на сайте ? Пришла обнова, а что поменялось неизвестно.
@XpucT5 жыл бұрын
Отключите блокировщик рекламы. Её всё равно нет на сайте. А блокировщик считает, что это реклама.
@8username85 жыл бұрын
@@XpucT понял, спасибо !
@8username85 жыл бұрын
@@XpucT т.к. написать в теме сейчас нельзя, напишу здесь. Есть предложение по твикеру - сделать подсветку Shift + ПКМ серым если он применен и белым если нет. В тех пунктах где он есть конечно.
@XpucT5 жыл бұрын
@@8username8 подсветка меняется, но еле заметно. Сделан баланс между применённым и не применённым. С лупой и пипеткой можно это увидеть и проверить.
@8username85 жыл бұрын
@@XpucT присмотрелся, заметил, но все же хотелось бы более выраженную разницу.
@try_parse992 жыл бұрын
Привет, не знаешь как из Resources\blablabla.json перезаписать весь текст в 1500 строк в C:\blablabla.json? очень нужно
Типа нужно создать установищик который будет файл .json устанавливать в указаную папку
@cegofont41322 жыл бұрын
Указал путь к файлу всё сделал, вроде, правильно, а консоль изменила буквы в предложении на вопросы, в чем причина не подскажите?
@XpucT2 жыл бұрын
Код в студию. Проблема с кодировкой.
@cegofont41322 жыл бұрын
@@XpucT Код писал по видео, всё работает, но русские символы пишутся под знаком "?", а английские нормально показывает string line = File.ReadAllText(@"D:\Рабочий стол\Sasha\PROGIS\черновик.txt"); label1.Text = line;
@XpucT2 жыл бұрын
@@cegofont4132 какая кодировка в txt? Точно файл создавался в UTF-8 и при этом в Notepad++?
@cegofont41322 жыл бұрын
@@XpucT Понял свою ошибку, я в ANSI сохранял
@jozex81415 жыл бұрын
Снова привет, Хачатур. Не подскажешь в чём проблема? При чтении файла с русским текстом ловлю это prntscr.com/ohs00e, также почему то ничего не выводит данный код prntscr.com/ohs2gy (текст брал тот же, от Win10 Tweaker`a)
@XpucT5 жыл бұрын
Не пропускай уроки и не опережай их ;) Говорил, что текстовый файл должен быть в кодировке UTF-8. Если используешь родной блокнот, а не Notepad++, то нужно обязательно _Сохранить как_ И там выбираешь Unicode или UTF-8.
@jozex81415 жыл бұрын
@@XpucT Спасибо, да я вроде не пропускал)) Наверно прослушал как-то(
@root70205 жыл бұрын
Хз как получилось, старался сделать коротко и чтоб все работало. 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); } } } }
@XpucT5 жыл бұрын
Отлично, красава 👍
@MegaAlexprim2 жыл бұрын
в первые вообще домашнее задание выполнял, никогда не мог! отвечаю ни разу не получалось. а тут вот родил уродца -)) немного поменял текст задания. чтоб не повторятся -) короче текст должен быть такой.- Дай мне пожалуйста еще вещей. (по принципу все, всё) и вот решение: 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); }
@hackpulsar4 жыл бұрын
Прога, которая цензурит маты: 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"; } } } }
@ВалерийВаланчус4 жыл бұрын
Шрифт очень мелкий на ваших роликах , код плохо виден . Это у меня или у вас такие настройки ?
@XpucT4 жыл бұрын
Все обычно видят всё прекрасно.
@СофьяКрюкова-х5о2 жыл бұрын
Я не могу перейти на сайт со шпаргалкой. У кого-то ещё такая проблема есть?
@XpucT2 жыл бұрын
Всё прекрасно работает.
@blinddeveloper64885 жыл бұрын
Новец replace В программе И remove Очень сильно раздувает Проект, Так почему же их все равно используют?
@XpucT5 жыл бұрын
Проект раздувается в размерах только из-за текста в основном.
@thefenix12513 жыл бұрын
Привет . Ролик очень сильно помог - спасибо . Но у меня остался один вопрос : Как можно заменить в текствовом документе целую строку на свой аналог ? Наглядно : 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 ... Я сделал так , чтобы программа определяла по большей части текста строку , но далее я встрял . Я ещё мало знаю о С# , поэтому возможно я и не могу найти ответ на свой вопрос .
@XpucT3 жыл бұрын
Привет 🖐 Немного резко пошёл вперёд, смотри далее. В плейлисте уже есть урок по Регулярным выражениям. Не только для C#.
А зачем виртуальная машина с дисяткой, под десяткой для написания кода на шарпе?
@XpucT3 жыл бұрын
Затем, что покодишь столько сколько Я с виндой играюсь и поймёшь, что откаты нужны постоянно. Рассказывалось об этом в Уроке 1. Были также случае, где даже на стримах показывал, что будет если... И всё, прощай Windows. А виртулку можно быстро откатить. Понятно, что если играться с банальным калькулятором или делать игру - для этого виртуалка не нужна. А вот серьёзные сетевые хаки, политики и прочее очень желательно не трогать в живой среде Windows. Накроешь свою винду и даже не узнаешь порой. Те же патчи и прочее. Нужно сразу привыкать серьёзные вещи делать только на виртуалке и только после тщательного тестирования переходить на живую среду. При этом, как видно, в производительности ничего не теряешь на виртуалке и всё так работает сверх быстро, как мы видим на компе 5-ти летней давности.
@onecelldm3 жыл бұрын
@@XpucT Ну, хз, я уже давно ушел от основ, на видос наткнулся от скуки, вот стало интересно. Так как в первые такую практику вижу. Обычно юзают, Песочницу или же Docker. Чтобы прям в VirtualBox писали код, вижу в первые. Чисто из за безопасности системы, OK. Вопросы отпали.
@XpucT3 жыл бұрын
@@onecelldm помимо безопасности, есть неотъемлемая практика - патчинг системных библиотек. При том, что нужно помнить, что патч - это не замена одного файла на модифицированный, а сам процесс патчинга, dll к примеру. Например, в Win 10 Tweaker реализован патчинг dll, отвечающий за отображение раздражающий плашки языка справа в Windows 10 (kzbin.info/www/bejne/iInQgmx_qq56gsU) в реальном времени. Я не заменяю файл, а делаю бэкап оригинальной библиотеки и патчу оригинал на лету, переписывая байт-последовательность. Делать это на реальной винде чревато тем, что права системе уже не вернёшь. Да, есть sfc /scannow, есть восстановление прав из безопасного режима, но эти танцы с бубном отнимают очень много времени. А так, просто сделал снимок системы, протестировал твик, всё работает, протестировал на других виртуалках и версиях Windows, и, если всё работает, переходим в живую среду Windows. Таких примеров можно привести очень много. Тем не менее, если у человека даже банальная задача создать плеер или текстовый редактор, были случаи, когда Live Share обновился на VS 2017 и накрывал при этом свой же функционал в VS 2019. Отката не задумано. Удаление не работает, потому что видишь ли он уже в процессе. Где-то что-то там записал и всё, тупик. Жди пока исправят баг. А зачем ждать, если есть виртуалка. Песочницы удобны как раз в реальной винде, когда делаешь первый тест. Очень много раз спасал Shadow Defender (kzbin.info/www/bejne/fZqzmJePert8pZI) и Sandboxie (kzbin.info/www/bejne/n5rCpWB8qqqYkNU).
@onecelldm3 жыл бұрын
@@XpucT хорошо, спасибо за инфу, приму к сведенью, правда патчить либы и тд ещё не нужно было, так как такой задачи никогда не стояло, а твоим твикером пользовался для удаления метро приложений.
@juniorkot87145 жыл бұрын
Спасибо за хороший урок ДЗ: 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 = "Исправить"; } } }
@trader_iks3 жыл бұрын
Тем временем C++: 🗿🗿
@sleepyNovember_project2 ай бұрын
Нормально))
@sleepyNovember_project2 ай бұрын
Там есть ctype, имба
@SAYREXPlay2 жыл бұрын
Странно, мой коммент с кодом почему-то ютуб стирает((
@XpucT2 жыл бұрын
Ты его больше нигде не постил? И ещё, если себе лайки ставишь, то тоже может удалять.
@SAYREXPlay2 жыл бұрын
@@XpucT неа, не постил и лайки не ставил. Странно. Сейчас ещё раз попробую
@SAYREXPlay2 жыл бұрын
@@XpucT вроде опубликовался. Спасибо)
@hellangel40555 жыл бұрын
У меня одного в textBox не работает .Trim() ?
@86werth Жыл бұрын
По ходу дела да
@victor-dh2et3 жыл бұрын
Хачатур, огромное спасибо за уроки!! В общем подумал, чтобы проверить на наличие запятых, нужно представить исходный текст как массив символов, но в итоге заглох, есть плавающие ошибки. Можешь подсказать, хотя бы в правильном ли направлении двигаюсь? Мой "код" ниже (там полный трэшак, но, как говорится, дорогу осилит идущий), работал со строкой "и мне ещё помогите, пожалуйста, разобраться, пожалуйста, помогите": 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; } }
@XpucT3 жыл бұрын
Привет 🖐 У Тебя return находится в button, хотя button относится к void. Если создать отдельный метод string, тогда можно возвращать (return) что-то в виде текста.
@victor-dh2et3 жыл бұрын
@@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
@XpucT3 жыл бұрын
@@victor-dh2et красавчик ☝
@vasilypopov-kg2sr5 жыл бұрын
Христ добавь пожалуйста в Windows 10 tweaker рекомендуемые настройки от тебя.Тоесть добавь функцию которая позволит настроить пк через Windows tweaker автомотически и правильньно без ошибок
@XpucT5 жыл бұрын
Win 10 Tweaker имеет только те твики, которые применяю Я лично. В программе никогда не было и не будет ничего, чем не пользовался бы Я сам. Поэтому безопасно рекомендую каждый твик без исключения. Бывают такие VPN-клиенты, которым необходима служба DNS-клиент. Кто пользуется обновлением, кто-то не удаляет плиточные приложения. И поэтому есть выбор для каждого - делать что-то или нет. Я же делаю всё без исключения на любых компах. Всегда и всё безопасно, если при этом не твикать систему другими сомнительными программами. Даже страховочное соглашение гласит, что нужно делать всё на нормальной винде, а не на той, которую так урезали, что всё летит. Win 10 Tweaker работает исходя из всех адекватных сценариев состояния ПК. А вот, например, отсутствие cmd или PowerShell даже не учитывает, потому что неизвестно кем нужно быть, чтобы их вырезать. Надеюсь, понятно =)
@BlendLogDev4 жыл бұрын
Тогда пусть люди пишут либо правильно сразу свои статьи, либо в программку-исправлялку
@redice89282 жыл бұрын
Это че мне все слова с буквой ё перечислить?
@LaggeRYT Жыл бұрын
Ну и по традиции, я не знаю с чего начать писать код.... ПЗДЦ. Я дико извиняюсь))) код читаю, понимаю, как начать писать то всё пиши пропало как говорится...
@XpucT Жыл бұрын
@МирланМамыралиев-е2ы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); //
@XpucT4 жыл бұрын
Подожди с выделением. В домашнем задании нужно было заменить е на ё там, где это нужно. У Тебя заменяется абсолютно везде.
@kodersurocecode2675 жыл бұрын
Ты можешь написать домашнее задание я не понял что надо сделать
@XpucT5 жыл бұрын
Сейчас напишу и закреплю.
@Fioletka_YT5 жыл бұрын
РьидОллТьэкст
@Fioletka_YT5 жыл бұрын
Hi author and cool teacher! I recommend you training your listening English! Thanks, you for such an interesting lessons!
@daddysdiary47225 жыл бұрын
фоновый соундтрэк уж больно по душе Дорогой Хачатур...я бы скачал его гденибудь у Вас... слушал бы его и слушал во время своих шабашек..
@XpucT5 жыл бұрын
Lost Son - Life
@daddysdiary47225 жыл бұрын
@@XpucT огромное спасибо
@MacmepI-II-I2 жыл бұрын
Д/З сделано - работа со строками не проходит даром 👌 (найденная мной бредовая «рыба» будет под этим комментарием 📄): 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-I2 жыл бұрын
Скажите пожалуйста, курс на социально-ориентированный национальный проект способствует повышению актуальности дальнейших направлений развития проекта? Задача организации, в особенности же консультация с профессионалами из IT способствует подготовке и реализации системы обучения кадров, соответствующей насущным потребностям! Соображения высшего порядка, а также дальнейшее развитие различных форм деятельности все равно зависит от ключевых компонентов планируемого обновления! С другой стороны сложившаяся структура организации влечет за собой еще и процесс внедрения, а также модернизации модели развития. Тем не менее постоянный количественный рост и сфера нашей активности в значительной степени обуславливает создание ключевых компонентов планируемого обновления. Значимость этих проблем должна быть очевидна большому кругу лиц однако реализация намеченного плана развития может серьезно повлиять на весомую часть направлений прогрессивного развития. Таким образом , новая модель организационной деятельности требует от нас системного анализа соответствующих условий активизации... 😏😅
ув.Хачатур привет у меня уже мозг закипает (по домашнему заданию :) ) вот моя первая часть кода: 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 Жыл бұрын
Могу похвалить за внимательность и попытку выполнить строго сказанное задание, однако, даю добро создать отдельную кнопку, ибо на самом деле в реале редко будет одна кнопка выполнять разные действия. Очень редко. Но, опять же, похвально, что решил бахнуть всё с одной кнопки. Так или иначе, чтобы переписать кнопку под новые сценарии (если прям запариться), то первое, что приходит в голову - проверять текст самой кнопки. То есть, если в кнопке на данный момент прописано _Исправить,_ то она выполнит именно исправление. Если _Скопировать,_ то, соответственно, копирует исправленный результат. Отталкивайся от этого 👍
@user-wu-tang Жыл бұрын
@@XpucT спасибо, завтра буду кумекать. А с двумя кнопками я делал и у меня работало (вроде) , только я не стал писать сюда и спрашивать, хочу именно по твоим словам сделать, думаю много это времени займёт 😁😁но буду стараться. Иногда бывает так, что в голове ты понимаешь и вроде все логично, но как начинаешь писать код, то сразу начинается ж*па😢, но это не хватает опыта и программного мышления. Спасибо тебе.
@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); как то так)) но воплотить чтоб работало, нема опыта.
Привет. Вот что получилось 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 Жыл бұрын
ув.Хачатур Привет кажется я добился первого правильного решения блока твоего вопроса)) вот мой код получился: 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 Жыл бұрын
Вот это 👏👏👏
@user-wu-tang Жыл бұрын
@@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 Жыл бұрын
@@user-wu-tang определённо можно двигаться дальше 👍
@user-wu-tang Жыл бұрын
@@XpucT честно сказать, голова болела, пока эту последовательность уловишь, но не хотел двигаться дальше, чтоб не забивать голову. Спасибо, иду дальше.
Ассалому алайкум Хачатурака! За класные уроки огромный Рахмат!!! В качестве домашная задания написал программу каторий переводит Кирилский буквы на Латинский и обратно. Возник проблема с буквы "е"(кирилский) это букву надо читат как "э", местами "йе" для этого я написал это: ... 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" пожалуйста, помогите как исправит. Знаю где ошибся но как решит незнаю.