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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? set_phon.c

?? BC3.1編譯,小交換機計費系統.使用Dos做出如此好的界面,少有.
?? C
?? 第 1 頁 / 共 2 頁
字號:

			warn_mesg(title, warn);

			get_current(&cur);
			xs = cur.dot_sx;
			ys = cur.dot_sy;
			xe = cur.dot_ex;
			ye = cur.dot_ey;
			setfillstyle(1, 7);
			bar(xs, ys, xe, ye);

			break;
		      }

		      tbl++;
		      num++;
		    }while (tbl->phone_no[0] && num <  MAX_USERS);
		  }while (tbl->phone_no[0] && num <  MAX_USERS);

		  if(result) {
		       Phone_top[pos-1].code = (UI)value;
		       Phone_top[pos-1].set_flag = 1;
		    }
	     }
	     else
	     {
		if(Phone_top[Count+cur_unit.unit_x-1].flag == FALSE)
		{
		    Phone_top[Count+cur_unit.unit_x-1].flag = TRUE;
		    outf(xs+8,ys+1,BK_CLR,CHR_CLR, "打");
		}
		else
		{
		    Phone_top[Count+cur_unit.unit_x-1].flag = FALSE;
		    outf(xs+8,ys+1,BK_CLR,CHR_CLR, "否");
		}
	     }

	     move_finger(3,1);
//                  echo_finger();
//                  message_end();
	    break;

	case 3:
	    message_disp(8,"0-限撥 1-市話 2-農話 3-信息臺 4-國內 5-國際 Enter 確認");     /* input 0--5*/
	    value = 0;
	    do
	    {
		set_get_color(0, 10, 10, 7, LIGHTRED);
		res = get_dec(xs, ys, 18, 35, 6, 1, &value, 0x00);
	    }while(res && value>5 );

	    if(res)
	    {
		Phone_top[pos-1].class = value;
		Phone_top[pos-1].set_flag  = 2;
		move_finger(3,1);
	    }

	    echo_finger();

	    message_end();
	    break;

	case 4:
	case 5:
	case 6:
	case 7:
	case 8:
	    Phone_top[pos-1].feeflag[cur_unit.unit_y-4] =
		!(Phone_top[pos-1].feeflag[cur_unit.unit_y-4]);
	    if (!Phone_top[pos-1].feeflag[cur_unit.unit_y-4])
		outf(xs+11, ys+1, BK_CLR, YELLOW, "否", 0);
	    else
		outf(xs+11, ys+1, BK_CLR, CHR_CLR, "計", 0);

	    move_finger(3,1);
	    break;
	case 9:
		message_disp(8,"每次通話最長時間(0-不限 1--99分鐘) Enter 確認");     /* input 0--5*/
		value = 0;

		set_get_color(0, 10, 10, 7, 0);
		res = get_dec(xs, ys, 18, 35, 2, 2, &value, 0x00);

	    if(res)
		{
		    Phone_top[pos-1].max_min = value;
		    Phone_top[pos-1].set_flag = 3;
		    move_finger(3,1);
		}

		move_finger(1,1);
		move_finger(2,ITEM_NUM-2);

		echo_finger();
		message_end();
	    break;

	default:
	    sound_alarm();
	    break;
    }/* END OF SWITCH */

    return;
}

/* function :      page up
 * calls    :      clr_phone_tbl,disp_phone_tbl
 * called by:      input_data()
 * date     :
 */
void pgup_phone_tbl(UC mode)
{
    /***** IF THE FIRST PAGE, RETURN. *****/
    if((Count-16) < 0)
    {
	sound_bell();
	return;
    }

    /***** DISPLAY THE LAST PAGE. *****/
    hide_finger();
    brush_tbl(ITEM_NUM, 16, 7);
    Count = Count-16;
    disp_phone_tbl(&Phone_top[Count-1], Count, mode);

    locate_finger(15,1);
}

/* function :      page down
 * calls    :      clr_phone_tbl,disp_phone_tbl
 * called by:      input_data()
 * date     :
 */
void pgdn_phone_tbl(UC mode)
{
    UC *title = "注意:";
    UC *warn  = "最多只能有這么多分機號碼!";

    /***** IF MORE THAN THE MAX LENGTH, WARN AND RETURN. *****/
    if(Count+15 >= MAX_USERS)
    {
        warn_mesg(title, warn);
	return;
    }

    /***** IF END OF TABLE, RETURN. *****/
    if((Count+15) > Newlen)
    {
	sound_bell();
	return;
    }

    /***** DISPLAY THE NEXT PAGE. *****/
    Count = Count+16;
    hide_finger();
    brush_tbl(ITEM_NUM, 16, 7);
    disp_phone_tbl(&Phone_top[Count-1], Count, mode);

    locate_finger(0,1);
}

/* function :   Save the phone num table.
 * calls    :   None
 * called by:   input_phone_num()
 * input    :   status -- 0: no refresh, 1:refresh
 *				mode   -- 0: no send     1:send
 * date     :
 */
void save_phone_tbl(UC status, UC mode)
{
    UC    flag;
    FILE *fp;
    PHONE_STRUCT newitem;
    struct       ffblk   charg_fblk;

    Newlen = phone_tbl_len();
    if(Newlen == 0)
    {
        flag = findfirst(ChargeDataFile[PHONE_CASH],&charg_fblk,FA_RDONLY);
        if(flag == 0)
            remove(ChargeDataFile[PHONE_CASH]);
        return;
    }

    message_disp(8,"正在存盤,請稍候...");      /* saving, please wait... */

    /***** RESORT THE PHONE TABLE *****/
    while(Oldlen < Newlen)
    {
	 newitem = Phone_top[Oldlen];
	 sort_phone_tbl(&newitem);
	 Oldlen += 1;
    }

    /* Download the phones */
    if(mode == SET_PCODE)
    	send_pcode_tbl();

    /***** SAVE THE PHONE TABLE *****/
    fp = fopen(ChargeDataFile[PHONE_CASH], "wb");
    fwrite(Phone_top, sizeof(PHONE_STRUCT), Newlen, fp);
    fclose(fp);

    message_end();

    if(status == REFRESH)
    {
	hide_finger();
        hide_finger();
        brush_tbl(ITEM_NUM, 16, 7);
	disp_phone_tbl(&Phone_top[Count-1], Count, mode);   /* REDISPLAY */
	echo_finger();
    }

    if(Cashflg[PHONE_CASH]) /* refresh the cash table */
	check_maint_cash(PHONE_CASH);


    return;
}

/* function:       Increase and resort the rate table.
 * calls:          maxnum()
 * called by:      input_phone_num()
 * input:          newitem -- a new item of phone number
 */
void sort_phone_tbl(PHONE_STRUCT *newitem)
{
    int         result;
    UI          num;
    PHONE_STRUCT *tbl, *tblptr;

    if(!strcmp(newitem->phone_no, ""))    /* if it is null */
	return;

    tbl = Phone_top;
    num = 0;
    /**** If the rate table is empty, the new item is
		  the first one in the table. ****/
    if(!Oldlen)
    {
	tbl[0] = *newitem;
	return;
    }

    /**** The new item is inserted in middle of the table. ****/
    do
    {
	 result = strcmp(tbl->phone_no, newitem->phone_no);

	 if(!result)    /* result=0 : the two strings are equal */
	     return;

	 if(result > 0)       /* INSERT HERE */
	 {
	      tblptr = &Phone_top[Oldlen];
	      while(tblptr > tbl)
	      {
		 *tblptr = *(tblptr-1);
		 tblptr--;
	      }

	      *tblptr = *newitem;
	      return;
	 }

	 tbl++;
	 num++;
    }while(strlen(tbl->phone_no) && num<MAX_USERS);

    /**** The new item is the last one in the rate table. ****/
    *tbl = *newitem;
}


/* function :      Delete a item in the phone number table.
 * calls    :      clr_phone_tbl,disp_phone_tbl
 * called by:      input_phone_num()
 */
void delete_num(UC mode)
{
    UI x, y;
    UI xs, ys, xe, ye;
    UI pos,cur_pos;
    UC result;
    UNIT_STRUCT  cur_unit;
    PHONE_STRUCT *tbl;

    get_current(&cur_unit);

    pos = Count+ cur_unit.unit_x;
    if(pos > Newlen)
    {
	    sound_bell();
	    return;
    }

    /***** CLEAR THE ITEM DELETED WITH "- - -". *****/
    hide_finger();
    xs = cur_unit.dot_sx;
    ys = cur_unit.dot_sy;
    xe = cur_unit.dot_ex;
    ye = cur_unit.dot_ey;
    setfillstyle(1,0);
    bar(xs,ys,xe,ye);

    x = (cur_unit.dot_ex-cur_unit.dot_sx-8)/2+cur_unit.dot_sx;
    y = (cur_unit.dot_ey-cur_unit.dot_sy-16)/2+cur_unit.dot_sy;
    outf(x-20, y, 0, 14, "%s", "- - - -");
    echo_finger();

    /***** DISPLAY THE DELETE MENU. *****/
    sound_alarm();

    result = select_1in2(10);
    /***** NOT DELETE *****/
    if(!result || result==1)
    {
	hide_finger();
        brush_tbl(ITEM_NUM, 16, 7);
	disp_phone_tbl(&Phone_top[Count-1], Count, mode);
	echo_finger();
	return;
     }

     /***** DELETE A ITEM *****/
     tbl = &Phone_top[pos-1];
     cur_pos = pos;
     while( (strlen(tbl->phone_no)) && (cur_pos<Newlen) )
     {
	 *tbl= *(tbl+1);
	 tbl++;
	 cur_pos++;
     }

     memset(&Phone_top[Newlen-1], 0, sizeof(PHONE_STRUCT));
     Newlen--;

     if((pos-1) < Oldlen)    /* equal to "pos <= Oldlen" */
	 Oldlen--;

     hide_finger();
     brush_tbl(ITEM_NUM, 16, 7);
     disp_phone_tbl(&Phone_top[Count-1], Count, mode);   /* REDISPLAY */
     echo_finger();

     return;
}

/* function  : let phone no add one automaticaly
 * date      : 1993.11.19
 */
void auto_add_one(UC mode)
{
    int result;
    UC phone_buf[10] = "";
    UC *title = "注意:";
    UC *warn = "分機號碼或內碼已存在,內碼越界!";
    UI pos;
    UI num;
    UI code;
    UL phone;
    PHONE_STRUCT *tbl;
    UNIT_STRUCT  cur_unit;

    hide_finger();

    get_current(&cur_unit);
    pos = Count+cur_unit.unit_x;
    if((pos==1) || (pos<=Oldlen) || pos>MAX_USERS)
    {
	sound_bell();          /* add only, do not change */
	echo_finger();
	return;
    }

    /* let phone no add one automaticaly */
    phone = atol(Phone_top[pos-2].phone_no)+1;
    ltoa(phone,phone_buf,10);
    if(Phone_top[pos-2].code != UNUSED_CODE)
    {
	code = Phone_top[pos-2].code+1;
	if(!Sys_mode.com_m[code/PhonesPerPort])
            code = UNUSED_CODE;
    }
    else
        code = UNUSED_CODE;

    tbl = Phone_top;
    num = 0;
    do
    {
	result = (   strcmp(tbl->phone_no, phone_buf)
	          || code==tbl->code || !Sys_mode.com_m[code/PhonesPerPort]);

	/*** THE phone No. INPUTTED ALREADY EXIST, REINPUT ***/
	/* Phone_top[pos-1] is the item being
	 * editted, so not judge it
	 */
	if((!result) && (tbl!=&Phone_top[pos-1]))
	{
            warn_mesg(title, warn);
	    echo_finger();
	    return;
	}

	tbl++;
	num++;
    }while(strlen(tbl->phone_no) && num<MAX_USERS);

    ltoa(phone,Phone_top[pos-1].phone_no,10);
    Phone_top[pos-1].code = code;
    Phone_top[pos-1].class = Phone_top[pos-2].class;
    Phone_top[pos-1].feeflag[0] = Phone_top[pos-2].feeflag[0];
    Phone_top[pos-1].feeflag[1] = Phone_top[pos-2].feeflag[1];
    Phone_top[pos-1].feeflag[2] = Phone_top[pos-2].feeflag[2];
    Phone_top[pos-1].feeflag[3] = Phone_top[pos-2].feeflag[3];
    Phone_top[pos-1].feeflag[4] = Phone_top[pos-2].feeflag[4];
    Phone_top[pos-1].max_min = Phone_top[pos-2].max_min;
    Phone_top[pos-1].set_flag = 2;

    /* display the phone no */
    disp_phone_tbl(&Phone_top[Count-1], Count, mode);

    move_finger(1,1);

    echo_finger();

    Newlen = phone_tbl_len();

    return;
}

UC select_1in3(void)
{
    UC result;

    UC *topic = "   您想退出嗎?";
    UC *select[3] = {"不退出","存盤退出","不存盤退出"};

    message_disp(8,"←↓→↑ 選擇   Enter 選中"); /*left up right down*/
    set_menu(7, 0, FALSE, TRUE);
    sound_alarm();
    result = hv_menu(219, 257, 1, 3, topic, select);
    message_end();

    return result;
}

UC select_1in2(UC mode)
{
    UC result;

    UC *topic1 = "   您需要從話單庫中刪除已備份話單嗎?";
    UC *topic2 = "   您確實需要刪除已備份話單話單嗎?";
    UC *topic3 = "   您需要打印電話費用單據嗎?";
    UC *topic4 = "   您需要打印電話話單嗎?";
    UC *topic5 = "   話費結算是否成功?";
    UC *topic6 = "   您確實需要清除話單存儲器嗎?";
    UC *topic7 = "   您確實需要刪除全部話單嗎?";
    UC *topic8 = "   您確實需要刪除所有分機話單嗎?";
    UC *topic9 = "   您確實需要刪除所有授權人話單嗎?";
    UC *topic10= "   您想刪除此項嗎?";

    UC *select1[2] = {"確認","取消"};
    UC *select2[2] = {"取消","確認"};
    UC *select3[2] = {"取 消", "打 印"};
    UC *select5[2] = {"打 印", "取 消"};
    UC *select4[2] = {"成  功", "不成功"};

    message_disp(8,"← → 移動   Enetr 確認");
    set_menu(7, 0, TRUE, TRUE);
    if(mode == 1)
        result = hv_menu(H_BX, H_BY, 2, 2, topic1, select1);
    else if(mode == 2)
        result = hv_menu(H_BX, H_BY, 2, 2, topic2, select2);
    else if(mode == 3)
        result = hv_menu(H_BX, H_BY, 2, 2, topic3, select3);
    else if(mode == 4)
        result = hv_menu(H_BX, H_BY, 2, 2, topic4, select3);
    else if(mode == 5)
        result = hv_menu(H_BX, H_BY, 2, 2, topic5, select4);
    else if(mode == 6)
        result = hv_menu(H_BX, H_BY, 2, 2, topic6, select2);
    else if(mode == 7)
        result = hv_menu(H_BX, H_BY, 2, 2, topic7, select2);
    else if(mode == 8)
        result = hv_menu(H_BX, H_BY, 2, 2, topic8, select2);
    else if(mode == 9)
        result = hv_menu(H_BX, H_BY, 2, 2, topic9, select2);
    else if(mode == 10)
        result = hv_menu(H_BX, H_BY, 2, 2, topic10,select2);
    else if(mode == 11)
        result = hv_menu(H_BX, H_BY, 2, 2, topic3, select5);
    message_end();

    return result;
}

void send_pcode_tbl()
{
    PHONE_STRUCT *tbl;
    UC        tmp[10];
    int i;

    /* shake hand with host */
    if(ShakeHandAll() != 0)
    	return ;

    tbl = Phone_top;
    for(i=0; i<Newlen ; i++) {
	if(tbl->set_flag && tbl->code != UNUSED_CODE) {
	    sprintf(tmp, "%02d%02d%02d", tbl->code%PhonesPerPort, (int)(tbl->class),(int)(tbl->max_min));
	    if(DownloadCode(tmp, 0, 6, 0xC0, tbl->code/PhonesPerPort) != 0) break;
	    tbl->set_flag = 0;
        }
        tbl++;
    }

    return;

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品国产三级国产a久久| 中文字幕亚洲一区二区va在线| 午夜电影一区二区三区| 在线观看亚洲a| 日韩在线a电影| 精品久久国产97色综合| 国产成人超碰人人澡人人澡| 国产精品私人自拍| 色综合久久88色综合天天免费| 亚洲一区二区影院| 日韩免费观看高清完整版 | 在线观看精品一区| 午夜日韩在线观看| 精品日韩在线观看| 成人手机电影网| 亚洲综合视频网| 欧美精品一二三区| 国产91精品一区二区| 一级女性全黄久久生活片免费| 欧美美女网站色| 国产成人av自拍| 亚洲午夜影视影院在线观看| 日韩欧美国产午夜精品| 懂色av一区二区三区免费观看 | 石原莉奈在线亚洲二区| 久久精品亚洲一区二区三区浴池| jlzzjlzz欧美大全| 亚洲第一福利一区| 日本一区免费视频| 国产剧情一区二区| 亚洲一区二区三区小说| 久久亚洲一级片| 91久久免费观看| 久久狠狠亚洲综合| 最近日韩中文字幕| 日韩欧美www| 一本到高清视频免费精品| 免费成人在线网站| 一区二区三区在线免费视频 | 国产91精品免费| 日本午夜精品视频在线观看| 国产精品国产a| 精品国一区二区三区| 91福利视频网站| 国产大片一区二区| 欧美aaa在线| 亚洲精品久久久久久国产精华液| 久久婷婷成人综合色| 在线电影院国产精品| 99久久伊人久久99| 国产精品69毛片高清亚洲| 婷婷中文字幕综合| 一区二区三区日韩在线观看| 国产亚洲精品超碰| 日韩午夜在线观看| 欧美日本国产视频| 在线影视一区二区三区| 成人激情免费视频| 国产精品系列在线播放| 久久99国产精品久久99| 美女国产一区二区| 青娱乐精品视频| 午夜天堂影视香蕉久久| 亚洲国产日韩精品| 亚洲男人天堂av| 亚洲三级理论片| 亚洲天堂免费看| 亚洲人吸女人奶水| 国产精品看片你懂得| 欧美国产精品久久| 欧美精彩视频一区二区三区| 久久理论电影网| 精品国产免费久久| 国产日韩精品一区| 国产精品久久久久久久久搜平片| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲成av人在线观看| 亚洲天堂福利av| 亚洲视频在线一区| 亚洲精品ww久久久久久p站| 中文字幕中文在线不卡住| 亚洲国产精品av| 中文字幕欧美一区| 亚洲欧美日韩一区二区三区在线观看 | 亚洲欧美在线观看| 中文字幕一区二区三区精华液| 国产精品视频你懂的| 国产精品久久久久久福利一牛影视| 中文字幕不卡在线播放| 中文字幕一区在线观看视频| 亚洲欧美一区二区在线观看| 一区二区三区四区高清精品免费观看 | 国产91精品露脸国语对白| 成人免费电影视频| 91女神在线视频| 欧美亚洲一区二区在线| 3d成人动漫网站| 欧美成人艳星乳罩| 国产精品网站导航| 亚洲亚洲人成综合网络| 蜜臀av性久久久久蜜臀av麻豆 | 中文字幕高清不卡| 一区二区免费在线播放| 午夜精品久久久久久久99樱桃| 青青草91视频| 国产成a人无v码亚洲福利| 色婷婷av一区二区三区软件 | 精品国精品自拍自在线| 国产精品久久久久久久浪潮网站| 一区二区三区精密机械公司| 日韩国产精品久久久| 国产在线精品不卡| 色婷婷久久久久swag精品| 日韩一区二区精品在线观看| 国产欧美日韩激情| 亚洲第一av色| 国产成人av在线影院| 91蝌蚪porny成人天涯| 欧美一区二区在线播放| 国产精品久久久久久久久免费桃花 | 欧美日韩亚洲综合| 国产日韩欧美在线一区| 一区二区三区欧美日韩| 国产乱码精品1区2区3区| 日本乱人伦aⅴ精品| 精品少妇一区二区三区在线播放 | 亚洲日本护士毛茸茸| 青青青伊人色综合久久| 不卡av在线免费观看| 日韩午夜小视频| 中文字幕在线观看一区二区| 蜜臂av日日欢夜夜爽一区| caoporm超碰国产精品| 欧美成人一区二区| 亚洲va欧美va人人爽午夜| 成人精品国产免费网站| 日韩女优电影在线观看| 一区二区三区资源| 风间由美一区二区三区在线观看| 欧美另类z0zxhd电影| 中文字幕一区二区三中文字幕| 日本欧美一区二区三区乱码| 色8久久精品久久久久久蜜 | 中文字幕高清不卡| 国模冰冰炮一区二区| 欧美日韩一二三| 亚洲乱码精品一二三四区日韩在线| 美女视频一区二区| 51精品国自产在线| 亚洲一区日韩精品中文字幕| av在线播放成人| 国产欧美一区二区精品婷婷| 日本成人中文字幕| 欧美日韩不卡视频| 一区二区三区小说| 99久久伊人精品| 国产精品久久网站| 国产高清在线精品| 日韩精品一区二区三区中文精品| 午夜久久久久久久久久一区二区| 91国内精品野花午夜精品| 欧美国产日韩在线观看| 国产成人免费在线视频| 久久伊人蜜桃av一区二区| 精品一区二区三区视频| 欧美一区二区三区播放老司机| 亚洲福中文字幕伊人影院| 欧美日免费三级在线| 一区二区三区日韩精品| 在线观看亚洲专区| 天天综合天天做天天综合| 欧美美女激情18p| 日本成人中文字幕| 精品国产免费一区二区三区香蕉| 狠狠色狠狠色综合日日91app| 精品日韩在线观看| 国产精品亚洲专一区二区三区| 久久美女艺术照精彩视频福利播放| 激情图区综合网| 2023国产一二三区日本精品2022| 激情文学综合网| 欧美国产日韩精品免费观看| 成人精品在线视频观看| 亚洲天堂精品视频| 欧美日韩国产片| 看电影不卡的网站| 久久九九久久九九| 99精品久久只有精品| 亚洲综合小说图片| 日韩手机在线导航| 国产mv日韩mv欧美| 亚洲人成人一区二区在线观看| 91蝌蚪porny| 日韩av一区二区三区四区| 欧美精品一区二区三| 成人国产精品免费观看| 亚洲福中文字幕伊人影院| 精品久久久影院| 91论坛在线播放| 久久99蜜桃精品|