FreeBasic Input 关键字
最后修改日期:2025 年 6 月 16 日
FreeBasic 的 Input
关键字用于从控制台读取用户输入。它会暂停程序执行,等待用户输入数据,然后按 Enter 键。
基本定义
在 FreeBasic 中,Input
是一个从标准输入(键盘)读取数据的语句。它可以一次读取数值、字符串或多个值。
Input
语句对于交互式控制台应用程序至关重要。它允许程序在运行时接收用户的动态输入。
基本字符串输入
本示例演示了如何从用户那里读取一个简单的字符串输入。
Dim fname As String Print "Enter your name: "; Input fname Print "Hello, "; fname; "!"
在这里,我们声明一个字符串变量,并使用 Input
读取用户输入。提示符后的分号会将光标保留在同一行。输入的文本存储在 fname
变量中。
数值输入
Input
语句还可以直接读取数值。
Dim age As Integer Print "Enter your age: "; Input age Print "In 10 years you will be "; age + 10
本示例从用户那里读取一个整数值。FreeBasic 会自动将输入的字符串转换为数值类型。如果输入非数字字符,将发生运行时错误。
多个输入值
Input
可以在一个语句中读取由逗号分隔的多个值。
Dim x As Integer, y As Integer Print "Enter two numbers separated by comma: "; Input x, y Print "Sum: "; x + y Print "Product: "; x * y
此代码一次读取两个整数。用户必须用逗号分隔这些值。输入会自动拆分并按顺序分配给变量。多余的值将被忽略。
带提示消息的输入
Input
语句可以包含一个可选的提示消息。
Dim color As String Input "What is your favorite color? ", color Print "Nice choice! "; color; " is a beautiful color."
在这里,提示消息是 Input
语句的一部分。这比单独使用 Print
和 Input
语句更简洁。提示符后的逗号会添加一个问号和一个空格。
带行输入的输入
要读取包含逗号的整行,请使用 Line Input
。
Dim address As String Print "Enter your full address: "; Line Input address Print "Your address is: "; address
Line Input
会读取直到按下 Enter 键的整行内容,包括逗号。当需要读取可能包含分隔符的文本时,这非常有用。
带验证的输入
本示例展示了如何使用循环验证数值输入。
Dim number As Integer Dim valid As Boolean = False While Not valid Print "Enter a number between 1 and 100: "; Input number If number >= 1 And number <= 100 Then valid = True Else Print "Invalid input. Try again." End If Wend Print "You entered: "; number
此代码会反复要求输入,直到输入一个有效的数字。While
循环将一直持续,直到 valid
标志设置为 true。这种模式对于健壮的输入处理很常见。
带默认值的输入
下面是如何实现带有可覆盖的默认值的输入。
Dim filename As String = "default.txt" Dim temp As String Print "Enter filename (default: "; filename; "): "; Line Input temp If Len(temp) > 0 Then filename = temp End If Print "Using file: "; filename
本示例展示了一个带默认值的文件名输入。如果用户只按 Enter,则使用默认值。否则,将存储输入的值。Len
函数用于检查输入是否为空。
最佳实践
- 验证:始终验证用户输入以防止错误。
- 提示:使输入提示清晰且具有描述性。
- 默认值:在适当的时候提供默认值。
- 类型:为预期的输入使用正确的变量类型。
- 错误处理:考虑对数值输入使用错误处理。
本教程通过实际示例介绍了 FreeBasic 的 Input
关键字,展示了它在不同场景下的用法。