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

📄 config.c

📁 GNU FreeDOS兼容MS DOS很好的东东.
💻 C
📖 第 1 页 / 共 5 页
字号:
        goto RestartInput;      }      break;    }    else      MenuTimeout = -1;    if (key == 0x3f00)          /* F5 */    {      SkipAllConfig = TRUE;      break;    }    if (key == 0x4200)          /* F8 */    {      singleStep = !singleStep;    }    else if(key == 0x4800 && MenuColor != -1)      /* arrow up */    {      if(MenuSelected>=1 && (Menus & (1 << (MenuSelected-1))) )      {        MenuSelected--;      }    }    else if(key == 0x5000 && MenuColor != -1)      /* arrow down */    {      if(MenuSelected<MENULINESMAX-1 && (Menus & (1 << (MenuSelected+1))) )      {        MenuSelected++;      }    }    key &= 0xff;    if (key == '\r' || key == 0x1b) /* CR/ESC - use default */      break;    if (isnum(key) && (Menus & (1 << (key - '0'))))    {      MenuSelected = key - '0';      break;    }  }  printf("\n");  /* export the current selected config  menu */  sprintf(envp, "CONFIG=%c", MenuSelected+'0');  envp += 9;  if (MenuColor != -1)    ClearScreen(0x7);}STATIC VOID CfgMenuDefault(BYTE * pLine){  COUNT num = 0;  pLine = skipwh(pLine);    if ('=' != *pLine)  {    CfgFailure(pLine);    return;  }  pLine = skipwh(pLine + 1);    /* Format:  STACKS = stacks [, stackSize]       */  pLine = GetNumArg(pLine, &num);  MenuSelected = num;  pLine = skipwh(pLine);  if (*pLine == ',')  {    GetNumArg(++pLine, &MenuTimeout);  }}STATIC void ClearScreen(unsigned char attr){  /* scroll down (newlines): */  iregs r;  unsigned char rows;  /* clear */  r.a.x = 0x0600;  r.b.b.h = attr;  r.c.x = 0;  r.d.b.l = peekb(0x40, 0x4a) - 1; /* columns */  rows = peekb(0x40, 0x84);  if (rows == 0) rows = 24;  r.d.b.h = rows;  init_call_intr(0x10, &r);  /* move cursor to pos 0,0: */  r.a.b.h = 0x02; /* set cursorpos */  r.b.b.h = 0;    /* displaypage: */  r.d.x = 0;  /* pos 0,0 */  init_call_intr(0x10, &r);  MenuColor = attr;}/**  MENUCOLOR[=] fg[, bg]*/STATIC void CfgMenuColor(BYTE * pLine){  int num = 0;  unsigned char fg, bg = 0;  pLine = skipwh(pLine);  if ('=' == *pLine)    pLine = skipwh(pLine + 1);  pLine = GetNumArg(pLine, &num);  if (pLine == 0)    return;  fg = (unsigned char)num;  pLine = skipwh(pLine);  if (*pLine == ',')  {    pLine = GetNumArg(skipwh(pLine+1), &num);    if (pLine == 0)      return;    bg = (unsigned char)num;  }  ClearScreen((bg << 4) | fg);}/*********************************************************************************    National specific things.    this handles only Date/Time/Currency, and NOT codepage things.    Some may consider this a hack, but I like to see 24 Hour support. tom.*********************************************************************************/#define _DATE_MDY 0 /* mm/dd/yy */#define _DATE_DMY 1  /* dd.mm.yy */#define _DATE_YMD 2  /* yy/mm/dd */#define _TIME_12 0#define _TIME_24 1struct CountrySpecificInfo specificCountriesSupported[] = {      /* US */ {    1,                          /*  = W1 W437   # Country ID & Codepage */    437,          _DATE_MDY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "$",                        /* '$' ,'EUR'   */    ",",                        /* ','          # Thousand's separator */    ".",                        /* '.'        # Decimal point        */    "/",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_12                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Canadian French */ ,{    2,                          /*  = W1 W437   # Country ID & Codepage */    863,          _DATE_YMD,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "$",                        /* '$' ,'EUR'   */    ",",                        /* ','          # Thousand's separator */    ".",                        /* '.'        # Decimal point        */    "-",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Latin America */ ,{    3,                          /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_MDY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "$",                        /* '$' ,'EUR'   */    ",",                        /* ','          # Thousand's separator */    ".",                        /* '.'        # Decimal point        */    "/",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_12                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Russia - by arkady */ ,{    7,                          /*  = W1 W437   # Country ID & Codepage */    866,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "RUB",                      /* '$' ,'EUR'   */                                /* should be "\xE0", but as no codepage                                   support exists (yet), better to leave it as 'Rubels'                                */       						    " ",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    ".",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    3,                          /*  Currency format : currency follows, after blank */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* DUTCH */ ,{    31,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "EUR",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "-",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Belgium */ ,{    32,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "EUR",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "-",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* France */ ,{    33,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "EUR",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "-",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Spain */ ,{    34,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "EUR",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    "'",                        /*      Decimal point - by aitor       */    "-",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Hungary */ ,{    36,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "$HU",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "-",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Yugoslavia */ ,{    38,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "$YU",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "-",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Italy */ ,{    39,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "EUR",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "-",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Switzerland */ ,{    41,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "SF",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    ".",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Czechoslovakia */ ,{    42,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_YMD,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "$YU",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    ".",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* UK */ ,{    44,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "\x9c",                      /* Pound sign    */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "/",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Denmark */ ,{    45,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "DKK",                      /*     */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "-",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }  /* Sweden */ ,{    46,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_YMD,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "SEK",                      /*     */    ",",                        /* ','          # Thousand's separator */    ".",                        /* '.'        # Decimal point        */    "-",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Norway */ ,{    47,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "NOK",                      /*     */    ",",                        /* ','          # Thousand's separator */    ".",                        /* '.'        # Decimal point        */    ".",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Poland */ ,{    48,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_YMD,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "PLN",                      /*  michael tyc: PLN means PoLish New zloty, I think)   */    ",",                        /* ','          # Thousand's separator */    ".",                        /* '.'        # Decimal point        */    ".",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* GERMAN */ ,{    49,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "EUR",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    ".",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    1,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* Argentina */ ,{    54,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "$ar",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "/",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    1,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_12                    /* = 0  # time format: 0/1: 12/24 houres */  }  /* Brazil */ ,{    55,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_DMY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "$ar",                      /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "/",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    1,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }    /* International English */ ,{    61,                         /*  = W1 W437   # Country ID & Codepage */    850,          _DATE_MDY,                  /*    Date format: 0/1/2: U.S.A./Europe/Japan */    "$",                        /* '$' ,'EUR'   */    ".",                        /* ','          # Thousand's separator */    ",",                        /* '.'        # Decimal point        */    "/",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision           */    _TIME_24                    /* = 0  # time format: 0/1: 12/24 houres */  }  /* Japan - Yuki Mitsui */ ,{    81,                       /*  = W1 W437   # Country ID & Codepage */    932,          _DATE_YMD,                  /*    Date format: 0/1/2:U.S.A./Europe/Japan */    "\x81\x8f",                 /* '$' ,'EUR'   */    ",",                        /* ','        # Thousand's separator */    ".",                        /* '.'        # Decimal point        */    "/",                        /* '-'  DateSeparator */    ":",                        /* ':'  TimeSeparator */    0,                          /* = 0  # Currency format (bit array) */    2,                          /* = 2  # Currency precision          */    _TIME_12                    /* = 0  # time format: 0/1: 12/24 houres                        

⌨️ 快捷键说明

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