Невозможно неявно преобразовать строковый тип в метку системных форм Windows

Обновлено: 21.11.2024

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

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

не могу преобразовать строку в целое число для отображения в моем ярлыке, вызывающем «displaytotal», я пробовал много разных способов исправить это, читая форум, но я просто не могу помочь, пожалуйста

Принятый ответ

В следующем:

Шоколад 6$ (степпер) 0. // продукты определены и сохранены

Коко 6$ (степпер) 0

Какауат 6$ (степпер) 0

Fresa 6$ (степпер) 0

Наранджа 6$ (степпер) 0

Манго 6$ (степпер) 0

Примечание: это funcchocolatecounter, а не funcchocolatecounter

sender.value имеет значение Double, поэтому вы получаете 0

Поэтому вы должны сначала преобразовать текст в Double, а затем в Int

Вы должны написать:

или измените функцию шоколадного счетчика следующим образом

Примечание: вы показываете Шоколад 6$

6$ - это то, что находится внутри шоколада.текст. Не должно, иначе нужно изменить преобразование text -> Int.

Ответы

var cuentaDeCubitos = строка

неверно; должно быть:

Вы не должны объявлять неявно развернутыми все строки, как

var cubitoCHocolate: Строка!

Я не вижу, где инициализируются строки.

Int(cuentaDeCubitos) возвращает необязательное значение, поэтому вы не можете сравнивать его с 1

Вы должны написать вместо этого

Если это недопустимая числовая строка, то cuenta будет равна 0

cuentaDeCubitos = cubitoCHocolate + cubitoCoco + cubitoCacahuate + cubitoFresa + cubitoNaranja + cubitoMango

приведет к неправильному вычислению

Например, если числа равны "3", "2", "4", "1", "5", "6"

cuentaDeCubitos = "324156", что вам не нужно

почему вы умножаете на 6 в конце? Кроме того, text не может быть Int, отсюда и ошибка

displaytotal.text = Int(cuentaDeCubitos) * 6

displaytotal.text =String(Int(cuentaDeCubitos) * 6)

Итак, я бы изменил все так:

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

Вы должны изменить это, потому что типы неправильные.

chocolate.text — необязательная строка (String?), а cuentita.cubitoCHocolate — тип Int. Поэтому вам нужно получить Int из строки, сначала развернув текст.

Я предполагаю, что текст не может быть равен нулю

На всякий случай можно даже написать:

Итак, в целом будет:

Для ясности вместо написания

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

ошибок не обнаружено, но

функция перехода не работает, вот как это выглядит сейчас

Я не понимаю, почему вы определяете unwindToVC3 в обоих классах.

Его следует определять только в классе элементов, а не в cuenta.

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

Можете ли вы точно описать, что не работает, и если вы получаете сообщение об ошибке.

Примечание: имена классов должны начинаться с прописных букв:

у меня было 4 контроллера представления, связанных с unwindToVC, поэтому unwindToVC3 есть в обоих классах

Господин Клод, большое спасибо за вашу помощь в этом моем приложении

у меня было сообщение на нескольких страницах для ответов, и никто не помог мне, как вы, в переполнении стека, я даже получил 10 дизлайков за то, что не заполнил «дополнительной информацией»

Я хотел бы сделать еще одну вещь для себя, не могли бы вы привести пример передачи данных между контроллерами представления с данными INT?

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

я использую степпер, чтобы получить значение от пользователя и присвоить значение 'шоколаду'

а затем отправить эти данные в cuentaViewcontroller

а затем отобразить его на метке в cuentaViewcontroller

Если вы используете степпер, как я, пример будет идеальным, ха-ха, спасибо

Если я правильно понимаю, вы хотите передать значение, а не только текст? Верно?

Какие именно ошибки вы получаете?

Передача данных через segue на самом деле очень проста.

Вы объявляете свойство (var) в целевом контроллере; конечно, это свойство не должно быть частным.

Затем при подготовке к переходу в исходном контроллере вы устанавливаете переменную в нужное вам значение.

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

В классе Items вы должны иметь:

Не нужно объявлять здесь

И изменения в подготовке:

Вопрос: как называется класс? cuenta или Cuenta (что лучше)

В классе Cuenta:

cubitoCHocolate следует объявлять не как необязательный (развернутый), а просто как Int

cuenta — это имя класса (исходный контроллер представления)

и теперь я получаю эту ошибку в классе предметов

элементы классифицируют весь код

весь код класса cuenta

я пытаюсь развернуть

и эта ошибка появляется в консоли

*** Стек вызовов первого броска:

