[软件测试]三个相同输入框的内容是否为字母,数字



           在软件测试课上,老师布置了判断输入框中内容的作业。我采用Visual Studio 2012的WPF完成了此次作业。最终结果如下:

          

          

          完成本次作业的基本思路是判断输入字符的ASCII码值,因为根据ASCII码值可以判断一个字符是否为字母或者数字。相比之下,我对windows8 应用商店更为熟悉,然而应用商店的应用没有


            byte[] array = System.Text.Encoding.ASCII.GetBytes(data);  //数组array为对应的ASCII数组

          这一方法,因此选择了 Wpf。

          XAML部分的代码较为简单,如下:

<Window x:Class="InputTestNew.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <TextBox x:Name="first" HorizontalAlignment="Left" Height="23" Margin="205,43,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Widt         h="120"/>
        <TextBox x:Name="second" HorizontalAlignment="Left" Height="23" Margin="205,119,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Wi        dth="120"/>
        <TextBox x:Name="third" HorizontalAlignment="Left" Height="23" Margin="205,198,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Wid        th="120"/>
        <Button x:Name="submit" Content="Button" HorizontalAlignment="Left" Margin="224,244,0,0" VerticalAlignment="Top" Width="75" Click="submit1"/>
        <TextBlock x:Name="show" HorizontalAlignment="Left" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
        <TextBlock x:Name="fanil"  HorizontalAlignment="Left" Margin="192,282,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Height="27         " Width="149"/>

    </Grid>
</Window>

         整个程序中最为精彩的是check函数,代码如下所示:

public bool check(string data)
        {
            byte[] array = System.Text.Encoding.ASCII.GetBytes(data);  //数组array为对应的ASCII数组
            string ASCIIstr2 = "";
            int[] ascii = new int[array.Length];
            for (int i = 0; i < array.Length; i++)
            {
                int asciicode = (int)(array[i]);
                ASCIIstr2 += Convert.ToString(asciicode) + "#";//字符串ASCIIstr2 为对应的ASCII字符串
                ascii[i] = asciicode;
            }
                show.Text = ASCIIstr2;
                for (int i = 0; i < array.Length; i++)
                {
                    if (((ascii[i] >= 48 && ascii[i] <= 57)) || ((ascii[i] >= 65 && ascii[i] <= 90)) || ((ascii[i] >= 97 && ascii[i] <= 122)))
                    {
                        continue;
                    }
                    else
                        return false;
                }
                    return true;<pre name="code" class="html">  <span style="font-family: Arial, Helvetica, sans-serif;"> }</span>

 


            这个代码的作用就是判断输入的字符是否为字母或者数字。 

           最后调用这个函数即可


            bool a = check(first.Text);
            bool b = check(second.Text);
            bool c = check(third.Text);
            fanil.Text = a.ToString() + " " + b.ToString() + " " + c.ToString() + " ";
            

            使用check函数可以减少代码重复。因为ic#可以使用XAML与前段分离,方便设计,所以我分别定义了三个输入框,其实这Sanger输入框可以放在同一个数组里,进行三次循环,这样可以减少代码克隆

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值