问大家几个关于PASCAL的问题,大神们帮个忙啊!谢谢。

1:怎么搞才能输入汉字不会被判断为非法符号,我用if语句已经蒙了,感觉不行。
2:怎么上来就用assign和reset和rewrite这些语句使in文件里面有一些文字啊?
3:怎么搞才可以使程序运行时输入一个汉字或数字(最好是汉字吗,和第一个有一点点像)或者什么都不输入直接运行一个文件啊?比如我输入一个5,出来一个5.txt(打个比方啊,这个是最重要的)。
第二个问题我没有这么像用,但是第一个和第三个是我现在不会的两个难题,大神们帮帮忙吧!会一个问题也行,也可以直接回答,只要可以用,我也会给你财富值的,到时候在发起一个问题给你。感觉太麻烦可以直接加我QQ,到时候私聊,现在不敢放太多财富值,怕此问题沉下去,到时候我会多给的。
大家看看这些问题吧!谢谢!

1:如果要在pascal中打中文,只能在字符串里边打,其余不行。要想打中文,两种方法:1、在属性内调成简体中文,进入程序后发现一堆看起来好像乱码的东西,别理它,如果真的妨碍到你编程序,你只需按着左键划几下就好了。2、在起始位置的目录下找到你的.pas文件,以记事本(你也可以用word文档,或者你有其它IDE,如notepad++之类的)打开。写完之后再打开,编译运行(调好中文)。
如果你的意思是在运行时输入,那么一定用string类型。记住不要用char读入汉字!汉字是全角的,有两个char组成!
第2、3个问题麻烦您解释清楚一些。追问

第三个问题就是:
可以这么说吧,在程序里面设置一下,然后在运行程序时,输入一个数字或汉字,就可以直接打开一个文本文档或文件夹,关键是怎么设置啊!
第一个问题我的意思是在运行中输入,我试过,用string倒是可以,就一旦输入指定汉字就会exe文件闪退,而在pascal里面调试不能输入汉字(我的意思是不调成中文),而且我现在只能在exe文件里面运行,唉······帮帮忙吧大神。

追答

3:其实很简单了,知道assign的用法么?assign(文件类型的变量,文件路径);用于将这变量与此文件关联。文件路径是字符串的形式,所以可以直接放一个字符串类型的变量。如果输入的字符串是s,然后你的文件变量是f,那么可以直接调用assign(f,s);这样,如果你输入5.txt,那么它直接跟5.txt关联。如果你懒得输入扩展名,比如输入5,然后与5.txt关联。这样直接加工一下这个字符串,改为assign(f,s+'.txt');
你说的闪退,是在输入按下回车之后吗?这是因为它已经做完了它所有的事情,直接关了。因为它运行得快,所以你只是看到它闪了一下,才会认为它是闪退的。你可以在程序开头(program下面一行,或是整个代码的第一行)加上uses crt;在程序末尾(end之前)加上readkey;你要按一下才会退出程序。或者你干脆在程序末尾加个for i:=-maxlongint-1 to maxlongint;让程序等很久再关,你想关的话直接Ctrl+c,退出即可。

追问

第一个问题如果按你那样说不行,运行时输入的汉字不显示,输出的汉字也不显示,我把运行过程和源程序截图发给你。

这是程序:

这是程序输入呵呵时的界面:

这是程序运行后的界面(换行了):

这也是程序:说实话,我这样搞倒是可以让程序一直运行了,但是这样输入和输出都看不到了,怎么办啊!

第三个问题我是想在程序运行时输入一个指定的值,这样就可以运行一个指定的文件,不用assign也行。

追答

你用的是什么版本?太高的版本用crt库会导致输出不了中文。你下载一下Free Pascal2.0.4版本吧,上百度搜一下再下载。我试过2.4.0,2.6.4都会出这种bug。
如果还不行,且运行时汉字都变成问号或其它的东西,那么此界面不支持中文,你只需对这个.exe文件按一下右键,选择创建快捷方式,再对快捷方式右键,选择属性,找到选项,将美国改为中文简体,再确定退出。
3:我明白你的意思了,是打开吗?我直接放代码
uses dos;
var
filename:string;

begin
readln(filename);

exec('notepad',filename);

end.

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答