Базы данных для карманного персонального компьютера

Проверка вводимых данных

Показывать лекцию целиком

Разработка: Приложение "Валидатор" для контроля вводимых в текстовое поле сиволов – цифра или буква.

Состав выполняемых функций:

  • Файловые операции: нет
  • Алгоритмы: проверка вводимых символов с помощью функции, класса и библиотеки
  • Информационно-справочные: нет
  • Наращивание функциональности не предусматривается.

    Защита данных – от неквалифицированных действий пользователя.

    В качестве входных данных используются символы, вводимые в контрольное текстовое поле с клавиатуры. Выходные данные программы – графическое отображение результатов в виде текстовых сообщений для 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

    (рис 11.1) Размещение библиотеки (компонента) в каталоге запуска приложения

    Шаг 2. Создаем графический интерфейс приложения "Валидатор"

    Приложение включает одну форму с двумя надписями "Введите что- нибудь" и "Проверьте наличие цифр в строке"; тектовое поле ввода и три кнопки "Функция", "Класс", "Библиотека". Примерный дизай приведен на рис. 11.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();
    }
    Вернуться к учебному плану