2011-06-09 81 views
1

我是Turbo C的新手......只想问一下我应该做什么来启用游标。我想控制光标并重新定义键盘上的按键。请给我步骤,提前致谢!C光标问题

+0

我只是困惑...什么是ANSI.SYS和CONFIG .SYS? – aer 2011-06-09 07:59:39

+1

这些是你不应该知道或关心的DOS时代遗迹。 (很像Turbo C.)http://en.wikipedia.org/wiki/ANSI.SYS – HostileFork 2011-06-09 08:08:28

+0

@Hostile Fork:我可以找到CONFIG.SYS或CONFIG.NT文件吗? – aer 2011-06-09 08:14:48

回答

0

您可能会看看不是ANSI C的gotoxy(int x,int y)函数,而是Turbo C中的Borland扩展。它将光标置于文本中的坐标(x,y)处模式显示。

至于重新定义击键,你是在看你在你的程序或IDE内做到这一点?如果在你的程序中,你可以使用getchar()返回的扫描码并在用putchar(char c)重新输出之前修改它。至于为ide函数定义键绑定,我认为(用了很长时间)用户界面允许在菜单内。

对不起,我没有更多的帮助。

+0

ahmm ...如何安装ANSI.SYS?我该如何找到它? – aer 2011-06-09 07:56:38

4

当恐龙统治地球,一些专业程序员实际上使用Turbo C时,光标支持通过名为conio.h的包含文件中的例程来处理。

http://en.wikipedia.org/wiki/Conio.h

你不会找到很多有关这个互联网时代的著作。但是我设法找到的人使用这an online document参考:

/* Program to display text using special functions*/ 
#include <conio.h> 

main(){ 
    int n,m,; 

    /* clears the screen */ 
    clrscr (); 

    /* sets the text mode to 80 columns color*/ 
    textmode (3); 

    /* SETS THE TEXT COLOR*/ 
    textcolor (4); 

    /* sets the text background color */ 
    textbackground (2); 

    /* Positions to 5th row and 14th column*/ 
    gotoxy (5,15); 
    printf ("Enter two numbers:"); 
    scanf ("%d %d", &n, &m); 
    gotoxy (10,15); 
    printf ("Entered numbers are %d and %d \n\n", n,m); 
} 

如果你的意思是要重新定义目前尚不清楚键,以便当程序运行时,当某个键被用户按下,它会产生不同的字符输出。如果是的话,你可能会想使用类似bioskey() ...因为getch()只读取字符,而不是之类的东西的功能键或改性剂:

http://www.softwareandfinance.com/Turbo_C/bioskey.html

+0

@Hostile Fork:如果我要沿对角线移动光标,该怎么办?我用这段代码不能得到它 - 'printf(“\ x1B [B”);''\ x1B'是一个转义字符数值1B十六进制数(27十进制); '['是总是在特定代码之前的括号;和'B'特定操作:光标向下 – aer 2011-06-09 08:12:19

+0

您在提问关于不建议您使用它们的人的ANSI密码。 Windows已经接受了一个控制台API,并默认终止了终端对ANSI终端的支持,特别是当没有其他人的机器启用它时,启用它是值得怀疑的。你不会找到一个简单的方法从Turbo C这样老的调用console API:http://msdn.microsoft.com/en-us/library/ms682073(v=VS.85).aspx – HostileFork 2011-06-09 08:47:22

+0

@Hostile福克:所以,你的意思是,我无法在turboC中完成它? – aer 2011-06-09 08:56:32