Перейти к содержанию

Искусственный Интеллект


Рекомендуемые сообщения

Опубликовано

Ты бы еще как-то обозначил язык, фреймверк, что за текст бокс-то )) Это винформс, впф, мауи, может вообще юнити какое-то?

  • Ответов 578
  • Создана
  • Последний ответ

Топ авторов темы

  • Outlawif

    209

  • OlegRO

    117

  • VUBlack

    41

  • Terror

    36

Топ авторов темы

Опубликовано
Ты бы еще как-то обозначил язык, фреймверк, что за текст бокс-то ))

Обычные тексбоксы в сишарпе.

Опубликовано
в сишарпе
В сишарпе нет текстбоксов )

 

На сишарпе можно создавать десктопные приложения в:

- Windows Forms

- WPF

- UWP

- Maui

 

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

Опубликовано

Всю беседу выкладывать не буду. Сначала попросил его сделать текстбокс в винформс который принимал бы только цифры. Попросил создать минимально рабочее приложение (чтоб скопировать и затестить). Он написал, внизу в пояснениях сам добавил что копипаст работать не будет, надо еще допиливать. Я сказал что так топорно писать нельзя, пусть унаследуется от текстбокса и там всю логику завернет. Он сразу сделал. Третьим пунктом я попросил захэндлить копи-паст, он добавил. В конце вышло вот что:

Показать

using System;

using System.Windows.Forms;

 

public class NumericTextBox : TextBox

{

private string oldText = "";

 

public NumericTextBox()

{

this.KeyPress += NumericTextBox_KeyPress;

this.TextChanged += NumericTextBox_TextChanged;

}

 

private void NumericTextBox_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.'))

{

e.Handled = true;

}

 

// only allow one decimal point

if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1))

{

e.Handled = true;

}

}

 

private void NumericTextBox_TextChanged(object sender, EventArgs e)

{

if (string.IsNullOrEmpty(this.Text))

{

oldText = "";

return;

}

 

float result;

bool isNumeric = float.TryParse(this.Text, out result);

if (!isNumeric)

{

this.Text = oldText;

this.SelectionStart = this.Text.Length;

}

else

{

oldText = this.Text;

}

}

}

 

Я создал проект винформс в студии, переименовал форму, все скопировал с минимальными изменениями (добавил неймспейс) и все запустил. Работает. Копипаст тоже обрабатывается.

 

Потом я задал четвертый вопрос, который на самом деле надо всегда задавать первым :)

 

 

А зачем ты этим занимаешься? На винформах у меня за 21 год был 1 проект и тот какая-то утилита для внутреннего потребления которую я писал сам. И то если бы я ее с нуля писал в жизни б формы не выбрал. А самое главное - вся эта логика вокруг кнопочек, чекбоксов и тд - это бесполезная трата времени. Это интерфейс, по интерфейсу всегда есть куча готовых решений, а если нужно сверх-навороченное решение, то для этого нужны специально заточенные фронт-энд чуваки и это точно будет не винформс )

Опубликовано
А зачем ты этим занимаешься? На винформах у меня за 21 год был 1 проект и тот какая-то утилита для внутреннего потребления которую я писал сам. И то если бы я ее с нуля писал в жизни б формы не выбрал. А самое главное - вся эта логика вокруг кнопочек, чекбоксов и тд - это бесполезная трата времени. Это интерфейс, по интерфейсу всегда есть куча готовых решений, а если нужно сверх-навороченное решение, то для этого нужны специально заточенные фронт-энд чуваки и это точно будет не винформс )

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

 

Насчет чата, то или ты запросы лучше подавал, или четвертый чат лучше работает, но результат выдал получше, чем у меня. Я от текстбокса не наследовался и сделал все без переменной oldText. Если обрабатывать в KeyDown то там есть весь необходимый функционал.

 

Опубликовано
Я от текстбокса не наследовался
Эта логика обязана быть внутри контрола, я бы никогда в жизни не пропустил на код ревью логику текстбокса которая находится вне текстбокса.
что бы все работало
Если проект хоть и пет, но ты хочешь его сделать приближенным к реальности - последний вопрос который я запостил картинкой у тебя всегда должен быть первым )
или ты запросы лучше подавал, или четвертый чат лучше работает
Где-то видел оценку, что четверка в 5 раз "умнее" чем 3.5. Не знаю как считали ) Наверняка эта оценка зависит от того, на чем сравнивать. Вопросы могу показать:

 

Показать
In windows forms I want a textbox accepting numbers only. What is the simplest way to achieve this? Provide a simple minimum working app please.

 

Is it possible to inherit TextBox and incorporate the logic in the inherited class?

 

Could you also add copy-paste handling to the implementation?

 

Да, я всегда на английском спрашиваю, потому что по-английски модель думает лучше. Об этом тоже писали. У него нет "родного" языка, у него все языки родные, поэтому ответы на разных языках могут сильно отличаться. Обучающий набор данных сильно разный. На английском явно лучший, потому что 80% интернета на английском.

 

Опубликовано
Эта логика обязана быть внутри контрола, я бы никогда в жизни не пропустил на код ревью логику текстбокса которая находится вне текстбокса.

Так она и есть внутри контрола. Только в TextBox.KeyDown. И там можно обойтись без дополнитльной переменной.

Опубликовано
Если проект хоть и пет, но ты хочешь его сделать приближенным к реальности - последний вопрос который я запостил картинкой у тебя всегда должен быть первым )

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

 

а, я всегда на английском спрашиваю, потому что по-английски модель думает лучше. Об этом тоже писали. У него нет "родного" языка, у него все языки родные, поэтому ответы на разных языках могут сильно отличаться. Обучающий набор данных сильно разный. На английском явно лучший, потому что 80% интернета на английском.

Дык я тоже. Я вообще для программирования не использую никаких других языков, кроме английского. И никогда не гуглю вопросы по программированию на украинском или русском. Но у меня в аглийском грамматика хромает, могу писать запросы с ошибками.

Опубликовано
я тоже
Я просто на всякий пожарный упомянул.

 

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

Создайте учетную запись или войдите, чтобы комментировать

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти
×
×
  • Создать...