<Р> (0x184296d8c 0x1834505ec 0x1842a4098 0x18e34ade4 0x18429c5c8 0x18418241c 0x18dfc66c8 0x18e0e78a4 0x18dfcc77c 0x18e1021dc 0x18e5a7dd8 0x18e5a4b50 0x18423e910 0x18423c238 0x18423c884 0x18415cda8 0x18613f020 0x18e13d78c 0x1045fd02c 0x183bedfc0)

libc++abi.dylib: завершение с необработанным исключением типа NSException

(lldb)

Ошибка — это нормально. Моя ошибка

chocolate.text является необязательным, поэтому вам нужно написать

Чтобы перестраховаться, можно было бы даже написать, как я вам говорил в посте от 7 мая:

cuentita.cubitoCHocolate = Int(chocolate.text ?? "0") ?? 0

Так будет целое

*** Стек вызовов первого броска:

<Р> (0x184296d8c 0x1834505ec 0x1842a4098 0x18e34ade4 0x18429c5c8 0x18418241c 0x18dfc66c8 0x18e0e78a4 0x18dfcc77c 0x18e1021dc 0x18e049a48 0x18e03e8f8 0x18e03d238 0x18e81ec0c 0x18e8211b8 0x18e81a258 0x18423f404 0x18423ec2c 0x18423c79c 0x18415cda8 0x18613f020 0x18e13d78c 0x1007d0ee0 0x183bedfc0)

Привет, ребята, у меня возникла проблема ("Невозможно неявно преобразовать тип 'string' в 'Telerik.Web.UI.RadTextBox'"). Я пытаюсь добавить в свою сетку некоторые функции клиентской вставки, редактирования и обновления, когда начинаю ее строить. я получил эту странную ошибку, вот мой код, если кто-то может помочь, что было бы круто !!

вернуть parseInt(radGrid.get_masterTableView().getCellByColumnUniqueName(item, "EmployeeID").innerHTML);

telerik:RadGrid ID = "RadGrid1" DataSourceID = "SqlDataSource1" runat = "server" GridLines = "None" OnDataBound = "RadGrid1_DataBound" OnColumnCreated = "RadGrid1_ColumnCreated" Height = "300px" CellSpacing = "0" >

MasterTableView TableLayout = "Fixed" ClientDataKeyNames = "EmployeeID" AutoGenerateColumns = "False" DataKeyNames = "_EmployeeID" >

RowIndicatorColumn Visible = "True" FilterControlAltText = "Фильтровать столбец RowIndicator" > RowIndicatorColumn >

ExpandCollapseColumn Visible = "True" FilterControlAltText = "Фильтровать столбец ExpandColumn" > ExpandCollapseColumn >

telerik:GridBoundColumn DataField = "_EmployeeID" DataType = "System.Int32" FilterControlAltText = "Фильтровать столбец _EmployeeID" HeaderText = "_EmployeeID" ReadOnly = "True" SortExpression = "_EmployeeID" UniqueName = "_EmployeeID" >

telerik:GridBoundColumn DataField = "_LastName" FilterControlAltText = "Фильтровать столбец _LastName" HeaderText = "_LastName" SortExpression = "_LastName" UniqueName = "_LastName" >

telerik:GridBoundColumn DataField = "_FirstName" FilterControlAltText = "Фильтровать столбец _FirstName" HeaderText = "_FirstName" SortExpression = "_FirstName" UniqueName = "_FirstName" >

telerik:GridBoundColumn DataField = "_Title" FilterControlAltText = "Filter _Title column" HeaderText = "_Title" SortExpression = "_Title" UniqueName = "_Title" >

telerik:GridBoundColumn DataField = "_TitleOfCourtesy" FilterControlAltText = "Filter _TitleOfCourtesy column" HeaderText = "_TitleOfCourtesy" SortExpression = "_TitleOfCourtesy" UniqueName = "_TitleOfCourtesy" >

telerik:GridBoundColumn DataField = "_BirthDate" DataType = "System.DateTime" FilterControlAltText = "Filter _BirthDate column" HeaderText = "_BirthDate" SortExpression = "_BirthDate" UniqueName = "_BirthDate" >

telerik:GridBoundColumn DataField = "_Notes" FilterControlAltText = "Фильтровать столбец _Notes" HeaderText = "_Notes" SortExpression = "_Notes" UniqueName = "_Notes" >

Спасибо. Мы получили ваш запрос и незамедлительно ответим.

Присоединяйтесь к нам!

  • Общаться с другими участниками
  • Уведомления об ответах
    на ваши сообщения
  • Поиск по ключевым словам
  • Доступ в один клик к вашим
    любимым форумам
  • Автоматические подписи
    на ваших сообщениях
  • Лучше всего то, что это бесплатно!

*Функции Tek-Tips зависят от того, получают ли участники электронную почту. Присоединяясь, вы соглашаетесь на получение электронной почты.

Правила публикации

