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

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

?? transfer.cpp

?? 支持XMODEM,YMODEM,FAX協議的串口通信軟件包
?? CPP
?? 第 1 頁 / 共 2 頁
字號:

        case 1:                             // file not found
        case 2:                             // user cancelled transfer
        case 3:                             // fatal protocol error
        case 4:                             // receiver cancelled download
        case 5:                             // file error
        case 14:                            // user cancelled upload
            ul_win.Display(dl_msg[rc]);     // give user a message
            loop = 0;                       // ..clear loop control
            break;                          // ..and exit loop
        }
    }

free(filename);                             // release memory
wait_ms(3000L);                             // ..wait a bit
return(ESC);                                // ..then return to caller

}



/* ******************************************************************** *
 *
 *  ul_ymodem() -- ymodem upload menu routine
 *
 * ******************************************************************** */


int     ul_ymodem(int c, int r)             // column and row for window
{
Window  ul_win(c, r,                        // define temporary window
            c + 45, r + 7,                  // ..to hold message
            menu_cn, menu_cr);              // ..using system colors

char   *st[5] = { 0, 0, 0, 0, 0},           // send table
       *wc,                                 // work pointer
       *blanks = "            ";            // blanks

YModem  ymodem(comm, ym_stat, &ul_win);     // define YMODEM instance

int     idx = 0,                            // current index
        i,                                  // work variable
        k,                                  // keystroke
        loop = 1;                           // loop indicator


ul_win.Open(double_line);                   // open window with a border
ul_win.Display(dl_msg[16]);                 // initialize the window
idx = 2;                                    // initial entry ..


while (loop)                                // loop till user exits
    {
    for (i = 0; i < 5; i++)                 // for each entry
        {
        ul_win.GotoXY(3, i+2);              // position the cursor

        if (st[i])                          // q. entry filled in?
            touppers(st[i]);                // a. yes .. uppercase it

        if ((i + 2) == idx)                 // q. current entry?
             ul_win.DisplayReverse(         // a. yes .. in reverse
                st[i] ? st[i] : blanks);    // .. display field or blanks
         else
             ul_win.Display(                // else .. in normal
                st[i] ? st[i] : blanks);    // .. display field or blanks
        }

    while (NOT (k = get_key(NO_ALT)))       // wait for a key
        ;                                   // ..before continuing

    switch (k)                              // based on keyboard input
        {
        case SPACE:                         // edit selected entry
            field_edit(&ul_win, 3, idx,     // edit the field
               &st[idx - 2], 12);

            if (! first_nonblank(st[idx-2]))// q. empty string?
                {
                free(st[idx-2]);            // a. yes .. release memory
                st[idx-2] = NULL;           // .. kill the pointer
                }
            break;


        case CR:                            // send the files
            loop = 0;                       // ..exit the loop
            break;

        case UP:                            // move up list
            if (--idx < 2)                  // q. already at top of list?
                idx = 6;                    // a. yes .. go to bottom
            break;                          // wait for next key

        case DOWN:                          // move down list
            if (++idx == 7)                 // q. already at bottom?
                idx = 2;                    // a. yes .. goto top of list
            break;                          // wait for next key

        case ESC:                           // escape from this menu
            k = 0;                          // set key value to zero
                                            // ..and fall into next case

        case LEFT:                          // move left
        case RIGHT:                         // ..or move right
            for (i = 0; i < 5; i++)         // for each entry in SendTable
                if (st[i])                  // q. entry used?
                    {                       // a. yes ..
                    free(st[i]);            // .. free the memory
                    st[i] = NULL;           // .. clear the pointer
                    }

            return(k);                      // just rtn with the keystroke

        default:                            // error case
            printf(BELL);                   // ..just ring the bell
        }
    }

for (i = 0; i < 5; i++)                     // remove trailing blanks
    if ((wc = strchr(st[i], ' ')) != 0)     // q. blank found?
        *wc = 0;                            // a. yes .. end string there

ul_win.Clear();                             // clear upload window
ul_win.GotoXY(1, 1);                        // start from new position

ymodem.Send(st);                            // perform the upload

for (i = 0; i < 5; i++)                     // for each entry in SendTable
    if (st[i])                              // q. entry used?
       {                                    // a. yes ..
       free(st[i]);                         // .. free the memory
       st[i] = NULL;                        // .. clear the pointer
       }


wait_ms(3000L);                             // ..and wait a bit
return(ESC);                                // ..and return to caller

}


/* ******************************************************************** *
 *
 *  fax_list() -- select phone book entry for fax number
 *
 * ******************************************************************** */

char   *fax_list(int c, int r)              // column and row for window
{
int     i,                                  // loop counter
        k,                                  // keyboard input
        idx;                                // line index

char    b[40],                              // work buffer
       *p;                                  // work pointer

Window  faxno_win(c, r, c + 35,             // define temporary window
            r + COUNT(phonebook) + 1,       // ..to hold fax number list
            menu_cn, menu_cr);              // ..using system colors


faxno_win.Open(double_line);                // open window with a border
idx = 0;                                    // set up for first entry

while(1)                                    // loop till user exits
    {
    for (i = 0; i < COUNT(phonebook); i++)  // walk thru phonebook
        {
        if ((p = phonebook[i].PB_NAME) == 0)// q. name available?
            p = "";                         // a. no .. point at null str

        sprintf(b, "%2d. %-27.27s",         // format a buffer with name
                i + 1, p);                  // ..and line number
        faxno_win.GotoXY(2, i + 1);         // position to start of line

        if (i == idx)                       // q. selected line?
            faxno_win.DisplayReverse(b);    // a. yes .. highlight line
         else
            faxno_win.Display(b);           // else .. just display it
        }

    while (NOT (k = get_key(NO_ALT)))       // wait for a key
        ;                                   // ..before continuing

    switch (k)                              // based on keyboard input
        {
        case CR:                            // entry selected
            return(phonebook[idx].PB_FAX);  // ..return the fax number

        case UP:                            // move up list
            if (--idx < 0)                  // q. already at top of list?
                idx = COUNT(phonebook) - 1; // a. yes .. goto bottom

            break;                          // wait for next key

        case DOWN:                          // move down list
            if (++idx == COUNT(phonebook))  // q. already at bottom?
                idx = 0;                    // a. yes .. goto top of list

            break;                          // wait for next key

        case ESC:                           // escape from this menu
            return(NULL);                   // set key value to zero
                                            // ..and fall into next case

        default:                            // error case
            printf(BELL);                   // ..just ring the bell
        }
    }
}



/* ******************************************************************** *
 *
 *  rcv_fax() -- receive a fax
 *
 * ******************************************************************** */

int     rcv_fax(int c, int r)               // column and row for window
{
Window  fax_win(c-20, r,                    // define temporary window
            c + 25, r + 18,                 // ..to hold message
            menu_cn, menu_cr);              // ..using system colors

Fax     fax(comm,                           // define Fax instance
            user_commands.Find("SID"),
            fax_stat, &fax_win);

char   *filename = 0,                       // file to receive
        msgbuf[50];                         // message buffer

fax_win.Open(double_line);                  // open window with a border
fax_win.Display(fax_msgs[40]);              // give filename prompt

if (field_edit(&fax_win,                    // q. prompt for the filename
            strlen(dl_msg[0]) + 1, 1,       // ..on the 1st row, did we
            &filename, 12) == 0)            // ..get a good user response?
    return(ESC);                            // a. no .. return to caller

if (NOT first_nonblank(filename))           // q. empty string?
    {
    free(filename);                         // a. yes .. release memory
    return(ESC);                            // ..and return to caller
    }

touppers(filename);                         // uppercase the file name

fax_win.Clear();                            // clear the window
sprintf(msgbuf, fax_msgs[0], "Receiving",   // format initial message
                             filename);
fax_win.DisplayReverse(msgbuf);             // display initial message

fax.Receive(filename);                      // receive a fax
free(filename);                             // free the file name buffer

fax_win.DisplayReverse(                     // display request for a key
    " -- Press any key to continue -- ");

while (NOT get_key(NO_ALT))                 // wait for a key
    ;                                       // ..before closing down

return(ESC);                                // ..and return to caller

}



/* ******************************************************************** *
 *
 *  send_fax() -- send a fax
 *
 * ******************************************************************** */

int     send_fax(int c, int r)              // column and row for window
{
Window  fax_win(c-20, r,                    // define temporary window
            c + 25, r + 18,                 // ..to hold message
            menu_cn, menu_cr);              // ..using system colors
Fax     fax(comm,                           // define Fax instance
            user_commands.Find("SID"),
            fax_stat, &fax_win);
char   *faxno,                              // pointer to fax telephone no.
       *filename = 0,                       // file to receive
        msgbuf[50];                         // message buffer


faxno = fax_list(c, r);                     // select an entry

if (faxno)                                  // q. any fax number?
    {                                       // a. yes ..
    fax_win.Open(double_line);              // open window with a border
    fax_win.Display(fax_msgs[40]);          // give filename prompt

    if (field_edit(&fax_win,                // q. prompt for the filename
            strlen(dl_msg[0]) + 1, 1,       // ..on the 1st row, did we
            &filename, 12) == 0)            // ..get a good user response?
        return(ESC);                        // a. no .. return to caller

    if (NOT first_nonblank(filename))       // q. empty string?
        {                                   // a. yee ..
        free(filename);                     // .. release memory
        return(ESC);                        // ..and return to caller
        }

    touppers(filename);                     // uppercase the file name

    fax_win.Clear();                        // clear the window

    sprintf(msgbuf, fax_msgs[0], "Sending", // format initial message
                    filename);

    fax_win.DisplayReverse(msgbuf);         // display initial message

    sprintf(msgbuf, "Calling: %s\r\n",      // format calling message
                    faxno);

    fax_win.Display(msgbuf);                // display calling message

    fax.Send(filename, faxno);              // send a fax
    free(filename);                         // free the file name buffer

    fax_win.DisplayReverse(                 // display request for a key
       " -- Press any key to continue -- ");

    while (NOT get_key(NO_ALT))             // wait for a key
        ;                                   // ..before closing down
    }

return(ESC);                                // ..and return to caller

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91九色最新地址| 久久99精品久久久久婷婷| 从欧美一区二区三区| 久久老女人爱爱| 国产99久久久国产精品免费看| 香蕉成人伊视频在线观看| 色综合久久天天| 亚洲图片自拍偷拍| 欧美一卡二卡在线| 国产一区二区三区综合| 国产精品无人区| 在线看一区二区| 午夜国产精品影院在线观看| 日韩欧美123| 北条麻妃国产九九精品视频| 亚洲最大成人网4388xx| 欧美精品在线一区二区| 国产一区视频在线看| 一区免费观看视频| 欧美日韩亚洲综合| 久久 天天综合| 中文字幕日韩一区| 欧美福利电影网| 国产成人免费视频网站| 亚洲黄色免费电影| 日韩欧美国产综合一区| 成人一区二区在线观看| 亚洲国产欧美日韩另类综合| 精品久久久久久久久久久久包黑料| 国产成人精品午夜视频免费| 亚洲午夜激情av| 亚洲精品一区二区三区精华液| 9l国产精品久久久久麻豆| 五月天网站亚洲| 中国色在线观看另类| 欧美亚洲自拍偷拍| 国产成人在线视频网站| 一区二区三区四区亚洲| 日韩免费一区二区三区在线播放| 成人高清在线视频| 奇米精品一区二区三区四区| 亚洲视频一区二区在线| 欧美mv日韩mv国产| 欧美日韩一级视频| 不卡大黄网站免费看| 另类的小说在线视频另类成人小视频在线| 综合电影一区二区三区| 精品国产一区二区精华| 欧美日韩极品在线观看一区| 99亚偷拍自图区亚洲| 精品午夜一区二区三区在线观看| 一区二区不卡在线播放| 国产色91在线| 欧美精品一区二区在线播放| 欧美日韩在线不卡| 91麻豆精品在线观看| 国产a视频精品免费观看| 久久精品理论片| 日韩精品一二三四| 一区二区在线观看视频| 国产精品丝袜在线| 久久久久久久精| 欧美不卡在线视频| 欧美一区二区三区四区高清| 欧美日韩精品一区二区三区蜜桃| 91国偷自产一区二区三区观看| jiyouzz国产精品久久| 国产美女一区二区| 国产精品综合视频| 国产一区二区三区四| 久久99精品国产91久久来源| 麻豆91精品91久久久的内涵| 日本午夜精品视频在线观看| 日韩黄色小视频| 日韩福利视频导航| 日韩精品乱码免费| 日韩精品午夜视频| 日韩精品91亚洲二区在线观看| 亚洲成av人影院| 三级在线观看一区二区| 日韩成人一区二区| 人人精品人人爱| 九九精品视频在线看| 精品一区二区免费| 国产乱国产乱300精品| 国产成人av影院| 99久久精品费精品国产一区二区| 日本韩国欧美一区二区三区| 欧美色手机在线观看| 91.com在线观看| 精品福利一区二区三区| 国产日韩欧美麻豆| 国产精品福利一区| 亚洲欧洲精品天堂一级| 亚洲日穴在线视频| 一区二区在线电影| 奇米色一区二区| 国产一区二区免费在线| 成人黄色电影在线 | 国产一区二区三区四区在线观看| 国产一区二区三区不卡在线观看| 成人看片黄a免费看在线| 99re这里都是精品| 欧美精品欧美精品系列| 日韩精品一区二区三区四区视频| 国产欧美一区二区精品婷婷| 一区二区三区欧美日韩| 日本成人在线不卡视频| 国产高清不卡一区| 欧洲在线/亚洲| 欧美成人艳星乳罩| 国产精品看片你懂得| 亚洲成人动漫精品| 国产一区二区三区精品欧美日韩一区二区三区 | 91麻豆免费视频| 欧美一级片在线| 欧美激情一区不卡| 亚洲午夜久久久| 国产一区二区视频在线| 在线国产电影不卡| 精品日韩99亚洲| 亚洲自拍偷拍综合| 国产乱码精品一区二区三| 在线免费亚洲电影| 精品久久久久av影院| 一区二区欧美在线观看| 国产一区二区福利| 欧美日韩视频在线第一区| 久久精品一区二区三区av| 亚洲狠狠爱一区二区三区| 国产一区二区女| 91精品黄色片免费大全| 中文字幕亚洲在| 国产一区日韩二区欧美三区| 欧美色欧美亚洲另类二区| 国产欧美一区二区三区在线看蜜臀| 午夜精品久久久久久久久| 国产a视频精品免费观看| 欧美一区二区三区在线电影| 亚洲女同女同女同女同女同69| 激情欧美一区二区| 欧美酷刑日本凌虐凌虐| 亚洲欧洲在线观看av| 国产一区二区三区四| 欧美一区二区三区成人| 亚洲综合一区二区三区| 成人av免费在线| 久久久精品中文字幕麻豆发布| 婷婷综合久久一区二区三区| 欧美视频在线一区二区三区 | 91蜜桃在线观看| 国产欧美视频一区二区三区| 久久国产尿小便嘘嘘尿| 欧美日韩午夜在线| 洋洋成人永久网站入口| av中文一区二区三区| 国产日韩欧美精品在线| 激情综合五月天| 精品久久久影院| 九九九久久久精品| 日韩美女视频一区二区在线观看| 性久久久久久久久| 欧美日韩综合不卡| 亚洲.国产.中文慕字在线| 精品视频一区二区不卡| 亚洲影院理伦片| 欧美剧情片在线观看| 婷婷国产在线综合| 在线综合亚洲欧美在线视频| 日本在线不卡一区| 欧美一区日韩一区| 日本视频免费一区| 日韩一级视频免费观看在线| 老色鬼精品视频在线观看播放| 精品国产三级电影在线观看| 国产一区二区三区香蕉| 日本一区二区不卡视频| a亚洲天堂av| 一卡二卡欧美日韩| 欧美剧在线免费观看网站| 日产国产高清一区二区三区| 26uuu色噜噜精品一区二区| 国产a级毛片一区| 亚洲欧美一区二区久久 | 日本vs亚洲vs韩国一区三区二区| 欧美一区二区观看视频| 精品一区二区三区在线观看国产| 久久久久久久久久久久久女国产乱| 国产91富婆露脸刺激对白| 亚洲欧洲日韩av| 7777精品伊人久久久大香线蕉完整版| 日韩高清一级片| 中文一区一区三区高中清不卡| 色综合久久九月婷婷色综合| 日韩和欧美一区二区三区| 久久免费美女视频| 99久久久国产精品| 青娱乐精品视频在线| 欧美极品美女视频| 在线一区二区观看|