Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 4

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

18.06.2013, 11:01. Показов 1411. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru