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

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

?? winputsf.c

?? 詳細介紹了一篇關于pci開發的接口芯片
?? C
字號:
/*  CXL - Copyright (c) 1987-1989 by Mike Smedley - All Rights Reserved  */
/*  WINPUTSF.C       - inputs a string from the keyboard within a window     */

#include <conio.h>
#include <ctype.h>
#include "cxldef.h"
#include "cxlkey.h"
#include "cxlstr.h"
#include "cxlvid.h"
#include "cxlwin.h"

int winputsf(char *str,char *fmt)
{
    char ch;
    char *dest,*src,*temp,*start=0;
    int valid=NO,mixed=NO,upper=NO,endfmt=NO,retkey=YES,lower=NO;
    int done=NO,copy=NO,password=NO;

    if(!_winfo.total) return(_winfo.errno=W_NOACTIVE);

    /* initialize pointers */
    src=fmt;                                    
    dest=str;

    for(;;) {
        if(!(*src)) endfmt=YES;
        switch(*src) {
            case ' ':                           /*  check for space          */
                src++;
                break;
            case 39:                            /*  check for start quote    */
            case 34:
                ch=*src;
                src++;
                while(*src!=ch) {               /*  find end quote           */
                    if(*src==0) {               /*  end of string?           */
                        *str=0;
                        return(_winfo.errno=W_INVFORMT);
                    }
                    wputc(*src);                /*  display character        */
                    if(copy) *dest++=*src;      /*  copy char to output      */
                    src++;
                }
                src++;
                break;
            case '!':                           /*  check for start point    */
                src++;
                while(*src!='!') {              /*  find end excl. point     */
                    if(*src==0) {               /*  end of string?           */
                        *str=0;
                        return(_winfo.errno=W_INVFORMT);
                    }
                    switch(*src) {              /*  check for valid chars    */
                        case '-':               /*  decrease attribute       */
                            _winfo.active->attr--;
                            _winfo.active->attr=mapattr(_winfo.active->attr);
                            break;
                        case '+':               /*  increase attribute       */
                            _winfo.active->attr++;
                            _winfo.active->attr=mapattr(_winfo.active->attr);
                            break;
                        case 'C':               /*  toggle copy to output    */
                            copy^=1;
                            break;
                        case 'E':               /*  toggle Escape checking   */
                            _winfo.esc^=1;
                            break;
                        case 'L':               /*  toggle lower-case conv   */
                            lower^=1;
                            break;
                        case 'M':               /*  toggle mixed-case conv   */
                            mixed^=1;
                            break;
                        case 'P':               /*  toggle password (echo)   */
                            password^=1;
                            break;
                        case 'R':               /*  toggle return key check  */
                            retkey^=1;
                            break;
                        case 'U':               /*  toggle upper-case conv   */
                            upper^=1;
                            break;
                        default:
                            *str='\0';
                            return(_winfo.errno=W_INVFORMT);
                    }
                    src++;
                }
                src++;
                break;
            default:

                for(;;) {
                    ch=(char)(getxch()&0x00ff); /*  get key from keyboard    */
                    if(!ch) break;              /*  check for extended code  */
                    if(!start) start=dest;      /*  save start of input      */
                    if(ch==ESC) {               /*  is it the Escape key?    */
                        if(!_winfo.esc) {       /*  is Esc checking off?     */
                        }                       /*  yes, ignore              */
                        else {
                            *str=0;             /*  null string & quit       */
                            return(_winfo.errno=W_ESCPRESS);
                        }
                        break;
                    }
                    if(ch==CR) {                /*  is it the return key?    */
                                                /*  is return disabled?      */
                        if((!retkey)&&(!endfmt)) {
                        }
                        else {
                            *dest=0;            /*  add term null to string  */
                            return(_winfo.errno=W_NOERROR);
                        }
                        break;
                    }
                    if(ch==BS) {                /*  is it Backspace key?     */
                        if(dest!=str) {
                            if(dest==start) break;
                            wputc('\b');
                            wputc(' ');
                            wputc('\b');
                            dest--;
                            src--;
                            endfmt=NO;
                            done=NO;
                            while(!done) {
                                switch(*src) {
                                    case ' ':
                                        src--;
                                        break;
                                    case 39:
                                    case 34:
                                        ch=*src;
                                        src--;
                                                /*  find start quote         */
                                        while(*src!=ch) {
                                            wputc('\b');
                                            wputc(' ');
                                            wputc('\b');
                                                /*  decrease output ptr      */
                                            if(copy) dest--;
                                            src--;
                                        }
                                        src--;
                                        break;
                                    case '!':
                                        src--;
                                                /*  find start excl point    */
                                        while(*src!='!') {
                                                /*  toggle found switches    */
                                            switch(*src) {
                                                case '-':
                                                /*  increase attribute       */
                                                    _winfo.active->attr++;
                                                    _winfo.active->attr=
                                                        mapattr(_winfo.active->attr);
                                                    break;
                                                case '+':
                                                /*  decrease attribute       */
                                                    _winfo.active->attr--;
                                                    _winfo.active->attr=
                                                        mapattr(_winfo.active->attr);
                                                    break;
                                                case 'C':
                                                /*  togggle copy to output   */
                                                    copy^=1;
                                                    break;
                                                case 'E':
                                                /*  toggle Escape checking   */
                                                    _winfo.esc^=1;
                                                    break;
                                                case 'L':
                                                /*  toggle lower-case conv   */
                                                    lower^=1;
                                                    break;
                                                case 'M':
                                                /*  toggle mixed-case conv   */
                                                    mixed^=1;
                                                    break;
                                                /*  toggle password (echo)   */
                                                case 'P':
                                                    password^=1;
                                                    break;
                                                case 'R':
                                                /*  toggle return key check  */
                                                    retkey^=1;
                                                    break;
                                                case 'U':
                                                /*  toggle upper-case conv   */
                                                    upper^=1;
                                                    break;
                                            }
                                            src--;
                                        }
                                        src--;
                                        break;
                                    case '>':
                                        src--;
                                                /*  find start bracket       */
                                        while(*src!='<') src--;
                                        break;
                                    case ']':
                                        src--;
                                                /*  find start bracket       */
                                        while(*src!='[') src--;
                                        break;
                                    default:
                                        done=YES;
                                }
                            }
                        }
                        break;
                    }
                    if(!endfmt) {               /*  end of format string?    */
                        if(mixed)               /*  mixed-case switch on?    */
                            ch=touplow(str,dest,ch);
                        if(lower)               /*  lower case switch on?    */
                            ch=tolower(ch);
                        if(upper)               /*  upper-case switch on?    */
                            ch=toupper(ch);
                        valid=NO;
                        switch(*src) {          /*  test format character    */
                            case '<':           /*  is it in valid list?     */
                                temp=src;
                                src++;
                                                /*  check all chars in list  */
                                while(*src!='>') {
                                                /*  end of string?           */
                                    if(*src=='\0') {
                                        *str='\0';
                                                /*  invalid format string    */
                                        return(_winfo.errno=W_INVFORMT);
                                    }
                                    if(ch==*src) valid=YES;
                                    src++;
                                }
                                if(!valid) src=temp;
                                break;
                            case '[':           /*  is it in invalid list?   */
                                valid=YES;
                                temp=src;
                                src++;
                                                /*  check all chars in list  */
                                while(*src!=']') {
                                                /*  end of string?           */
                                    if(*src=='\0') {
                                        *str='\0';
                                                /*  invalid format string    */
                                        return(_winfo.errno=W_INVFORMT);
                                    }
                                    if(ch==*src) valid=NO;
                                    src++;
                                }
                                if(!valid) src=temp;
                                break;
                            default:
                                valid=cvaltype(ch,*src);
                                if(valid==-1) {
                                    *str='\0';
                                    return(_winfo.errno=W_INVFORMT);
                                }
                                switch(*src) {
                                    case 'L':
                                        ch=tolower(ch);
                                        break;
                                    case 'M':
                                        ch=touplow(str,dest,ch);
                                        break;
                                    case 'U':
                                        ch=toupper(ch);
                                        break;
                                }
                        }
                        if(valid) {             /*  input character valid?   */
                                                /*  yes, display it          */
                            wputc(password||*src=='P'?' ':ch);
                            *dest++=ch;
                            src++;
                            break;
                        }
                    }
                }

        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线免费观看日本欧美| 欧美日韩国产综合草草| 亚洲午夜激情网站| 久久久久国产一区二区三区四区 | 国产欧美精品在线观看| 在线观看免费亚洲| 春色校园综合激情亚洲| 日韩在线播放一区二区| 中文字幕一区二区视频| 精品欧美久久久| 欧美性感一类影片在线播放| 国产高清久久久久| 日韩和欧美的一区| 亚洲一区日韩精品中文字幕| 欧美精品一区二区三区在线| 欧美日韩中文字幕一区| 成人av在线资源| 精品亚洲免费视频| 蜜臀久久久久久久| 亚洲无人区一区| 中文字幕一区日韩精品欧美| 2021中文字幕一区亚洲| 欧美一区二区三区在线观看| 欧洲精品在线观看| 91丨九色丨黑人外教| 国产69精品久久久久毛片 | 国产一区二区久久| 日韩福利电影在线观看| 午夜电影久久久| 亚洲影院久久精品| 一区二区在线免费| 亚洲欧美视频在线观看视频| 中文字幕亚洲一区二区va在线| 久久精品一区蜜桃臀影院| 精品国偷自产国产一区| 日韩亚洲国产中文字幕欧美| 在线91免费看| 一区二区三区中文在线| 日韩一区中文字幕| 欧美国产乱子伦 | 午夜精品aaa| 日韩福利视频导航| 久久精品国产色蜜蜜麻豆| 麻豆精品国产传媒mv男同| 免费在线视频一区| 美女免费视频一区| www.欧美色图| 成人一二三区视频| 99在线精品视频| 91老师国产黑色丝袜在线| www.欧美.com| 在线视频观看一区| 欧美日韩国产综合久久| 日韩欧美一区在线| 久久午夜老司机| 国产精品久久久久久久久果冻传媒| 国产精品嫩草99a| 亚洲男人都懂的| 亚洲一区二区黄色| 免费观看日韩av| 国产在线精品视频| 白白色 亚洲乱淫| 在线观看视频一区二区欧美日韩| 欧美视频一区二| 日韩欧美第一区| 欧美国产精品一区| 亚洲欧美另类在线| 午夜精品久久久久久久蜜桃app| 日日摸夜夜添夜夜添国产精品| 男女男精品网站| 国产一区在线精品| 91香蕉视频黄| 91精品综合久久久久久| 久久久久国产免费免费| 亚洲男人都懂的| 久久国产日韩欧美精品| 成人午夜电影网站| 欧美日韩不卡一区二区| 久久精品网站免费观看| 一区二区三区免费看视频| 免费观看91视频大全| jlzzjlzz国产精品久久| 91精品国产色综合久久ai换脸 | 亚洲国产高清在线观看视频| 亚洲尤物在线视频观看| 国产一区二区女| 欧美网站一区二区| 久久精品人人做人人爽人人| 亚洲精品高清在线| 黄页视频在线91| 在线观看日产精品| 国产日韩欧美a| 午夜精品久久久久久| 粉嫩绯色av一区二区在线观看| 欧美日韩精品久久久| 亚洲国产成人一区二区三区| 日本欧美在线观看| 91丝袜美腿高跟国产极品老师| 日韩视频一区二区| 亚洲午夜免费电影| 丁香婷婷综合网| 日韩美女视频在线| 亚洲成人av电影| 91啦中文在线观看| 久久久久国产精品免费免费搜索| 五月婷婷久久丁香| 91麻豆成人久久精品二区三区| 久久中文字幕电影| 青青草成人在线观看| 99re热视频精品| 国产欧美日韩另类视频免费观看| 欧美aaa在线| 欧美性猛交xxxx乱大交退制版 | 精品久久久久久久久久久院品网 | 免费在线看成人av| 欧美日韩日日骚| 亚洲视频综合在线| 成人av午夜电影| 丝袜亚洲另类欧美综合| 色综合久久中文综合久久牛| 欧美极品aⅴ影院| 精品一区二区三区在线播放视频| 欧美群妇大交群中文字幕| 亚洲精品日韩专区silk| 国产91精品欧美| 欧美激情资源网| 国产一区999| 久久久99久久| 国产成人午夜精品5599| 欧美大度的电影原声| 亚洲国产精品久久艾草纯爱| 91福利资源站| 一区二区三区小说| 一本一本久久a久久精品综合麻豆| 国产精品萝li| 不卡电影一区二区三区| 国产精品久久久久影院亚瑟| 成人免费观看视频| 中文字幕免费不卡在线| 国产91精品精华液一区二区三区 | 性感美女久久精品| 欧美性大战xxxxx久久久| 亚洲国产一区视频| 欧美人牲a欧美精品| 日本欧美一区二区在线观看| 日韩欧美电影一区| 国产美女娇喘av呻吟久久| 精品毛片乱码1区2区3区| 久久电影国产免费久久电影| 日韩三级中文字幕| 国产一区二区三区不卡在线观看 | ㊣最新国产の精品bt伙计久久| 懂色av一区二区三区蜜臀| 国产精品第一页第二页第三页| 91小宝寻花一区二区三区| 亚洲无线码一区二区三区| 91精品在线观看入口| 久久超碰97人人做人人爱| 国产欧美日韩麻豆91| 色综合天天综合狠狠| 婷婷开心激情综合| 欧美精品一区二区精品网| 国产.欧美.日韩| 一区二区三区电影在线播| 欧美另类变人与禽xxxxx| 国产主播一区二区| 亚洲四区在线观看| 91麻豆精品91久久久久同性| 国产在线视频精品一区| 国产精品第五页| 9191成人精品久久| 成人免费视频网站在线观看| 亚洲综合色噜噜狠狠| 精品999久久久| 97se亚洲国产综合在线| 日韩激情一二三区| 国产欧美日韩三级| 欧美精品丝袜中出| 成人综合婷婷国产精品久久蜜臀 | 免费成人在线观看视频| 久久久久久一级片| 欧美天天综合网| 国产一区激情在线| 亚洲一区二区在线播放相泽| 精品国产免费人成电影在线观看四季| 成人18视频日本| 蜜臀av性久久久久蜜臀aⅴ | 欧美成人三级电影在线| 91视频观看免费| 激情亚洲综合在线| 亚洲一区二区欧美| 国产午夜亚洲精品午夜鲁丝片| 欧美日韩久久不卡| 不卡一区在线观看| 久久国产尿小便嘘嘘尿| 亚洲精品欧美激情| 久久精品免视看| 91精品国产手机| 欧美午夜一区二区| 99麻豆久久久国产精品免费优播|