亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? tdecfg.c

?? C語(yǔ)言高級(jí)實(shí)例解析的配套光盤(pán)資料
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):



#include <bios.h>
#include <dos.h>
#include <io.h>
#include <malloc.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#include "tdecfg.h"


struct vcfg cfg;                
FILE *tde_exe;                  

long sort_offset;
long mode_offset;
long color_offset;
long macro_offset;
long keys_offset;
long two_key_offset;
long help_offset;

struct screen cfg_choice[] = {
   {5,25,"1.  Change colors" },
   {7,25,"2.  Redefine keys" },
   {9,25,"3.  Install new help screen" },
  {11,25,"4.  Set default modes" },
  {13,25,"5.  Install permanent macro file" },
  {15,25,"6.  Read in a configuration file" },
  {17,25,"7.  Exit" },
 {20,20,"Please enter choice: " },
  {0,0,NULL}
};


char *greatest_composer_ever = "W. A. Mozart, 1756-1791";



void main( int argc, char *argv[] )
{
int  rc;
int  c;
char fname[82];
char *buff;

 
   if ((buff = malloc( 8200 )) == NULL) {
      puts( "\nNot enough memory." );
      exit( 1 );
   }

   puts( "\nEnter tde executable file name (<Enter> = \"tde.exe\")  :" );
   gets( fname );

   if (strlen(fname) == 0)
      strcpy( fname, "tde.exe" );

   if ((rc = access( fname, EXIST )) != 0) {
      puts( "\nFile not found." );
      exit( 1 );
   } else if ((tde_exe = fopen( fname, "r+b" )) == NULL ) {
      puts( "\nCannot open executable file." );
      exit( 2 );
   }
   if ((rc = find_offsets( buff )) == ERROR)
      puts( "\nFatal error finding offsets.\n" );
   free( buff );
   if (rc == ERROR)
      exit( 3 );

   video_config( );
   cls( );
   show_box( 0, 0, cfg_choice, NORMAL );
   for (rc=0; rc != 1;) {
      xygoto( 42, 20 );
      c = getkey( );
      while (c != '1' && c != '2' && c != '3' && c != '4' && c != '5' &&
             c != '6' && c != '7')
         c = getkey( );
      switch (c) {
         case '1' :
            tdecolor( );
            show_box( 0, 0, cfg_choice, NORMAL );
            break;
         case '2' :
            tdekeys( );
            show_box( 0, 0, cfg_choice, NORMAL );
            break;
         case '3' :
            tdehelp( );
            show_box( 0, 0, cfg_choice, NORMAL );
            break;
         case '4' :
            tdemodes( );
            show_box( 0, 0, cfg_choice, NORMAL );
            break;
         case '5' :
            tdemacro( );
            show_box( 0, 0, cfg_choice, NORMAL );
            break;
         case '6' :
            tdecfgfile( );
            show_box( 0, 0, cfg_choice, NORMAL );
            break;
         case '7' :
            rc = 1;
            break;
      }
   }
   fcloseall( );
   puts( " " );
   puts( " " );
}




void build_next_table( char *pattern, char *next )
{
int  j;
int  t;
int  len;

   len = strlen( pattern );
   t = next[0] = -1;
   j = 0;
   while (j < len) {
      while (t >= 0  &&  pattern[j] != pattern[t])
         t = (int)next[t];
      j++;
      t++;
      next[j] =  pattern[j] == pattern[t]  ?  next[t]  :  (char)t;
   }
}



int  find_offsets( char *buff )
{
long off;
int  m1, m2, m3, m4, m5, m6, m7;
char sig1[8] = { '\x00','\x01','\x02','\x03','\x04','\x05','\x06','\x07' };
char sig2[8] = "$ modes";
char sig3[8] = "$colors";
char sig4[8] = "$macbuf";
char sig5[8] = "$  keys";
char sig6[8] = "$twokey";
char sig7[8] = "$  help";
char sig1_next[8];
char sig2_next[8];
char sig3_next[8];
char sig4_next[8];
char sig5_next[8];
char sig6_next[8];
char sig7_next[8];
unsigned int cnt;
register char *b;

   
   build_next_table( sig1, sig1_next );
   build_next_table( sig2, sig2_next );
   build_next_table( sig3, sig3_next );
   build_next_table( sig4, sig4_next );
   build_next_table( sig5, sig5_next );
   build_next_table( sig6, sig6_next );
   build_next_table( sig7, sig7_next );

  
   m1 = m2 = m3 = m4 = m5 = m6 = m7 = 0;
   off = 100000L;
   sort_offset = mode_offset    = color_offset = macro_offset = 0L;
   keys_offset = two_key_offset = help_offset  = 0L;
   fseek( tde_exe, off, SEEK_SET );
   while (!feof( tde_exe )) {
      cnt = fread( buff, sizeof(char), 8192, tde_exe );
      b = (char *)buff;
      for (; cnt > 0; off++, cnt--, b++) {

        
         if (m1 < 8) {
            if (sig1[m1] == *b) {
               m1++;
               if (m1 == 8)
                  sort_offset = off - 7L;
            } else {
               while (m1 > 0  &&  *b != sig1[m1])
                  m1 = (int)sig1_next[m1];
               m1++;
            }
         }
         if (m2 < 8) {
            if (sig2[m2] == *b) {
               m2++;
               if (m2 == 8)
                  mode_offset = off - 7L;
            } else {
               while (m2 > 0  &&  *b != sig2[m2])
                  m2 = (int)sig2_next[m2];
               m2++;
            }
         }
         if (m3 < 8) {
            if (sig3[m3] == *b) {
               m3++;
               if (m3 == 8)
                  color_offset = off - 7L;
            } else {
               while (m3 > 0  &&  *b != sig3[m3])
                  m3 = (int)sig3_next[m3];
               m3++;
            }
         }
         if (m4 < 8) {
            if (sig4[m4] == *b) {
               m4++;
               if (m4 == 8)
                  macro_offset = off - 7L;
            } else {
               while (m4 > 0  &&  *b != sig4[m4])
                  m4 = (int)sig4_next[m4];
               m4++;
            }
         }
         if (m5 < 8) {
            if (sig5[m5] == *b) {
               m5++;
               if (m5 == 8)
                  keys_offset = off - 7L;
            } else {
               while (m5 > 0  &&  *b != sig5[m5])
                  m5 = (int)sig5_next[m5];
               m5++;
            }
         }
         if (m6 < 8) {
            if (sig6[m6] == *b) {
               m6++;
               if (m6 == 8)
                  two_key_offset = off - 7L;
            } else {
               while (m6 > 0  &&  *b != sig6[m6])
                  m6 = (int)sig6_next[m6];
               m6++;
            }
         }
         if (m7 < 8) {
            if (sig7[m7] == *b) {
               m7++;
               if (m7 == 8)
                  help_offset = off - 7L;
            } else {
               while (m7 > 0  &&  *b != sig7[m7])
                  m7 = (int)sig7_next[m7];
               m7++;
            }
         }
      }
   }
   m1 = OK;
   if (sort_offset  == 0L || mode_offset == 0L || color_offset   == 0L ||
       macro_offset == 0L || keys_offset == 0L || two_key_offset == 0L ||
       help_offset  == 0L)
      m1 = ERROR;
   return( m1 );
}



void xygoto( int col, int row )
{
union REGS inregs, outregs;

   inregs.h.ah = 2;
   inregs.h.bh = 0;
   inregs.h.dh = row;
   inregs.h.dl = col;
   int86( VIDEO_INT, &inregs, &outregs );
}



void video_config( void )
{
#pragma pack( 1 )    

struct LOWMEMVID
{
   char     vidmode;           
   unsigned scrwid;            
   unsigned scrlen;            
   unsigned scroff;            
   struct   LOCATE
   {
      unsigned char col;
      unsigned char row;
   } csrpos[8];                
   struct   CURSIZE
   {
      unsigned char end;
      unsigned char start;
   } csrsize;                  
   char      page;             
   unsigned  addr_6845;        
   char      crt_mode_set;     
   char      crt_palette;      
   char      system_stuff[29]; 
   char      rows;             
   unsigned  points;           
   char      ega_info;         
   char      info_3;           
} vid;
struct LOWMEMVID _far *pvid = &vid;

#pragma pack( )    

union REGS in, out;
unsigned char temp, active_display;

   
   movedata( 0, 0x449, FP_SEG( pvid ), FP_OFF( pvid ), sizeof( vid ) );

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
福利一区二区在线| 91香蕉视频污在线| 亚洲色欲色欲www在线观看| 欧美色图免费看| 国产jizzjizz一区二区| 亚洲国产综合在线| 久久久久久久久久久99999| 欧美日韩精品一区视频| 国产成人av福利| 日韩电影免费在线看| 亚洲免费在线观看| 中文字幕巨乱亚洲| 欧美成人r级一区二区三区| 欧美亚洲一区二区在线| 国产 日韩 欧美大片| 久久精品国产成人一区二区三区 | 国产精品久久精品日日| 91精品国产欧美一区二区成人| 99国内精品久久| 国产成人精品免费在线| 日韩国产精品大片| 怡红院av一区二区三区| 中文字幕在线一区| 国产人妖乱国产精品人妖| 日韩三级av在线播放| 欧美精品在线一区二区| 91福利社在线观看| 色综合视频一区二区三区高清| 精品一区二区三区久久久| 日本欧美在线观看| 午夜精品久久久久影视| 一区二区免费在线播放| 亚洲另类在线制服丝袜| |精品福利一区二区三区| 国产精品久久免费看| 国产精品久久久久aaaa| 国产精品电影一区二区三区| 国产欧美日韩亚州综合| 久久久亚洲高清| 久久久久国产精品麻豆| 久久久久久久av麻豆果冻| 欧美α欧美αv大片| 精品国产一区二区国模嫣然| 久久先锋资源网| 久久久不卡网国产精品一区| 国产亚洲污的网站| 亚洲国产精品ⅴa在线观看| 欧美国产成人在线| 亚洲人精品午夜| 一区二区三区在线观看网站| 伊人夜夜躁av伊人久久| 亚洲一卡二卡三卡四卡| 日韩在线a电影| 久久精品国内一区二区三区| 紧缚捆绑精品一区二区| 粉嫩蜜臀av国产精品网站| 不卡一区在线观看| 色视频一区二区| 91精品欧美综合在线观看最新| 日韩欧美成人一区二区| 国产香蕉久久精品综合网| 国产精品激情偷乱一区二区∴| 亚洲视频在线一区| 丝袜美腿亚洲综合| 国产在线不卡一卡二卡三卡四卡| 成人一区二区视频| 日本高清不卡视频| 4438x亚洲最大成人网| 久久无码av三级| 亚洲色欲色欲www| 爽爽淫人综合网网站| 精品一区二区三区免费播放| aa级大片欧美| 欧美一区二区私人影院日本| 国产片一区二区| 一区二区三区四区在线播放 | 亚洲欧美日韩久久精品| 亚洲福利一区二区三区| 久久99精品国产.久久久久久 | 欧美性色欧美a在线播放| 日韩美女视频在线| 亚洲免费在线电影| 久久99国产精品麻豆| 成人免费视频免费观看| 欧美日本韩国一区| 久久久久久久综合日本| 亚洲一区二区欧美日韩| 国产精品一级在线| 欧美日韩一区二区不卡| 国产欧美日韩精品一区| 五月天亚洲精品| 成人激情小说网站| 日韩视频一区在线观看| 亚洲欧美日韩在线不卡| 狠狠色丁香久久婷婷综合_中 | 成人精品视频一区| 91麻豆精品91久久久久久清纯| 久久久久久久久久美女| 亚洲成a人片综合在线| www.一区二区| 久久久青草青青国产亚洲免观| 亚洲3atv精品一区二区三区| 不卡高清视频专区| 2020国产精品| 青青草国产成人99久久| 欧洲另类一二三四区| 中文字幕不卡在线播放| 精品一区二区国语对白| 666欧美在线视频| 一区二区三区在线观看视频| 99综合电影在线视频| www一区二区| 人人狠狠综合久久亚洲| 精品视频资源站| 亚洲男人天堂一区| 奇米在线7777在线精品| 欧美美女一区二区| 亚洲欧美日韩一区二区 | 视频一区中文字幕国产| 色综合色综合色综合| 中文字幕在线视频一区| 成人高清伦理免费影院在线观看| 日韩欧美的一区| 六月婷婷色综合| 91精品国产91热久久久做人人| 亚洲一区二区视频在线观看| 97久久超碰国产精品| 中文字幕av免费专区久久| 国产精品一二三四五| 久久在线免费观看| 国产乱子伦视频一区二区三区| 精品国产乱码久久久久久久| 久久国产成人午夜av影院| 日韩一区二区三区视频在线观看| 午夜视频一区在线观看| 91精品国产色综合久久久蜜香臀| 香蕉久久夜色精品国产使用方法 | 国产成人在线影院 | 久久久欧美精品sm网站| 精品一区二区精品| 2021久久国产精品不只是精品| 狠狠网亚洲精品| 久久精品夜夜夜夜久久| 国产丶欧美丶日本不卡视频| 久久久久久久综合| 成人黄色小视频在线观看| 国产精品对白交换视频| 一本一道波多野结衣一区二区| 亚洲精品福利视频网站| 欧美午夜片在线看| 日韩成人av影视| 日韩女优制服丝袜电影| 国产乱国产乱300精品| 国产精品―色哟哟| 97se亚洲国产综合自在线不卡| 亚洲丝袜自拍清纯另类| 欧美美女黄视频| 韩日欧美一区二区三区| 国产日韩亚洲欧美综合| 91视频免费观看| 五月综合激情网| 精品国产乱码久久久久久图片| 国产一区不卡精品| 亚洲人妖av一区二区| 欧美日韩视频在线观看一区二区三区| 日韩精品一级中文字幕精品视频免费观看 | 日韩欧美资源站| 黑人巨大精品欧美一区| 亚洲日本电影在线| 日韩视频免费直播| 丁香啪啪综合成人亚洲小说| 一区二区三区影院| 精品国产一区二区亚洲人成毛片| 成人福利在线看| 调教+趴+乳夹+国产+精品| 久久九九国产精品| 欧美日韩国产综合草草| 国产精品乡下勾搭老头1| 一区二区三区高清在线| 久久久久成人黄色影片| 日本韩国欧美三级| 国内精品国产成人国产三级粉色 | 国产成人精品aa毛片| 亚洲成人在线观看视频| 久久久国际精品| 欧美精选在线播放| 成人午夜视频福利| 秋霞影院一区二区| 亚洲精品视频免费看| 日韩欧美国产一区二区在线播放| www.色精品| 国产一区91精品张津瑜| 视频在线观看91| 亚洲精品成人精品456| 国产网站一区二区| 欧美一区中文字幕| 91久久精品一区二区三区| 国产成人日日夜夜| 久久精品国产精品亚洲精品| 亚洲影院在线观看|