如何利用字符串实现程序验证通过?

 

项目需求:

在编辑框中输入字符串,把它和一文本文件中的字符串相比较,如不同表示第一次输入,程序验证通过,并把该字符串写入文本文件中;如相同表示字符串已存在于文本文件中,没有验证通过并退出项目。

项目制作:

预备工作:建立一个文本文件“1.txt”,输入几个字符串,每个字符串单独占一行。形如:

ABC

BCD

CDE

DEF

准备一个GIF文件,当字符串验证通过时,令其活动表明通过验证。

需要的构件有:行编辑、列表框、GIF动画、普通按钮、预置循环、文本文件、两个比较判断、变量组等,项目窗口构件摆放如图所示

1

其中列表框用于显示文本文件中的内容;GIF文件用于字符串验证通过时令其活动。这两个构件只是为了使读者看得更清楚,实际意义不大。

当项目窗口创建时,列表框读取1.txt文件,事件设置如图所示

2

焦点置于行编辑框内,输入字符串后,单击“确认”按钮,事件设置如图所示

3

解释:

1、这里的读文本文件要与创建窗口中区分开。

2、变量X作为一个标记。

3、循环结束值用文本文件的总行数减去1,是因为文本内容的第一行的行号是“0”。以1.txt为例,当前一共有4行,要循环四次,循环开始值为“0”,所以循环结束值应为3

 

在循环过程中,事件设置如图所示

4

解释:第一次循环,循环开始值为“0”,把“0”赋给当前行号,取出当前行值,把它与行编辑框中的当前内容相比较。

如果不同,继续执行循环体。第二次循环,循环开始值变为“1”,把“1”赋给当前行号……依此类推。

 

如果相同,事件设置如图所示

5

解释:如果相同,表明字符串已经存在于文本文件中,不要进行判断了,跳出循环体。同时把字符“真”赋给变量X

 

循环体结束循环,事件设置如图所示

6

解释:有两种情况可能导致循环体结束循环。第一种就是比较判断1的相同事件,找到相同字符串跳出循环,也就是循环结束;第二种就是自然结束,直到循环结束也没有找到相同字符串。

同样是循环结束,我们怎么样来区别呢?标记变量X,当X为“真”时,表示有相同的字符;当X为“假”时,表示没有相同字符串。

这样,如果是有相同的字符串,变量X是“真”,与字符“真”相比较。

相同事件设置,如图所示

7

如果有不同的字符串(即循环自然结束),变量X是“假”(参看图3的设置),与字符“真”相比较。

不同事件设置,如图所示

8

解释:把当前行编辑内容追加到文本文件中并执行写文件操作。

 

项目运行时,分别输入字符串“ABC”、“WYZ”以验证项目。

 

重点提示:

第一、预置循环构件的使用,动态赋值给循环结束值。

第二、跳出循环与自然结束循环,都要触发“循环结束”事件。利用标记,来判断不同的循环结束。