![]() |
#2
cssnet6 天前 15:38
|
a=CTOD("2025/7/25")
b= CDOW(a)
在交互方式下运行,b的值是"Friday"。连编成可执行程序后运行,b的值却是"星期五",为何?
另外,Isalpha("Friday")和Isalpha("星期五")均返回.T.,"星期五"也被当作字母处理了?
询问百度ai,回答:
在Visual FoxPro 9.0中,CDOW()函数返回星期名称的差异是由于交互环境和编译环境的区域设置不同导致的1。交互模式下默认使用英文输出,而编译后的程序会遵循系统区域设置返回本地化语言(如中文)。可以通过SET LANGUAGE TO命令强制指定语言环境来统一输出格式。
关于Isalpha()函数的处理逻辑:该函数会检测字符串是否仅包含字母字符,而中文字符在VFP中被归类为"广义字母"范畴,因此"星期五"也会返回.T.。这是VFP对多语言字符集的特殊处理方式
再问:
确定vfp有SET LANGUAGE TO语句?
回答:
Visual FoxPro确实支持SET LANGUAGE TO语句,该命令用于设置应用程序的语言环境,会影响日期格式、星期名称等本地化输出。例如执行SET LANGUAGE TO ENGLISH后,CDOW()函数将返回英文星期名称(如"Friday"),而SET LANGUAGE TO CHINESE则返回中文(如"星期五")。
该命令的语法为:SET LANGUAGE TO [cLanguageName],其中cLanguageName参数支持的语言选项取决于系统安装的语言资源文件1。典型参数包括"ENGLISH"、"CHINESE"、"GERMAN"等。
翻遍了帮助文档也没有SET LANGUAGE TO啊!哎.........