Добрый день, Есть одна загвоздка при вводе числа в tbox с запятой выдает ошибку,помогите понять и исправить
Есть еще один вопрос: Вся эта программа (выложенная как пример) стоит в более массивном коде и там уже при вводе Tbox воспринимаются только числа однозначные числа Т.е. если я ввожу 5, Tbox выдает 15, но если ввести 55, он все равно выдает 15, а должен 65
Добрый день, Есть одна загвоздка при вводе числа в tbox с запятой выдает ошибку,помогите понять и исправить
Есть еще один вопрос: Вся эта программа (выложенная как пример) стоит в более массивном коде и там уже при вводе Tbox воспринимаются только числа однозначные числа Т.е. если я ввожу 5, Tbox выдает 15, но если ввести 55, он все равно выдает 15, а должен 65Serg73
[/vba] Переменной Х - которая, судя по Dim x#, имеет тип данных Double, присвоить значение "значение X + .", которое является уже строкой.... тут требуется явное преобразование типов. При этом, нужно исключить сложные ситуации, вызывающие ошибки при явном преобразовании (строки, аля "0.", "5." и тд.)
Serg73, Вы пытаетесь в строке [vba]
Код
x = x & Chr(KeyAscii)
[/vba] Переменной Х - которая, судя по Dim x#, имеет тип данных Double, присвоить значение "значение X + .", которое является уже строкой.... тут требуется явное преобразование типов. При этом, нужно исключить сложные ситуации, вызывающие ошибки при явном преобразовании (строки, аля "0.", "5." и тд.)Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Вторник, 24.04.2018, 11:41
У Вас после каждого нажатия клавиши происходит прибавление десятки. После КАЖДОГО! 55 - это ДВА нажатия 2,3 - это ТРИ нажатия (во втором нажатии Вы пытаетесь прибавить 10 к запятой) Именно поэтому оба косяка и вылезают
У Вас после каждого нажатия клавиши происходит прибавление десятки. После КАЖДОГО! 55 - это ДВА нажатия 2,3 - это ТРИ нажатия (во втором нажатии Вы пытаетесь прибавить 10 к запятой) Именно поэтому оба косяка и вылезают_Boroda_
при в вводе любого числа (целого или числа с запятой, с десятыми или сотыми) в tbox , прибавлять к нему десять и отображать в этом же tbox-е а далее уже по условию, если вне диапазона, то tbox красный, если нет то зеленый
при в вводе любого числа (целого или числа с запятой, с десятыми или сотыми) в tbox , прибавлять к нему десять и отображать в этом же tbox-е а далее уже по условию, если вне диапазона, то tbox красный, если нет то зеленыйSerg73
Есть один нюанс, при вводе не целого значения он его показывает, но после нажатия на OК прибавляет десять и округляет до целого числа И можно ли подобный цикл прописать в TextBox1_Change?
Есть один нюанс, при вводе не целого значения он его показывает, но после нажатия на OК прибавляет десять и округляет до целого числа И можно ли подобный цикл прописать в TextBox1_Change?Serg73
Для визуализации, и точного понимания необходимо что бы итоговое число было видно сразу И далее по алгоритму у меня по кнопке ОК идет занесение чисел в определенные ячейки и обнуление Tboxs
Заранее спасибо
Для визуализации, и точного понимания необходимо что бы итоговое число было видно сразу И далее по алгоритму у меня по кнопке ОК идет занесение чисел в определенные ячейки и обнуление Tboxs
Хотя я бы в таком случае завершение ввода повесил бы например, на кнопку Enter. Иначе если юзверь ошибся в первой цифре, ему придётся очищать всё.
Хотя я бы в таком случае завершение ввода повесил бы например, на кнопку Enter. Иначе если юзверь ошибся в первой цифре, ему придётся очищать всё.StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
А вообще у меня такое ощущение, что вы таким способом пытаетесь заставить юзверя ввести число от 100 до 199. Я прав? так для этого попроще способы есть.
А вообще у меня такое ощущение, что вы таким способом пытаетесь заставить юзверя ввести число от 100 до 199. Я прав? так для этого попроще способы есть.StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Нет. Суть в том что есть user forma, на которой много tboxs и оператор вводит туда данные с различных измерительных систем. А этот tbox служит для измерения внут. диаметра и надо учесть что число со штангеля передается без учета измерительных губ, которые составляют 10 мм. далее все значения переносятся в соответствующие ячейки и tboxs обнуляются и проводится второй ряд измерений.
И что то я начудил, когда я Ваш код прописал в своем цикле, tbox начал выдавать непонятные числа....
Нет. Суть в том что есть user forma, на которой много tboxs и оператор вводит туда данные с различных измерительных систем. А этот tbox служит для измерения внут. диаметра и надо учесть что число со штангеля передается без учета измерительных губ, которые составляют 10 мм. далее все значения переносятся в соответствующие ячейки и tboxs обнуляются и проводится второй ряд измерений.
И что то я начудил, когда я Ваш код прописал в своем цикле, tbox начал выдавать непонятные числа....Serg73
В таком случае нужно каким-то образом либо передавать в форму, что ввод числа завершён (например, нажатием Enter'а), либо городить анализ длины целой части введённого числа. По мне так первое проще — заодно можно передавать фокус следующему текстбоксу.
В таком случае нужно каким-то образом либо передавать в форму, что ввод числа завершён (например, нажатием Enter'а), либо городить анализ длины целой части введённого числа. По мне так первое проще — заодно можно передавать фокус следующему текстбоксу.StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.