Реклама, продажа, рекрутинг, размещение курсовых и дипломных работ запрещено.

Преобразование поставщика ошибок в элемент управления

Преобразование поставщика ошибок в элемент управления

Я пытаюсь создать функцию, которая устанавливает поставщика ошибок в моих формах из одного класса, таким образом, если что-то изменится с ним, я могу изменить его в одном месте, а не в 20.

Вот моя функция:

public void SetError(DevExpress.XtraEditors.XtraForm frm, System.Windows.Forms.Control ctrl, string sErrorMessage, bool IsGroupControlVisible)
DevExpress.XtraEditors.GroupControl gc = (DevExpress.XtraEditors.GroupControl)frm.Controls.Find("gcError", true)[0];
System.Windows.Forms.Label lbl = (System.Windows.Forms.Label)frm.Controls.Find("lblError", true)[0];
System.Windows.Forms.ErrorProvider ep = (System.Windows.Forms.ErrorProvider)frm.Controls.Find("epError", true)[0];

if (lbl.Text.Length > 0)
lbl.Text += "\n" + sErrorMessage;
else
lbl.Text = sErrorMessage;

System.Windows.Forms.ErrorProvider ep = (System.Windows.Forms.ErrorProvider)frm.Controls.Find("epError", true)[0];


Cannot implicitly convert type System.Windows.Forms.Control to System.Windows.Forms.ErrorProvider

You're trying to pass into System.Windows.Forms.ErrorProvider a type of System.Windows.Forms.Control

Ok, understandably so. how can I fix it? The frm.controls.find returns a type of control, do I need to cast that to a type control first, then cast that to a type error provider?

ErrorProvider doesn't follow the same inheritance tree as Control. You're not going to get it this way.

What are you trying to achieve? Using the same error provider on lots of forms? If so, pass it in via the constructor.

well I have a lot of forms with the same error provider on them. epError. and within each form, I have the above code that sets the error based on the parameters passed in. that works fine, but I'm finding as I get more into this project, the more forms I have that do the same thing (set an error provider). So, instead of having the above code on say 20+ forms and if I wanted to change the something about the error provider (let's say add another line return to make the error message look cleaner), I would have to change that code in all 20+ forms. instead, I wanted to create a class that you could pass in the unknowns (i.e. control to set the error for, error message, etc.) and just have all the forms call this one method. I can pass in the error provider, but it didn't make sense seeing as how every error provider on each form was named the same.

So you're not looking to have the same error provider itself but want to be able to set properties.

My soln: Create your own error provider, inheriting from base.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

我使用以下代码csv导入我的sql server表SqlCommand nonqueryCommand = myConnection.CreateCommand();nonqueryCommand.CommandText ="INSERT INTO MYTABLE VALUES(@num1, @num2,@num3,@num4)";nonqueryCommand.

如:接口中mitemList提示无法将string 转换为string[]类型 PX_DataCenter.Data_Figure_RT_GetByMItemIDList(DataToken, mitemList).ToList(); 解决方法如下 mitemId = "MI207"; var mitemList =new List<.

winform

无法将类型int隐式转换为string

无法将类型隐式转换为string

错误:无法将类型string隐式转换为“System.Windows.Forms.DataGridViewTextBoxColumn”

BUG:输入字符串的格式不正确之“无法将类型int隐式转换为string

输入字符串的格式不正确原始代码程序运行报错位置原因是:无法将类型int隐式转换为string修改代码 原始代码 程序运行报错位置 原因是:无法将类型int隐式转换为string 修改代码 解释: 1.因为开始(string value.

如何解决:出现无法将类型“xx”隐式转换为"xx"的错误

无法将类型“int”隐式转换为string

unity脚本提示 无法将类型string隐式转换为“UnityEngine.UI.Text”解决方法

使用winform时,出现无法将类型string隐式转换为"System.Windows.Forms.TextBox"的错误。

已经犯了两次这个错误,我必须拿小本本把他记下来,不然对不起我自己。. 如果出现这个问题,是因为在winform中,某个控件的名称写成了Name 。 哎,说多了就是泪,拿小本本记下来,以后就不会犯错了。.

无法将类型string隐式转换为“int”的处理办法

for (int i=0;dr.Read();i++) < list objItem = new list();. //无法将类型string隐式转换为“int” objItem.title = dr["title"].ToString() ; objItem.name = dr["name"].ToString() ; objI

string list email

string str = "123456.789" //方法一 float fi = Convert.ToSingle(s); //方法二 float f; if(!float.TryParse(s,out f))< Console.WriteLine("转换失败!!!"); >

使用winform时,出现无法将类型string隐式转换为"SSystem.Windows.Forms.DataGridViewTextBoxColumn”.

无法将类型“byte”隐式转换为“byte[]”

Читайте также: