亚洲免费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
        国产精品国产三级国产专播| 女人夜夜春高潮爽a∨片| 欧美日韩中文制服有码| 中文字幕高清无码不卡在线| 国产免费网站在线观看不卡| 亚洲一区二区三区视频免费 | 久久国产精品免费一区二区三区| 欧美午夜理伦三级在线观看| 色 综合 欧美 亚洲 国产| 初高中生精品福利视频| 亚洲一区二区女优av| 女人天堂av人禽交在线观看| 久久久亚洲精品无码| 国产丝袜在线精品丝袜| 婷婷丁香五月亚洲| 精品一区二区三区在线视频观看| 亚洲国产综合精品一区| 妺妺跟我一起洗澡没忍住| 一本色综合久久| 无夜精品久久久久久| 中文字幕一区二区区免| 大尺度无遮挡激烈床震网站| 国产欧美一区二区精品仙草咪| 国产日韩成人内射视频| 久久亚洲中文字幕精品一区四| 北条麻妃在线中文字幕| 丰满少妇人妻无码| 不卡高清av手机在线观看| 国产精品一卡二卡三卡| 久久99精品免费国产| 国产亚洲精品av久久| 99久久综合精品五月天| 妞干网中文字幕| 国产免费网站在线观看不卡| 女人脱了内裤趴开腿让男躁| 亚洲成人中文| 男女搞黄在线观看视频| 久久久久高潮综合影院| 精品熟女日韩中文十区| 中国老太老肥熟女视频| 婷婷色国产精品视频二区|