| Нидерланды |
Проверка вводимых данных
Разработка: Приложение "Валидатор" для контроля вводимых в текстовое поле сиволов – цифра или буква.
Состав выполняемых функций:
- Файловые операции: нет
- Алгоритмы: проверка вводимых символов с помощью функции, класса и библиотеки
- Информационно-справочные: нет
Наращивание функциональности не предусматривается.
Защита данных – от неквалифицированных действий пользователя.
В качестве входных данных используются символы, вводимые в контрольное текстовое поле с клавиатуры. Выходные данные программы – графическое отображение результатов в виде текстовых сообщений для SmartDevice
Шаг 1. Создание библиотеки контроля вводимых символов
Для создания библиотек используется специальная функциональность Visual Studio – создаем проект ClassLibrary. В нашем примере создается проект библиотеки с именем DigitValidateDLL. В проекте создается всего один класс public class Class1: System.ComponentModel.Component, в который записываем:
{// переменная (string DigitValidate) возвращаемого значения
public string ReturnString(string DigitValidate) {
// вычисляем длину строки
int L_str=DigitValidate.Length;
// цикл считывания символов из строки
int i;
string V_str="";
string T_str="";
for(i=0;i<L_str;i++) {
V_str=V_str+i.ToString();
T_str=DigitValidate.Substring(0,i+1);
// проверяем каждый символ на цифру
if (!char.IsDigit(DigitValidate[i])) {
return("Ошибка");}
}
return ("Правильно"); // возвращаем значение в вызывающую программу
}
}Компилируем библиотеку. Полученный файл DigitValidateDLL.dll, следует разместить в каталоге bin\Debug нашего приложения "Валидатор" - рис.11.1
Шаг 2. Создаем графический интерфейс приложения "Валидатор"
Приложение включает одну форму с двумя надписями "Введите что- нибудь" и "Проверьте наличие цифр в строке"; тектовое поле ввода и три кнопки "Функция", "Класс", "Библиотека". Примерный дизай приведен на рис. 11.2
Шаг 3. Добавляем собственную библиотеку в проект
using System; using System.Drawing; using System.Collections; using System.Windows.Forms; using System.Data; // добавляем собственную библиотеку (Add Reference -> Project) using DigitValidateDLL;
Шаг 4. Создаем процедуру вызова библиотеки
Для кнопки "Библиотека" пишем:
private void button3_Click(object sender, System.EventArgs e) {
// переменная DigitValidate уже определена в подключенной библиотеке
DigitValidate =this.textBox1.Text;
// создаем ссылочную переменную DVL для точки входа Class1
DigitValidateDLL.Class1 DVL=new DigitValidateDLL.Class1();
// задаем исходное значение для одноименной переменной библиотеки
if (DVL.ReturnString(DigitValidate) = = "Ошибка") {
MessageBox.Show("Введите цифру","Библиотека проверки цифр в строке");
}
else {
MessageBox.Show("Все символы в строке - цифры!",
"Библиотека проверки цифр в строке");}
}Шаг 5. Создаем процедуру проверки символов
private void button1_Click(object sender, System.EventArgs e) {
DigitValidate =this.textBox1.Text;
// вычисляем длину строки
int L_str=DigitValidate.Length;
// цикл считывания символов из строки
int i;
string V_str="";
string T_str="";
for(i=0;i<L_str;i++) {
V_str=V_str+i.ToString();
T_str=DigitValidate.Substring(0,i+1);
// проверяем каждый символ на цифру
if (!char.IsDigit(DigitValidate[i])) {
MessageBox.Show(T_str+"\n"+
i.ToString()+"-й символ не цифра!","Ошибка");
return;}
}
MessageBox.Show("Длина строки -"+L_str.ToString()+" знаков,\n"+
"Номера символов в строке "+V_str+"\n"+
T_str+"\n"+
"Все символы в строке - цифры!","Функция проверки цифр в строке");
}Шаг 6. Создаем класс ClassDigitValidate.cs проверки символов в строке
Хотя код в значительной степени совпадает с кодом процедуры кнопки и библиотеки, код приводим полностью:
using System;
// добавляем для вывода MessageBox
using System.Windows.Forms;
namespace SmartCS_22 // пространство имен
{
public class ClassDigitValidate
{ // меняем public ClassDigitValidate() на
public static void ClassDigit()
{//Передаем значение из класса Form1 в переменную
string DigitValidate=Form1.DigitValidate;
// теперь копируем функцию из класса Form1
// вычисляем длину строки
int L_str=DigitValidate.Length;
// цикл считывания символов из строки
int i;
string V_str="";
string T_str="";
for(i=0;i<L_str;i++) {
V_str=V_str+i.ToString();
T_str=DigitValidate.Substring(0,i+1);
// проверяем каждый символ на цифру
if (!char.IsDigit(DigitValidate[i])) {
MessageBox.Show(T_str+"\n"+
i.ToString()+"-й символ не цифра!","Ошибка");
return;}
}
MessageBox.Show("Длина строки -"+L_str.ToString()+" знаков,\n"+
"Номера символов в строке "+V_str+"\n"+
T_str+"\n"+
"Все символы в строке - цифры!","Класс проверки цифр в строке");
}
}
}Шаг 7. Создаем процедуру вызова класса
private void button2_Click(object sender, System.EventArgs e) {
DigitValidate =this.textBox1.Text;
// при правильном коде класса будет подсказка вызова
ClassDigitValidate.ClassDigit();
}Шаг 8. Выход из программы
private void button4_Click_1(object sender, System.EventArgs e) {
Application.Exit();
}

