0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 4

При вводе слова в массив не позволить вводить цифры, пробел

18.06.2013, 11:01. Показов 1416. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать приложение для создания массива данных и поиска в ней текстовой информации по начальному символу.

Проблема с первой частью задания.

Нужно, чтобы при вводе отсеивались:
  • целые числа
  • десятичные дробные числа через запятую и точку(2,5 и 2.5)
Кроме того, когда данные не введены или введен "пробел", при нажатии на кнопку так же выдавалось сообщение "введите слово".

При вводе текста типа "кот" у меня выделяет строку If Format(slovo.Text, "0.0") Then
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Command1_Click()
If IsNumeric(slovo.Text) Or slovo.Text = "" Or slovo.Text = " " Then 'Or Format(slovo.Text, "0.0")
MsgBox "Введите слово!", vbExclamation, "Ошибка"
Else
If Format(slovo.Text, "0.0") Then
MsgBox "Введите слово!", vbExclamation, "Ошибка"
Else
spisok.AddItem slovo.Text
kolich = kolich + 1
chisarr(kolich) = slovo.Text
slovo.Text = ""
slovo.SetFocus
End If
End If
End Sub
Помогите исправить,пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2013, 11:01
Ответы с готовыми решениями:

Функция (при вводе любого слова с цифрами программа определила бы цифры)
Всем салам! Помогите написать программу с функцией чтобы при вводе любого слова с цифрами программа определила бы цифры и написала бы на...

Позволить вводить в input только числа?
Добрый вечер. Как сделать, что в input можно было вводить только числа? При этом первая цифра не может быть нулем. Посмотрел инет - там...

Позволить пользователю самому вводить данные в MsFlexGrid
Как использовать MsFlexGrid ??? как позвателю позволить самому вводить данные в таблицу?

4
 Аватар для Апострофф
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
18.06.2013, 11:42
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Этого будет достаточно, мне кажется?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Command1_Click()
If IsNumeric(replace(slovo.Text,".",",")) Or slovo.Text = "" Or slovo.Text = " " Then
  MsgBox "Введите слово!", vbExclamation, "Ошибка"
Else
'  If Format(slovo.Text, "0.0") Then
'    MsgBox "Введите слово!", vbExclamation, "Ошибка"
'  Else
    spisok.AddItem slovo.Text
    kolich = kolich + 1
    chisarr(kolich) = slovo.Text
    slovo.Text = ""
    slovo.SetFocus
'  End If
End If
End Sub
1
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 4
18.06.2013, 11:53  [ТС]
Апострофф, огромное спасибо!
А можно уточнить как работает этот код:

IsNumeric(replace(slovo.Text,".",",")) ?

И еще один небольшой вопрос. Допустим, в массив нужно ввести слово. А человек печатает всего одну букву. Как вызвать окно сообщения об ошибке?
Я думала прописать каждый символ отдельно, но это занимает слишком много места.

If slovo.Text = "а" Or slovo.Text = "б" ... Then

Есть ли способ сократить?
0
 Аватар для Апострофф
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
18.06.2013, 12:00
Visual Basic
1
2
If IsNumeric(replace(slovo.Text,".",",")) Or len(trim$(slovo.Text)) < 2 Then
  MsgBox "Введите слово не менее двух букв!", vbExclamation, "Ошибка"
Visual Basic
1
replace(slovo.Text,".",",") 'заменяем в строке точки на запятые, т.е. 2.5 превращаем в 2,5, которые функцией IsNumeric распознаются как числа.
1
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 4
18.06.2013, 12:12  [ТС]
Апострофф, что бы без Вас делала!
Огромное Вам спасибо! =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2013, 12:12
Помогаю со студенческими работами здесь

Как позволить вводить только определенные символы в textarea
Нужно разрешить только ввод латинских букв, чтобы все остальное игнорировалось(цифры, знаки препинания). Как это можно реализовать?

Почему при вводе 'a' программа не дает вводить больше символы?
#include &lt;fstream&gt; #include &lt;iostream&gt; using namespace std; int main() { char a;

Как при вводе вовремя реагировать на пробел?
При вводе значения в консоль, например: 123 4, значение 123 заносится в 1 переменную, а значение 4 заносится во 2 переменную. Как...

QlineEdit при вводе цифр добавлять пробел
Добрый день. Как можно задать свойство QlineEdit, чтобы при вводе чисел после каждого третьего выставлялся автоматически пробел? То есть,...

Пробел при вводе данных c применением cin
Допустим имеется следующая запись cin&gt;&gt;n1&gt;&gt;n2&gt;&gt;n3; Спрашивается как оператор разграничивает вводимые данные? Согласитесь, ввести 12,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru