当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 如何将如t.h,t.cpp,use.cpp三个编译成一个用gnu的编译器这个问题应该很简单但是我就是不会啊? ......
    摘要: 如果每次都把它当成数组来看的话,如果服务器重新启动,session清零,asp就会报错。 这种问题大虾们是如何解决的? ......


关于得到菜单中文名称的问题

怎样可以在程序里得到各菜单栏及子菜单项的中文名称?

NO.1   作者: marki

BAR()  
  返回值  
  数值型  
   
  备注  
  DEFINE   BAR   给菜单上的每一个菜单项赋予一个编号。当从菜单中选择一个菜单项时,BAR(   )   返回该菜单项对应的编号。根据   BAR()   的返回值,一个程序可以分支调用其他例程。  
   
  如果没有活动菜单,或者用户按下   Esc   键退出菜单,那么   BAR()   返回   0。  
   
  示例  
  下面的示例使用   bar()   将一个菜单项的编号传递给一个过程。用   set   sysmenu   save   命令将当前系统菜单栏保存到内存中,然后用   set   sysmenu   to   命令删除所有系统菜单标题。  
   
  define   pad   命令创建了两个菜单标题,define   popup   为每一个菜单标题创建一个菜单,define   bar   在每一个菜单上创建菜单项。  
   
  当选择菜单标题时,on   pad   使用   activate   popup   命令激活相应菜单。当从菜单中选择一个菜单项时,on   selection   popup   使用   bar()   和   popup()   把菜单项编号和菜单标题传递给   choice   过程,choice   过程将显示所选菜单项的编号及其所属的菜单的名称。若选择   card   info   菜单的   exit   项,原来的   Visual   FoxPro   系统菜单将由   set   sysmenu   to   default   命令恢复。  
   
   
  ***   该程序名字为   BAR_EXAM.PRG   ***  
  CLEAR  
  SET   SYSMENU   SAVE  
  SET   SYSMENU   TO  
  DEFINE   PAD   padConv   OF   _MSYSMENU   ;  
        PROMPT   \<Conversions   Color   Scheme   3   ;  
        KEY   ALT+C,    
  DEFINE   PAD   padCard   OF   _MSYSMENU   ;  
        PROMPT   Card   \<Info   Color   Scheme   3   ;  
        KEY   ALT+I,    
  ON   PAD   padConv   OF   _MSYSMENU   ACTIVATE   POPUP   popConv  
  ON   PAD   padCard   OF   _MSYSMENU   ACTIVATE   POPUP   popCard  
  DEFINE   POPUP   popConv   MARGIN   RELATIVE   Color   Scheme   4  
  DEFINE   BAR   1   OF   popConv   PROMPT   Ar\<ea   KEY   CTRL+E,   ^E  
  DEFINE   BAR   2   OF   popConv   PROMPT   \<Length   ;  
        KEY   CTRL+L,   ^L  
  DEFINE   BAR   3   OF   popConv   PROMPT   Ma\<ss   ;  
        KEY   CTRL+S,   ^S  
  DEFINE   BAR   4   OF   popConv   PROMPT   Spee\<d   ;  
        KEY   CTRL+D,   ^D  
  DEFINE   BAR   5   OF   popConv   PROMPT   \<Temperature   ;  
        KEY   CTRL+T,   ^T  
  DEFINE   BAR   6   OF   popConv   PROMPT   T\<ime   ;  
        KEY   CTRL+I,   ^I  
  DEFINE   BAR   7   OF   popConv   PROMPT   Volu\<me   ;  
        KEY   CTRL+M,   ^M  
  ***   这里是   POPCONV   菜单使用   BAR(   )   函数的地方  
  ***   要传递一个   菜单项编号   到   PROCEDURE   调用选择如下。  
  ON   SELECTION   POPUP   popConv;  
        DO   choice   IN   bar_exam   WITH   BAR(),   POPUP()  
  DEFINE   POPUP   popCard   MARGIN   RELATIVE   Color   Scheme   4  
  DEFINE   BAR   1   OF   popCard   PROMPT   \<View   Charges   ;  
        KEY   ALT+V,    
  DEFINE   BAR   2   OF   popCard   PROMPT   View   \<Payments   ;  
        KEY   ALT+P,    
  DEFINE   BAR   3   OF   popCard   PROMPT   Vie\<w   Users   ;  
        KEY   ALT+W,    
  DEFINE   BAR   4   OF   popCard   PROMPT   \-  
  DEFINE   BAR   5   OF   popCard   PROMPT   \<Charges   ;  
        KEY   ALT+C  
  DEFINE   BAR   6   OF   popCard   PROMPT   \-  
  DEFINE   BAR   7   OF   popCard   PROMPT   E\<xit   ;  
        KEY   ALT+X  
  ***   这里是   POPCARD   菜单使用   BAR(   )   函数的地方  
  ***   要传递一个   菜单项编号   到过程调用选择如下。  
  ON   SELECTION   POPUP   popCard;  
        DO   choice   IN   bar_exam   WITH   BAR(),   POPUP()  
  ***   用   gnBar   参数选择的过程  
  ***   t包含   BAR(   )   函数传递的值。  
  PROCEDURE   choice  
  PARAMETERS   gnBar,   gcPopup  
  WAIT   WINDOW   你选择了   bar   #   +   LTRIM(STR(gnBar))   +   ;  
          从弹式菜单     +   gcPopup   NOWAIT  
   
 

NO.2   作者: zhongyj

pad(   )   函数  
  以大写字符串形式返回在菜单栏中最近选取的菜单标题。  
  语法  
  PAD(   )  
   
  返回值类型  
   
  字符型  
   
  说明  
   
  为使   pad(   )   函数返回一个菜单标题,必须定义且激活一个菜单栏。可以使用   DEFINE   MENU   和   ACTIVATE   MENU   命令创建和激活菜单栏。  
  pad(   )   函数也可以应用于   Visual   FoxPro   的系统菜单栏。  
  如果没有定义并激活一个菜单栏或者在命令窗口中使用   pad(   )   函数,pad(   )   函数将返回一个空字符串。  
  pad(   )   函数示例  
  本示例应用   pad(   )   函数向一个过程传送菜单标题。  
   
  用   set   sysmenu   save   命令把当前   visual   foxpro   系统菜单栏保存在内存中,并且用   set   sysmenu   to   命令删除所有系统菜单标题。一些系统菜单标题是用   define   pad   命令创建的。当选择了一个菜单标题时,用pad(   )   函数把菜单标题传给名为   choice   的过程,choice   显示所选的菜单标题及菜单栏的名字。如果选择了“退出”菜单标题,则还原原始的   visual   foxpro   系统菜单。  
   
  ***   此程序名为   padexam.prg   ***  
  clear  
  set   sysmenu   save  
  set   sysmenu   to  
  define   pad   padsys   of   _msysmenu   prompt   \<system   color   scheme   3   ;  
  key   alt+s,    
  define   pad   padedit   of   _msysmenu   prompt   \<edit   color   scheme   3   ;  
  key   alt+e,    
  define   pad   padrecord   of   _msysmenu   prompt   \<record   color   scheme   3   ;  
  key   alt+r,    
  define   pad   padwindow   of   _msysmenu   prompt   \<window   color   scheme   3   ;  
  key   alt+w,    
  define   pad   padreport   of   _msysmenu   prompt   re\<ports   color   scheme   3   ;  
  key   alt+p,    
  define   pad   padexit   of   _msysmenu   prompt   e\<xit   color   scheme   3   ;  
  key   alt+x,    
  on   selection   menu   _msysmenu   ;  
  do   choice   in   padexam   with   pad(   ),   menu(   )  
  procedure   choice  
  parameters   gcpad,   gcmenu  
  wait   window   you   chose     +   gcpad   +   ;  
    from   menu     +   gcmenu   nowait  
  if   gcpad   =   padexit  
  set   sysmenu   to   default  
  endif  
   
  getpad(   )   函数  
  返回菜单栏给定位置上的菜单标题。  
   
  语法  
   
  GETPAD(cMenuBarName,   nMenuBarPosition)  
   
  参数  
   
  cMenuBarName  
   
  指定菜单栏名称。  
   
  nMenuBarPosition  
   
  指定菜单栏上的某一位置。nMenuPosition   的取值范围从   1   开始(对应菜单栏上最左面的菜单标题),直到菜单中菜单标题的总数。  
   
  返回值类型  
  字符型  
   
  说明  
  可以添加、删除或重新调整标题栏上的菜单名。使用   DEFINE   PAD   命令可以向标题栏中添加主菜单名,使用   RELEASE   PAD   命令可以删除菜单标题。  
  getpad(   )   函数示例  
  下面的示例用   getpad(   )   函数测试“编辑”菜单名是否在   visual   foxpro   的系统菜单栏上。如果在,getpad(   )   函数返回该菜单名(要把“编辑”菜单栏还原为默认状态,可执行   se   sysmenu   to   default   命令)。  
   
  for   gncount   =   1   to   cntpad(_msysmenu)   &&   菜单的数目  
  if   prmpad(_msysmenu,   getpad(_msysmenu,   gncount))   =   edit  
  release   pad   (getpad(_msysmenu,   gncount))   of   _msysmenu  
  exit  
  endif  
  endfor  
 

NO.3   作者: zhongyj

我想你是期望獲得當前沒有激活菜單時的所有菜單元素.  
   
  countpad=cntpad("_msysmenu")  
  Dime   padname[countpad,2]  
  j=1  
  rcp=countpad  
  For   i=1   to   countpad  
  padname[j,2]=getpad("_msysmenu",i)  
  padname[j,1]=left(prmpad("_msysmenu",padname[j,2]),len(prmpad("_msysmenu",padname[j,2]))-3)  
  j=j+1  
  Endfor  
  For   i=1   to   rcp  
  countbar=cntbar(padname[i,2])  
  Dime   barname[countbar,2]  
  barcount1=0  
  For   j=1   to   countbar  
  barname[j,2]=j  
  barname[j,1]=prmbar(padname[i,2],barname[j,2])  
  ?barname[j,1]+"----"+barname[j,2]  
  endfor  
  endfor  
 


    摘要: 比如要取出a表中的a(1)字段的值,存入一个vb变量,应怎么写?(只取某一条记录的值) ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE