亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        具有記憶功能的系統(tǒng)菜單實現(xiàn)方法談

        2015-05-29 12:26:26崔麗紅
        電腦知識與技術(shù) 2015年10期
        關(guān)鍵詞:實現(xiàn)方法

        崔麗紅

        摘要:該文介紹了利用VFP編程實現(xiàn)具有記憶功能的系統(tǒng)菜單實現(xiàn)的方法。

        關(guān)鍵詞:系統(tǒng)菜單;記憶功能;實現(xiàn);方法

        中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)10-0072-02

        我們大家知道,在使用Microsoft Word編輯文檔時,用戶可以在文件菜單下看到,Word系統(tǒng)可以保存用戶最近編輯過文檔的文件名字信息,用戶可以直接用鼠標選擇打開某一文檔,使用起來即方便又快捷。那么大家知道,利用VFP菜單生成器生成的菜單,系統(tǒng)編譯后,菜單項將不能被改變,那么如果在VFP編寫的應用程序中也實現(xiàn)這樣的功能呢?其實只要巧妙的利用修改菜單程序,通過調(diào)用數(shù)據(jù)表中指定的字段中保存的文件位置信息,重新生成菜單程序文件即可實現(xiàn)這樣的功能。編程思路:首先,利用菜單設(shè)計器設(shè)計菜單并生成一個擴展名為.mpr的菜單程序,然后直接修改生成的菜單程序,通過PROMPT()函數(shù)返回菜單欄中最近選定的菜單標題或菜單項文本,并保存到數(shù)據(jù)庫中,最后通過表單調(diào)用該菜單,表單中的Show Window屬性一定要設(shè)置為2-作為頂層表單,這樣才可以調(diào)用菜單程序,下面介紹功能實現(xiàn)步驟:

        1)新建一個項目文件,創(chuàng)建一個數(shù)據(jù)表名稱為mylist.dbf,該表有兩個字段文件名和時間,其中文件名字段為字符型,寬度可為256,時間字段為時間日期型,默認寬度。

        2)利用VFP提供的菜單生成器設(shè)計生成一個包含“文件”和“幫助”兩個菜單項的菜單,并為“文件”菜單項添加“打開”、“退出”兩個菜單項,最后編譯生成一個菜單文件程序,命名為mymenu.mpr。

        3)使用modi comm.命令直接打開mymenu.mpr文件,修改其中的程序代碼,使修改后的程序代碼如下:

        LPARAMETERS oFormRef, getMenuName, lUniquePopups, parm4, parm5, parm6, parm7, parm8, parm9

        LOCAL cMenuName, nTotPops, a_menupops, cTypeParm2, cSaveFormName

        IF TYPE("m.oFormRef") # "O" OR ;

        LOWER(m.oFormRef.BaseClass) # 'form' OR ;

        m.oFormRef.ShowWindow # 2

        MESSAGEBOX([只能從頂層表單調(diào)用該菜單。請設(shè)置表單的 ShowWindow 屬性為 2。])

        RETURN

        ENDIF

        m.cTypeParm2 = TYPE("m.getMenuName")

        m.cMenuName = SYS(2015)

        m.cSaveFormName = m.oFormRef.Name

        IF m.cTypeParm2 = "C" OR (m.cTypeParm2 = "L" AND m.getMenuName)

        m.oFormRef.Name = m.cMenuName

        ENDIF

        IF m.cTypeParm2 = "C" AND !EMPTY(m.getMenuName)

        m.cMenuName = m.getMenuName

        ENDIF

        DEFINE MENU (m.cMenuName) IN (m.oFormRef.Name) BAR

        DEFINE PAD _13d0jjdhw OF (m.cMenuName) PROMPT "文件(\

        KEY ALT+F, ""

        DEFINE PAD _13d0jjdhz OF (m.cMenuName) PROMPT "幫助(\

        KEY ALT+H, ""

        ON PAD _13d0jjdhw OF (m.cMenuName) ACTIVATE POPUP 文件f

        ON SELECTION PAD _13d0jjdhz OF (m.cMenuName);

        DO phelp IN LOCFILE("mymenu" ,"MPX;MPR|FXP;PRG" ,"WHERE is MYMENU?")

        DEFINE POPUP 文件f MARGIN RELATIVE SHADOW COLOR SCHEME 4

        DEFINE BAR 1 OF 文件f PROMPT "打開(\

        KEY CTRL+O, "Ctrl+O" ;

        MESSAGE "打開已有文件"

        DEFINE BAR 2 OF 文件f PROMPT "\-"

        ON SELECTION BAR 1 OF 文件f DO pselect in mymenu.mpr with PROMPT()

        ACTIVATE MENU (m.cMenuName) NOWAIT

        DO pselect in mymenu.mpr with "MyInit"

        IF m.cTypeParm2 = "C"

        m.getMenuName = m.cMenuName

        m.oFormRef.Name = m.cSaveFormName

        ENDIF

        PROCEDURE phelp

        messagebox("歡迎測試使用功能",46,"幫助信息")

        PROCEDURE pselect(mystr)

        set exact on &&設(shè)置字符精確比較

        do case

        case mystr="打開(O)..."

        myfile=getfile("TXT|PRG")

        if !empty(myfile)

        if !used("mylist")

        use mylist

        endif

        select mylist

        count to fileNo for !empty(mylist.文件名) and upper(alltrim(mylist.文件名))<>upper(alltrim(myfile))

        if fileNo>0

        select top 3 * from mylist ;

        where !empty(mylist.文件名) and upper(alltrim(mylist.文件名))<>upper(alltrim(myfile)) order by 時間 DESC into array amylist

        select mylist

        replace 文件名 with space(0) all

        go top

        replace 文件名 with myfile,時間 with datetime()

        for i=1 to alen(amylist,1)

        select mylist

        count to ifcz for upper(alltrim(文件名))= =upper(alltrim(amylist(i,1)))

        if ifcz=0

        go i+1

        replace 文件名 with amylist(i,1),時間 with amylist(i,2)

        endif

        endfor

        ****加入菜單項***

        select * from mylist where !empty(文件名) order by 時間 into array amylist

        for i=1 to alen(amylist,1)

        BarNo=i+2

        define bar BarNO of 文件f PROMPT ("\<"+alltrim(str(i))+" "+alltrim(amylist(i,1)))

        temp=alltrim(amylist(i,1))

        on selection bar BarNo of 文件f modify File '&temp'

        endfor

        DEFINE BAR BarNo+1 OF 文件f PROMPT "\-"

        DEFINE BAR BarNo+2 OF 文件f PROMPT "退出(\

        ON SELECTION BAR BarNo+2 OF 文件f quit

        else

        select mylist

        go top

        replace 文件名 with myfile,時間 with datetime()

        define bar 3 of 文件f PROMPT (alltrim(myfile))

        temp=alltrim(myfile)

        on selection bar 3 of 文件f modify File '&temp'

        DEFINE BAR 4 OF 文件f PROMPT "\-"

        DEFINE BAR 5 OF 文件f PROMPT "退出(\

        ON SELECTION BAR 5 OF 文件f quit

        endif

        modify File &myfile.

        endif

        case mystr="MyInit"

        if !used("mylist")

        use mylist

        endif

        select mylist

        count to fileNo for !empty(mylist.文件名)

        if fileNo>0

        select * from mylist where !empty(mylist.文件名) ;

        order by 時間 DESC into array amylist

        if alen(amylist)<>0

        for i=1 to alen(amylist,1)

        BarNo=i+2

        define bar BarNo of 文件f PROMPT ("\<"+alltrim(str(i))+" "+alltrim(amylist(i,1)))

        temp=alltrim(amylist(i,1))

        on selection bar BarNo of 文件f modify File '&temp'

        endfor

        DEFINE BAR BarNo+1 OF 文件f PROMPT "\-"

        DEFINE BAR BarNo+2 OF 文件f PROMPT "退出(\

        endif

        else

        DEFINE BAR 3 OF 文件f PROMPT "退出(\

        ON SELECTION BAR 3 OF 文件f quit

        endif

        endcase

        endproc

        4)新建一個表單名命為main,將該表單的ShowWindow屬性設(shè)為2,在表單的LOAD事件中添加如下代碼:

        DO Mymenu.mpr with this,.t.

        5)運行這個表單,使用“文件”菜單項下的“打開”菜單項打開一個任意文件后,我們可以發(fā)現(xiàn)當前打開的這個文件名就被加入到“文件”菜單項下,按文件被打開時間排序,打開時間最早的文件即排列在第一位的文件名稱被移走,最后打開的這個文件名被列菜單項最后位置,這樣我們看到系統(tǒng)中的菜單可以隨時發(fā)生變化,按照這樣的原理,就可以設(shè)計出豐富多采的菜單功能,有興趣的讀者不妨一試。

        猜你喜歡
        實現(xiàn)方法
        學習方法
        可能是方法不對
        信息系統(tǒng)安全評價系統(tǒng)設(shè)計及實現(xiàn)
        高校聲像檔案數(shù)字化管理的實現(xiàn)路徑
        辦公室人員尚需制定個人發(fā)展規(guī)劃
        蘇州信息學院教務管理系統(tǒng)的設(shè)計與實現(xiàn)
        如何實現(xiàn)人企合一
        淺析鐵路通信傳輸?shù)臉?gòu)成及實現(xiàn)方法
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        国产熟女自拍av网站| 99国产精品99久久久久久| 97se狠狠狠狠狼鲁亚洲综合色| 亚洲精品中文字幕一区二区| 亚洲成a人片在线观看无码专区| 亚洲av成人无遮挡网站在线观看| 国产精品一区二区无线| 久久丫精品国产亚洲av| 亚洲欧美日韩高清中文在线| 国产在线看不卡一区二区| 国产三级不卡在线观看视频| 一区二区三区中文字幕脱狱者 | 欧美人妻精品一区二区三区| 国产香蕉尹人在线视频播放| 久久91精品国产91久| 国内偷拍精品一区二区| 国产精品亚洲av三区亚洲| 亚欧色一区w666天堂| 亚洲色大成网站www永久一区| 在线a亚洲视频播放在线观看| 少妇一级aa一区二区三区片| 色婷婷在线一区二区三区| 国产女人精品视频国产灰线| 色综合色狠狠天天综合色| 激情97综合亚洲色婷婷五| 中文字幕无码免费久久99| 俺来也三区四区高清视频在线观看| 精品人妻久久一日二个| 丰满少妇作爱视频免费观看| 欧美黑人又粗又硬xxxxx喷水| 亚洲男人精品| 国产白浆流出一区二区| 亚洲国产一区二区三区精品| 午夜精品射精入后重之免费观看 | av无码国产精品色午夜| 亚洲精品久久久久久动漫 | 亚洲av色影在线| 国产98在线 | 日韩| 国产91精选在线观看麻豆| 一区二区亚洲精美视频| 性欧美丰满熟妇xxxx性久久久|