⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.cpp

📁 linux下想使用turboc的人有福了
💻 CPP
字号:
/*  TurboC, a library for porting Borland Turbo C to GNU gcc.  Copyright 2002 Ronald S. Burkey   This library is free software; you can redistribute it and/or  modify it under the terms of the GNU Lesser General Public  License as published by the Free Software Foundation; either  version 2.1 of the License, or (at your option) any later version.  This library is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  Lesser General Public License for more details.  You should have received a copy of the GNU Lesser General Public  License along with this library; if not, write to the Free Software  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA    Contact Ron Burkey at info@sandroid.org.  Filename:	Test.cpp  Purpose:	A test program for TurboC.  It's not really a test   		program so much as something where I look at whatever		feature I'm currently adding.  It's not as if you can 		run this program and come back with a warm-fuzzy about		the operation of libTurboC.  Perhaps I'll create something		like that later.  Mod history:	01/31/02 RSB	Created.  		03/16/02 RSB	Added mode for checking special keys.		... ongoing.		05/19/02 RSB	Added some stuff for testing clock/delay.*/#ifdef TEST_TURBOC#include "conio.h"#include "fnkeys.h"#include "dir.h"#include "dos.h"#include "io.h"#ifdef __libTurboC__gint#elsevoid#endifmain (void){  guint milliseconds;  int Handle;  struct ftime ft;  struct ffblk fblk;  uint16_t Buffer[20][40];  int i, j;  gint k;  char s[11], *ss;  short sRed, sGreen, sBlue, sFore, sBack;  for (;;)    {      printf ("-----\nEnter time: ");      scanf ("%u", &milliseconds);      if (milliseconds == 0)        break;      printf ("%u %u\n", clock (), CLK_TCK);      delay (milliseconds);      printf ("%u %u\n", clock (), CLK_TCK);	    }  textmode (C80X50);#if 0  Handle = open ("Test", O_RDONLY);  getftime (Handle, &ft);  cprintf ("%02d/%02d/%04d %02d:%02d:%02d ",	   ft.ft_month, ft.ft_day, ft.ft_year + 1980,	   ft.ft_hour, ft.ft_min, ft.ft_tsec * 2);  close (Handle);  getch ();#endif // 0#if 0  window (1, 1, 10, 5);  _setcursortype (_NOCURSOR);  for (i = 0; i != 'X';)    i = getche ();  _wscroll = 0;  window (1, 6, 10, 10);  _setcursortype (_NORMALCURSOR);  for (i = 0; i != 'X';)    i = getche ();  _wscroll = 1;  window (1, 1, 80, 50);  _setcursortype (_SOLIDCURSOR);  cputs ("Up to 8 chars: ");  s[0] = 9;  cgets (s);  cprintf ("\r\n%d chars, \"%s\"\r\n", s[1], &s[2]);  ss = getpass ("Password: ");  cprintf ("\r\n\"%s\"\r\n", ss);  getch ();#endif // 0#if 0  cprintf ("Hidden\r\n");  for (i = findfirst ("*", &fblk, FA_HIDDEN); i == 0; i = findnext (&fblk))    cprintf ("%ld bytes, %02X, %02d/%02d/%04d %02d:%02d:%02d, %s\r\n",	     fblk.ff_fsize, fblk.ff_attrib,	     ((fblk.ff_fdate & 0x1e0) >> 5),	     (fblk.ff_fdate & 0x1f),	     ((fblk.ff_fdate & 0xfe00) >> 9) + 1980,	     (fblk.ff_ftime & 0xf800) >> 11,	     (fblk.ff_ftime & 0x7e0) >> 5,	     (fblk.ff_ftime & 0x1f) * 2, fblk.ff_name);  getch ();  cprintf ("Hidden directories\r\n");  for (i = findfirst ("*", &fblk, FA_HIDDEN | FA_DIREC); i == 0;       i = findnext (&fblk))    cprintf ("%ld bytes, %02X, %02d/%02d/%04d %02d:%02d:%02d, %s\r\n",	     fblk.ff_fsize, fblk.ff_attrib, ((fblk.ff_fdate & 0x1e0) >> 5),	     (fblk.ff_fdate & 0x1f), ((fblk.ff_fdate & 0xfe00) >> 9) + 1980,	     (fblk.ff_ftime & 0xf800) >> 11, (fblk.ff_ftime & 0x7e0) >> 5,	     (fblk.ff_ftime & 0x1f) * 2, fblk.ff_name);  getch ();  cprintf ("Directories\r\n");  for (i = findfirst ("*", &fblk, FA_DIREC); i == 0; i = findnext (&fblk))    cprintf ("%ld bytes, %02X, %02d/%02d/%04d %02d:%02d:%02d, %s\r\n",	     fblk.ff_fsize, fblk.ff_attrib,	     ((fblk.ff_fdate & 0x1e0) >> 5),	     (fblk.ff_fdate & 0x1f),	     ((fblk.ff_fdate & 0xfe00) >> 9) + 1980,	     (fblk.ff_ftime & 0xf800) >> 11,	     (fblk.ff_ftime & 0x7e0) >> 5,	     (fblk.ff_ftime & 0x1f) * 2, fblk.ff_name);  getch ();  cprintf ("Regular\r\n");  for (i = findfirst ("*", &fblk, 0); i == 0; i = findnext (&fblk))    cprintf ("%ld bytes, %02X, %02d/%02d/%04d %02d:%02d:%02d, %s\r\n",	     fblk.ff_fsize, fblk.ff_attrib,	     ((fblk.ff_fdate & 0x1e0) >> 5),	     (fblk.ff_fdate & 0x1f),	     ((fblk.ff_fdate & 0xfe00) >> 9) + 1980,	     (fblk.ff_ftime & 0xf800) >> 11,	     (fblk.ff_ftime & 0x7e0) >> 5,	     (fblk.ff_ftime & 0x1f) * 2, fblk.ff_name);  getch ();#endif // 0#if 0  k = ACS_ULCORNER;  mvwaddch (stdscr, 0, 0, k);  addch (ACS_HLINE);  addch (ACS_TTEE);  addch (ACS_HLINE);  addch (ACS_URCORNER);  //addch ('\r');  addch ('\n');  addch (ACS_VLINE);  addch (' ');  addch (ACS_VLINE);  addch (' ');  addch (ACS_VLINE);  //addch ('\r');  addch ('\n');  addch (ACS_LTEE);  addch (ACS_HLINE);  addch (ACS_PLUS);  addch (ACS_HLINE);  addch (ACS_RTEE);  //addch ('\r');  addch ('\n');  addch (ACS_VLINE);  addch (' ');  addch (ACS_VLINE);  addch (' ');  addch (ACS_VLINE);  //addch ('\r');  addch ('\n');  addch (ACS_LLCORNER);  addch (ACS_HLINE);  addch (ACS_BTEE);  addch (ACS_HLINE);  addch (ACS_LRCORNER);  addch ('\n');  addch (ACS_S1);  addch (ACS_S3);  addch (ACS_S7);  addch (ACS_S9);  addch (ACS_DIAMOND);  addch (ACS_CKBOARD);  addch (ACS_DEGREE);  addch (ACS_PLMINUS);  addch (ACS_BULLET);  addch (ACS_LARROW);  addch (ACS_HLINE);  addch (' ');  addch (ACS_HLINE);  addch (ACS_RARROW);  addch ('\n');  addch (ACS_UARROW);  addch (ACS_VLINE);  addch ('\n');  addch (ACS_VLINE);  addch (ACS_DARROW);  addch ('\n');  addch (ACS_LANTERN);  addch (ACS_BLOCK);  addch (ACS_LEQUAL);  addch (ACS_GEQUAL);  addch (ACS_PI);  addch (ACS_NEQUAL);  addch (ACS_STERLING);  getch ();#endif // 0  for (i = 0; i < 50; i++)    cprintf ("My name is Sam, and this is line #%d.\r\n", i);  textcolor (LIGHTGREEN);  gotoxy (10, 10);  cputs ("Sam I am");  window (20, 20, 50, 40);  for (i = 0; i < 21; i++)    cprintf ("%d:  Hello, chum!\r\n", i);  window (40, 1, 80, 30);  textbackground (GREEN);  clrscr ();  for (j = 0; j < 16; j++)    {      textbackground (j);      for (i = 0; i < 16; i++)	{	  textcolor (i);	  clreol ();	  cprintf ("%d,%d: Hello, you evil scumbag from hell!\r\n", j, i);	}      //getchar ();      }  window (1, 1, 80, 43);  textcolor (BLACK);  textbackground (LIGHTGRAY);  movetext (5, 4, 25, 15, 10, 28);  gettext (20, 2, 59, 21, Buffer);#if 0  for (i = 0; i < 20; i++)    {      gotoxy (1, i + 22);      for (j = 0; j < 40; j++)	{	  textattr (Buffer[i][j] >> 8);	  putch (Buffer[i][j] & 0xff);	}      putch (' ');    }#else  puttext (1, 22, 40, 41, Buffer);#endif  gotoxy (5, 15);  delline ();  delline ();  gotoxy (5, 17);  insline ();  do    i = getchNcurses ();  while (i < ' ' || i >= 127);  if (i == 'N')    {      for (i = 0; i != 'X';)	{	  i = getchNcurses ();	  if (i != ERR)	    cprintf ("%08X  ", i);	}    }  else    {      for (i = 0; i != 'X';)	{	  i = getch ();	  cprintf ("%02X ", i);	  if (i == 0)	    {	      i = getch ();	      cprintf ("%02X ", i);	      switch (i)		{		case A_A:		  cprintf ("Alt-A");		  break;		case A_B:		  cprintf ("Alt-B");		  break;		case A_C:		  cprintf ("Alt-C");		  break;		case A_D:		  cprintf ("Alt-D");		  break;		case A_E:		  cprintf ("Alt-E");		  break;		case A_F:		  cprintf ("Alt-F");		  break;		case A_G:		  cprintf ("Alt-G");		  break;		case A_H:		  cprintf ("Alt-H");		  break;		case A_I:		  cprintf ("Alt-I");		  break;		case A_J:		  cprintf ("Alt-J");		  break;		case A_K:		  cprintf ("Alt-K");		  break;		case A_L:		  cprintf ("Alt-L");		  break;		case A_M:		  cprintf ("Alt-M");		  break;		case A_N:		  cprintf ("Alt-N");		  break;		case A_O:		  cprintf ("Alt-O");		  break;		case A_P:		  cprintf ("Alt-P");		  break;		case A_Q:		  cprintf ("Alt-Q");		  break;		case A_R:		  cprintf ("Alt-R");		  break;		case A_S:		  cprintf ("Alt-S");		  break;		case A_T:		  cprintf ("Alt-T");		  break;		case A_U:		  cprintf ("Alt-U");		  break;		case A_V:		  cprintf ("Alt-V");		  break;		case A_W:		  cprintf ("Alt-W");		  break;		case A_X:		  cprintf ("Alt-X");		  break;		case A_Y:		  cprintf ("Alt-Y");		  break;		case A_Z:		  cprintf ("Alt-Z");		  break;		case N_F1:		  cprintf ("F1");		  break;		case N_F2:		  cprintf ("F2");		  break;		case N_F3:		  cprintf ("F3");		  break;		case N_F4:		  cprintf ("F4");		  break;		case N_F5:		  cprintf ("F5");		  break;		case N_F6:		  cprintf ("F6");		  break;		case N_F7:		  cprintf ("F7");		  break;		case N_F8:		  cprintf ("F8");		  break;		case N_F9:		  cprintf ("F9");		  break;		case N_F10:		  cprintf ("F10");		  break;		case N_HOME:		  cprintf ("home");		  break;		case N_UP:		  cprintf ("up");		  break;		case N_PGUP:		  cprintf ("PgUp");		  break;		case N_PADMINUS:		  cprintf ("Pad-");		  break;		case N_LEFT:		  cprintf ("left");		  break;		case N_RIGHT:		  cprintf ("right");		  break;		case N_PADPLUS:		  cprintf ("Pad+");		  break;		case N_END:		  cprintf ("end");		  break;		case N_DOWN:		  cprintf ("down");		  break;		case N_PGDN:		  cprintf ("PgDn");		  break;		case N_INS:		  cprintf ("ins");		  break;		case N_DEL:		  cprintf ("del");		  break;		case S_F1:		  cprintf ("Shift-F1");		  break;		case S_F2:		  cprintf ("Shift-F2");		  break;		case S_F3:		  cprintf ("Shift-F3");		  break;		case S_F4:		  cprintf ("Shift-F4");		  break;		case S_F5:		  cprintf ("Shift-F5");		  break;		case S_F6:		  cprintf ("Shift-F6");		  break;		case S_F7:		  cprintf ("Shift-F7");		  break;		case S_F8:		  cprintf ("Shift-F8");		  break;		case S_F9:		  cprintf ("Shift-F9");		  break;		case S_F10:		  cprintf ("Shift-F10");		  break;		case C_F1:		  cprintf ("Ctrl-F1");		  break;		case C_F2:		  cprintf ("Ctrl-F2");		  break;		case C_F3:		  cprintf ("Ctrl-F3");		  break;		case C_F4:		  cprintf ("Ctrl-F4");		  break;		case C_F5:		  cprintf ("Ctrl-F5");		  break;		case C_F6:		  cprintf ("Ctrl-F6");		  break;		case C_F7:		  cprintf ("Ctrl-F7");		  break;		case C_F8:		  cprintf ("Ctrl-F8");		  break;		case C_F9:		  cprintf ("Ctrl-F9");		  break;		case C_F10:		  cprintf ("Ctrl-F10");		  break;		case A_F1:		  cprintf ("Alt-F1");		  break;		case A_F2:		  cprintf ("Alt-F2");		  break;		case A_F3:		  cprintf ("Alt-F3");		  break;		case A_F4:		  cprintf ("Alt-F4");		  break;		case A_F5:		  cprintf ("Alt-F5");		  break;		case A_F6:		  cprintf ("Alt-F6");		  break;		case A_F7:		  cprintf ("Alt-F7");		  break;		case A_F8:		  cprintf ("Alt-F8");		  break;		case A_F9:		  cprintf ("Alt-F9");		  break;		case A_F10:		  cprintf ("Alt-F10");		  break;		case C_LEFT:		  cprintf ("Ctrl-left");		  break;		case C_RIGHT:		  cprintf ("Ctrl-right");		  break;		case C_END:		  cprintf ("Ctrl-end");		  break;		case C_PGDN:		  cprintf ("Ctrl-PgDn");		  break;		case C_HOME:		  cprintf ("Ctrl-home");		  break;		case A_0:		  cprintf ("Alt-0");		  break;		case A_1:		  cprintf ("Alt-1");		  break;		case A_2:		  cprintf ("Alt-2");		  break;		case A_3:		  cprintf ("Alt-3");		  break;		case A_4:		  cprintf ("Alt-4");		  break;		case A_5:		  cprintf ("Alt-5");		  break;		case A_6:		  cprintf ("Alt-6");		  break;		case A_7:		  cprintf ("Alt-7");		  break;		case A_8:		  cprintf ("Alt-8");		  break;		case A_9:		  cprintf ("Alt-9");		  break;		case A_MINUS:		  cprintf ("Alt-minus");		  break;		case A_EQUALS:		  cprintf ("Alt-equals");		  break;		case C_PGUP:		  cprintf ("Ctrl-PgUp");		  break;		}	    }	  else	    {	      if (i > ' ' && i <= 126)		cprintf ("%c", i);	      else		cprintf ("unprintable");	    }	  cprintf ("\r\n");	}    }#ifdef __libTurboC__  textmode (EXITMODE);  return (0);#endif}#endif /* TEST_TURBOC */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -