2011-06-09 82 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