msg

阅读 / 问答 / 标签

有谁知道MSG品牌的含义

MSG涵盖两层含义。其一,即MILLIONSER GROUP,是万人集团英文缩写。其二,Millionser指万人,Group指集合,强调人才对企业发展的推动作用,并由此引申出运用于商业发展范畴,致力于人与企业共同发展的管理理念。

msg文件怎么打开

将后缀名改成.eml,用WINDOWS自带的Outlook Express来打开,或者不做任何更改,右健点击文件选择打开方式,用Outlook Express打开就可以了。其他解决方案1、最新版本的foxmail 72已经能兼容msg文件了,直接把msg文件拖动到foxmail里面,或者选择foxmail打开也能看到内容。注意:其他msg兼容软件,除此注意部分软件可能是收费的。2、可以直接使用记事本或写字板等编辑器打开,也能查看一些信息。注意,由于msg有特殊编码格式,所以大概只能看到邮件头的部分。当然,如果你觉得上述方法都太麻烦了,你可以直接使用记事本或写字板等编辑器打开,也能查看一些信息(注意由于msg有特殊编码格式,所以大概只能看到邮件头的部分)。

msg是什么文件

Msg文件是微软outlook软件,outlook邮件客户端的格式。包含了发件人、主题、收件人、邮件内容等。直接把文件后缀改成eml,然后用WINDOWS自带的Outlook Express来打开,或者不做任何更改右键点击文件选打开方式用Outlook Express打开即可。 Msg文件是微软outlook软件,outlook邮件客户端的格式。包含了发件人、主题、收件人、邮件内容等。直接把文件后缀改成eml,然后用WINDOWS自带的Outlook Express来打开,或者不做任何更改右键点击文件选打开方式用Outlook Express打开即可。

以下关于msg代码怎么解释?msg是什么意思?

你提问中的msg只是代码中的一个变量,可以任意指定的。平时我们日常所说的MSG通常是指:Millionser Group的缩写,位于厦门,希望能够得到采纳,谢谢。

msg文件怎么打开?

直接用网页outlook邮箱,添加附件然后预览或者用其他邮箱发送到outlook邮箱都可以直接打开。

MSG什么意思

MSG即MILLIONSER GROUP,是万人集团英文缩写。Millionser指万人,Group指集合,强调人才对企业发展的推动作用,并由此引申出运用于商业发展范畴,致力于人与企业共同发展的管理理念。

MSG是啥意思?????

这么好吗!这些天在我心中你就是一个样

msg是什么意思

msg 就是短信通知的意思

msg是什么文件

msg文件是微软outlook软件。outlook邮件客户端的格式,也就是常说的邮件,包含了发件人、主题、收件人、邮件内容等等。msg文件是描述ROS消息字段的简单文本文件。它们用于为不同语言的消息生成源代码。MSG文件包含有关项目的所有信息,其中包括电子邮件的附件。msg介绍MSG文件主要由Outlook使用,但也支持使用MAPI的其他程序。微软在2003年发布了Microsoft Exchange Server和Microsoft Outlook的MSG格式,之后一直积极维护MSG格式。MSG文件的主要用途是允许Outlook用户共享各种项目,如邮件、约会和联系人。存储在MSG文件中的信息因文件中包含的项目而异。通常保存在MSG文件中的项目及其信息有以下:电子邮件 - MSG文件包含一个或多个电子邮件字段,其中包括日期、发件人、收件人、主题和邮件正文以及邮件的任何附件。MSG文件的默认名称与邮件主题相同。约会 - MSG文件包含约会详细信息,其中包括约会的开始和结束时间、位置和消息。MSG文件的默认名称与约会标题相同。

MSG是什么意思啊?

MSG全称为Millionser Group, 是万人集团的英文名称缩写~~

聊天时经常看到人说MSG,这个msg是什么意思啊?

腾讯抽风的表现,我遭遇过。在群里聊天,用手机发的消息,当时群里在线的人可以看到正常对话,后来上线看到的就显示MSG。搜索网上有不少人也遇到过,不同的手机型号。杀毒等均无效,莫名自愈

abap怎么看message id msgno

事务代码SE93,可以查看消息类对应消息号的消息内容

C++中MSG msg;什么意思

SplashScreen - 我们使用 Word 之类的软件在启动的短暂时间里就会看到它的身影。它通常用以在程序启动时显示程序及用户名称,版权信息等。我也不知道它准确的名称是什么(是闪屏吗?),就这样称呼吧。也许你也想在自己的工程里加入这样的特性,本文将以创建实际工程的方式逐步剖析其实现原理。 注意:为避免实际所使用工程名给类或对象名带来的干扰,除非特别说明,在本文中将使用基类名如CWinApp、CMainFrame、CDialog来代替实际工程中的相应派生类名进行描述。 Visual C++是一个相当强大的C++开发工具,它内嵌了对SplashScreen的支持。但是在MFC EXE类型工程中只是对带有主框架类的SDI或MDI工程提供了这一支持,基于对话框类的工程则被排除在外。现在让我们开始吧。第一步是在SDI工程中加入SplashScreen。 首先利用AppWizard生成一个SDI工程,除了其中Docking ToolBar必须选择外(我认为这是MFC的一个Bug,当然这与本文讨论的SplashScreen没有关系),其他的文档-视图支持、状态条之类的都可以不要,这样可以尽量减少无用的代码。 通过IDE中的菜单Project->Add to Project->Components and Controls,我们就可以从Visual C++ Components中选择Splash Screen这个组件插入工程。 在点击了"Insert"后会弹出一个如下图所示的对话框,这是设置插入该工程中的SplashScreen的类名、显示用位图的ID及文件名,采用缺省值即可。 通过以上几步的操作,就会在工程目录下生成Splash.CPP和Splash.H文件,这便是CSplashWnd类的实现文件与头文件。同时工程中CWinApp与CMainFrame类中的部分代码也会被修改,以实现CSplashWnd窗口的消息处理。 接着我们来看看 CSplashWnd 类的声明与主要的代码(已经过删减): //类的声明 class CSplashWnd : public CWnd { CSplashWnd(); ~CSplashWnd(); virtual void PostNcDestroy(); static void EnableSplashScreen(BOOL bEnable = TRUE); static void ShowSplashScreen(CWnd* pParentWnd = NULL); static BOOL PreTranslateAppMessage(MSG* pMsg); BOOL Create(CWnd* pParentWnd = NULL); void HideSplashScreen(); afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnPaint(); afx_msg void OnTimer(UINT nIDEvent); CBitmap m_bitmap; //SplashScreen窗口显示用的位图对象 static BOOL c_bShowSplashWnd; //是否要显示SplashScreen的标志量 static CSplashWnd* c_pSplashWnd; }; //是否使用SplashScreen void CSplashWnd::EnableSplashScreen(BOOL bEnable) { c_bShowSplashWnd = bEnable; } //创建CsplashWnd对象,并调用Create()创建窗口 void CSplashWnd::ShowSplashScreen(CWnd* pParentWnd) { //如果不要显示SplashScreen或SplashWnd对象已经被创建则返回 if (!c_bShowSplashWnd || c_pSplashWnd != NULL) return; c_pSplashWnd = new CSplashWnd; if (!c_pSplashWnd->Create(pParentWnd)) delete c_pSplashWnd; else c_pSplashWnd->UpdateWindow(); } //装入SplashScreen欲显示位图,通过CreateEx()激发OnCreate()完成窗口创建与设置 BOOL CSplashWnd::Create(CWnd* pParentWnd) { if (!m_bitmap.LoadBitmap(IDB_SPLASH)) return FALSE; BITMAP bm; m_bitmap.GetBitmap(&bm); return CreateEx(0, AfxRegisterWndClass(0,AfxGetApp()->LoadStandardCursor(IDC_ARROW)), NULL, WS_POPUP | WS_VISIBLE, 0, 0, bm.bmWidth, bm.bmHeight, pParentWnd->GetSafeHwnd(), NULL); } //销毁窗口,刷新框架 void CSplashWnd::HideSplashScreen() { DestroyWindow(); AfxGetMainWnd()->UpdateWindow(); } //利用窗口创建结构创建窗口,并设置定时器在750ms后触发OnTimer() int CSplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CWnd::OnCreate(lpCreateStruct) == -1) return -1; CenterWindow(); //窗口居中显示 SetTimer(1, 750, NULL); //设置定时器 return 0; } //将键盘和鼠标消息传递给CSplashWnd对象,以销毁窗口BOOL CSplashWnd::PreTranslateAppMessage(MSG* pMsg) { if (c_pSplashWnd == NULL) return FALSE; if (pMsg->message == WM_KEYDOWN || pMsg->message == WM_SYSKEYDOWN || pMsg->message == WM_LBUTTONDOWN || pMsg->message == WM_RBUTTONDOWN || pMsg->message == WM_MBUTTONDOWN || pMsg->message == WM_NCLBUTTONDOWN || pMsg->message == WM_NCRBUTTONDOWN || pMsg->message == WM_NCMBUTTONDOWN) { c_pSplashWnd->HideSplashScreen(); return TRUE; } return FALSE; } void CSplashWnd::OnTimer(UINT nIDEvent) { HideSplashScreen(); } 再看看CWinApp和CMainFrame类中发生了什么样的改变: (1)在CWinApp::InitInstance()中调用CSplashWnd::EnableSplashScreen()设置c_bShowSplashWnd; 在PreTranslateMessage()中调用CSplashWnd::PreTranslateAppMessage(),将键盘和鼠标消息传递给CSplashWnd对象,从而进一步调用CSplashWnd::HideSplashScreen()实现SplashScreen窗口的自身销毁。 (2)在CMainFrame对象的OnCreate()中调用CSplashWnd::ShowSplashScreen()创建一个静态的SplashScreen窗口对象c_pSplashWnd,并设置其父窗口为CMainFrame。在这个过程中,CSplashWnd自身会通过创建来设置一个定时器,然后定时器在第一个周期触发时便调用HideSplashScreen()销毁自己。 (3) 而CMainFrame对象的窗口创建消息则是由CWinApp对象在InitInstance()中通过 m_pMainWnd->ShowWindow()调用触发的。 整个过程可以用下图表示,基本原理就是由CMainFrame来创建CSplashWnd,然后由CSplashWnd自己的定时器触发定时消息来销毁窗口。所以 CSplashWnd 的加入与SDI还是MDI都没有关系。 第二步,我们再来看看如何在基于对话框的工程中加入 SplashScreen。 通过对以上SDI工程中加入SplashScreen原理的剖析,我想大家也想到如何在基于对话框的工程中加入这一特性了。其实质就是由CDialog类完成SDI工程中CMainFrame类的工作,实现步骤如下: (1)利用ClassWizard为CMyDialog添加WM_CREATE消息的处理函数OnCreate();(这里使用CMyDialog是为了与函数内的基类名CDialog区别。) int CMyDialog::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDialog::OnCreate(lpCreateStruct) == -1) return -1; CSplashWnd::ShowSplashScreen(this); return 0; } (2)利用ClassWizard为CWinApp添加消息转发处理函数PreTranslateMessage(); BOOL CWinApp::PreTranslateMessage(MSG* pMsg) { if (CSplashWnd::PreTranslateAppMessage(pMsg)) return TRUE; return CWinApp::PreTranslateMessage(pMsg); } (3)CWinApp::InitInstance()中加入如下调用: CSplashWnd::EnableSplashScreen(TRUE); (4)当然你还需要将上一个SDI工程中生成的Splash.CPP与Splash.H文件拷贝到当前工程目录下,并利用Project->Add to Project->Files将这两个文件引入工程。同时还要在CWinApp与CMainFrame的实现文件中#include "Splash.H"。 (5)然后在资源管理器里添加一个ID为IDB_SPLASH的位图。由于VC++的IDE只能显示256色以下的位图,所以如果你想显示一幅真彩色的位图,就请用Import方式导入一幅预先制作好的位图。当然VC++会提示位图已经成功导入,只是无法在IDE的位图编辑器中显示,而在程序运行时就会显示了。如果你想象Word那样显示用户名等信息,可以在CSplashWnd::Create()中装载位图之后增加自己的代码来修改位图。

vbs sub abc() msgbox "aaa" end sub 这句为什么不能执行?

abc过程被调用才会执行哦,比如Private Sub Form_Load()Call abcEnd Sub

winlogon.exe无法找到组件,无法加载登录用户界面DLL msgina.dll

先还原一下看看吧!如果不行就重装系统!我怀疑你是用杀毒软件误杀,或者就是手动删除了系统文件!

layui中layer.msg用法?

layer.msg("提示信息",{配置参数},function(){回调行为}):大概如上了,具体可以参考官方手册

java的异常处理两种方式, super(msg);什么意思啊?

一、第一种定义方式,继承Exception类public class MyFirstException extends Exception {public MyFirstException() {super();}public MyFirstException(String msg) { super(msg);}public MyFirstException(String msg, Throwable cause) {super(msg, cause);}public MyFirstException(Throwable cause) {super(cause);}//自定义异常类的主要作用是区分异常发生的位置,当用户遇到异常时,//根据异常名就可以知道哪里有异常,根据异常提示信息进行修改。}二、 第二种定义方式:继承Throwable 类public class MySecondException extends Throwable {public MySecondException() {super();}public MySecondException(String msg) {super(msg);}public MySecondException(String msg, Throwable cause) {super(msg, cause);}public MySecondException(Throwable cause) {super(cause);}}

如何获取Ext.Msg.confirm的返回值

* Ext JS Library 2.0 RC 1 * zrmcsd@gmail.com * */ Ext.onReady(function(){ Ext.QuickTips.init(); function formatDate(value){ return value ? value.dateFormat("M d, Y") : ""; }; var fm = Ext.form; var checkColumn = new Ext.grid.CheckColumn({ header: "有效", dataIndex: "indoor", width: 55 }); var cm = new Ext.grid.ColumnModel([{ id:"doc_code", header: "文档编号", dataIndex: "doc_code", width: 220, hidden: true, // 隐藏列 editor: new fm.TextField({ allowBlank: false }) },{ id:"name", header: "名称", dataIndex: "name", width: 200, editor: new fm.TextField({ allowBlank: false }) },{ header: "说明", dataIndex: "label", width: 150, editor: new fm.TextField({ allowBlank: false }) },{ header: "菜单", dataIndex: "price", width: 120, editor: new fm.TextField({ allowBlank: false }) },{ header: "有效", dataIndex: "youx", width: 120, editor: new fm.TextField({ allowBlank: false }) } ]); // sortable cm.defaultSortable = true; var Plant = Ext.data.Record.create([ , , , , , ]); // create the Data Store var store = new Ext.data.Store({ // 载入自动生成的XML文件 xml文件格式 uft-8 url: "moudlexml.jsp", reader: new Ext.data.XmlReader({ record: "plant" }, Plant), sortInfo: }); // create the editor grid var grid = new Ext.grid.EditorGridPanel({ store: store, cm: cm, renderTo: "editor-grid", width:600, height:300, autoExpandColumn:"name", title:"模块管理", frame:true, plugins:checkColumn, //clicksToEdit:10,//设置点击几次才可编辑 selModel: new Ext.grid.RowSelectionModel(),//设置单行选中模式, 否则将无法删除数据 tbar: [{ tooltip:"Add Plant", iconCls:"add", text: "添加行", handler : function(){ var p = new Plant({ doc_code: "0", name: "", label:"", price:"", youx:"", indoor: false }); var n = grid.getStore().getCount();// 获得总行数 grid.stopEditing(); store.insert(n, p); grid.startEditing(n, 0); } }, "-", { text:"删除行", tooltip:"remove ", iconCls:"remove", handler : function(){ var rs1 = grid.getSelectionModel().getSelected();// 返回值为 Record 类型 grid.stopEditing(); if(rs1==undefined) { return;//判断记录集是否为空,为空返回 } Ext.MessageBox.confirm("确认删除", "你真的要删除所有用户信息吗?", function(btn) { if(btn == "yes") { // var rs1 = store.getAt(1); store.remove(rs1); grid.startEditing(0, 0); Ext.Msg.alert("友情提示","删除成功,很好很强大"); } else { //Ext.Msg.alert("您成功修改了用户信息", "被修改 "+rs1.get("name") );// 取得用户名 Ext.Msg.alert("友情提示","很天真,怎么不删"); } }); } },"-",{ text:"保存", tooltip:"Save item", iconCls:"option" }] }); // 单元格编辑后事件处理,暂不用 grid.on("afteredit", afterEdit, grid); function afterEdit(e) {// 事件处理函数 var record = e.record;// 被编辑的记录 Ext.Msg.wait("请等候", "修改中", "操作进行中..."); // 显示等待对话框 // 更新界面, 来真正删除数据 Ext.Msg.alert("您成功修改了用户信息", "被修改的用户是:" + e.record.get(e.field) + " 修改的字段是:" + e.field); }; //*****************************编辑窗口***************************************************************** var simple = new Ext.FormPanel({ renderTo:"form-grid",//inner到哪个容器中 labelWidth: 75, // label settings here cascade unless overridden url:"baododododododododo", frame:true, title: "编辑器", bodyStyle:"padding:5px 5px 0", width: 350, defaults: , defaultType: "textfield", items: [{ fieldLabel: "名称", name: "name_e", allowBlank:false },{ fieldLabel: "菜单", name: "label_e", allowBlank:false },{ fieldLabel: "说明", name: "price_e", allowBlank:false }, { fieldLabel: "是否有效", name: "youx_e" } ], buttons: [{ text: "保存", handler : function(){ Ext.Ajax.request({ url : "addrow.jsp" , params :"action=edit&name="+Ext.getDom("name_e").value, method: "GET", text: "Updating...", success: function ( result, request ) { var rs1 = grid.getSelectionModel().getSelected();// 返回值为 Record 类型 var p = new Plant({ doc_code: "0", name: Ext.getDom("name_e").value, label:Ext.getDom("label_e").value, price:Ext.getDom("price_e").value, youx:Ext.getDom("youx_e").value , indoor: false }); var n = store.indexOf(rs1);// 获得点击行的index //本来想用替换方法 试了几次不爽 还是自己的增删吧 store.insert( n , p); store.remove(rs1); Ext.MessageBox.alert("访问成功", "数据返回的数据 "+ result.responseText); }, failure: function ( result, request) { Ext.MessageBox.alert("访问失败", "失败了就没好说的了 (*^__^*) 嘻嘻……: "); } }); } },{ text: "取消" }] }); // 载入数据 store.load(); // 单元格单击后事件处理 grid.on("click", clickedit, grid); function clickedit(e) { var rs1 = grid.getSelectionModel().getSelected();// 返回当前行的记录集 //getDom 获取Dom元素的方法 Ext.getDom("name_e").value=rs1.get("name"); // Ext.getDom("label_e").value=rs1.get("label"); // Ext.getDom("price_e").value=rs1.get("price"); //说 Ext.getDom("youx_e").value=rs1.get("youx"); //是否有效 }; });

打开网页时显示这个,如何解决 { "error_code":31326, "error_msg"

我已经登录了,已经做到了你说的 可是为什麼还会显示出"error-code":31326,"error-msg"

怎么改变VB msgbox 消息框的颜色?

LZ好,1、"&"替换"+" 2、变量命名大小写,语句错落有秩,源代码维护方面 3、请养成以下的“对象命名约定”良好习惯 4、在简单的选择条件情况下,使用IIf()函数 5、尽量使用Debug.Print进行调试 6、在重复对某一对象的属性进行修改时,尽量使用With....End With 7、MsgBox中尽量使用消息图标,这样程序比较有规范 8、在可能的情况下使用枚举 1、"&"替换"+" 在很多人的编程语言中,用“+”来连接字符串,这样容易导致歧义。良好的习惯是用“&”来连接字符串. 不正确: Dim sMessage As String sMessage = "1" + "2" 正确: Dim sMessage As String sMessage = "1" & "2" 注意:"&"的后面有个空格 2、变量命名大小写,语句错落有秩,源代码维护方面 下面大家比较一下以下两段代码: 读懂难度很大的代码: Dim SNAME As String Dim NTURN As Integer If NTURN = 0 Then If SNAME = "vbeden" Then Do While NTURN < 4 NTURN = NTURN + 1 Loop End If End If 容易读懂的代码: Dim sName As String Dim nTurn As Integer If nTurn = 0 Then If sName = "vbeden" Then Do While nTurn < 4 nTurn = nTurn + 1 Loop End If End If [返回索引] 3、请养成以下的“对象命名约定”良好习惯 推荐使用的控件前缀 控件类型 前缀 例子 3D Panel pnl pnlGroup ADO Data ado adoBiblio Animated button ani aniMailBox Check box chk chkReadOnly Combo box, drop-down list box cbo cboEnglish Command button cmd cmdExit Common dialog dlg dlgFileOpen Communications com comFax Control (当特定类型未知时,在过程中所使用的) ctr ctrCurrent Data dat datBiblio Data-bound combo box dbcbo dbcboLanguage Data-bound grid dbgrd dbgrdQueryResult Data-bound list box dblst dblstJobType Data combo dbc dbcAuthor Data grid dgd dgdTitles Data list dbl dblPublisher Data repeater drp drpLocation Date picker dtp dtpPublished Directory list box dir dirSource Drive list box drv drvTarget File list box fil filSource Flat scroll bar fsb fsbMove Form frm frmEntry Frame fra fraLanguage Gauge gau gauStatus Graph gra graRevenue Grid grd grdPrices Hierarchical flexgrid flex flexOrders Horizontal scroll bar hsb hsbVolume Image img imgIcon Image combo imgcbo imgcboProduct ImageList ils ilsAllIcons Label lbl lblHelpMessage Lightweight check box lwchk lwchkArchive Lightweight combo box lwcbo lwcboGerman Lightweight command button lwcmd lwcmdRemove Lightweight frame lwfra lwfraSaveOptions Lightweight horizontal scroll bar lwhsb lwhsbVolume Lightweight list box lwlst lwlstCostCenters Lightweight option button lwopt lwoptIncomeLevel Lightweight text box lwtxt lwoptStreet Lightweight vertical scroll bar lwvsb lwvsbYear Line lin linVertical List box lst lstPolicyCodes ListView lvw lvwHeadings MAPI message mpm mpmSentMessage MAPI session mps mpsSession MCI mci mciVideo Menu mnu mnuFileOpen Month view mvw mvwPeriod MS Chart ch chSalesbyRegion MS Flex grid msg msgClients MS Tab mst mstFirst OLE container ole oleWorksheet Option button opt optGender Picture box pic picVGA Picture clip clp clpToolbar ProgressBar prg prgLoadFile Remote Data rd rdTitles RichTextBox rtf rtfReport Shape shp shpCircle Slider sld sldScale Spin spn spnPages StatusBar sta staDateTime SysInfo sys sysMonitor TabStrip tab tabOptions Text box txt txtLastName Timer tmr tmrAlarm Toolbar tlb tlbActions TreeView tre treOrganization UpDown upd updDirection Vertical scroll bar vsb vsbRate -------------------------------------------------------------------------------- 推荐使用的数据访问对象 (DAO) 的前缀 用下列前缀来指示数据访问对象 数据库对象 前缀 例子 Container con conReports Database db dbAccounts DBEngine dbe dbeJet Document doc docSalesReport Field fld fldAddress Group grp grpFinance Index ix idxAge Parameter prm prmJobCode QueryDef qry qrySalesByRegion Recordset rec recForecast Relation rel relEmployeeDept TableDef tbd tbdCustomers User usr usrNew Workspace wsp wspMine -------------------------------------------------------------------------------- 应用程序频繁使用许多菜单控件,对于这些控件具备一组唯一的命名约定很实用。除了最前面 "mnu" 标记以外,菜单控件的前缀应该被扩展:对每一级嵌套增加一个附加前缀,将最终的菜单的标题放在名称字符串的最后。下表列出了一些例子。 推荐使用的菜单前缀 菜单标题序列 菜单处理器名称 File Open mnuFileOpen File Send Email mnuFileSendEmail File Send Fax mnuFileSendFax Format Character mnuFormatCharacter Help Contents mnuHelpContents 当使用这种命名约定时,一个特定的菜单组的所有成员一个接一个地列在 Visual Basic 的“属性”窗口中。而且,菜单控件的名字清楚地表示出它们所属的菜单项。 为其它控件选择前缀 对于上面没有列出的控件,应该用唯一的由两个或三个字符组成的前缀使它们标准化,以保持一致性。只有当需要澄清时,才使用多于三个字符的前缀。 常量和变量命名约定 除了对象之外,常量和变量也需要良好格式的命名约定。本节列出了 Visual Basic 支持的常量和变量的推荐约定。并且讨论标识数据类型和范围的问题。 变量应该总是被定义在尽可能小的范围内。全局 (Public) 变量可以导致极其复杂的状态机构,并且使一个应用程序的逻辑非常难于理解。全局变量也使代码的重用和维护更加困难。 Visual Basic 中的变量可以有下列范围 范围 声明位置 可见位置 过程级 过程,子过程或函数过程中的 ‘Private" 在声明它的过程中 模块级 窗体或代码模块(.frm、.bas )的声明部分中的 ‘Private" 窗体或代码模块中的每一个过程 全局 代码模块(.bas)的声明部分中的 ‘Public" 应用程序中的每一处 在 Visual Basic 的应用程序中,只有当没有其它方便途径在窗体之间共享数据时才使用全局变量。当必须使用全局变量时,在一个单一模块中声明它们,并按功能分组。给这个模块取一个有意义的名称,以指明它的作用,如 Public.bas。 较好的编码习惯是尽可能写模块化的代码。例如,如果应用程序显示一个对话框,就把要完成这一对话任务所需要的所有控件和代码放在单一的窗体中。这有助于将应用程序的代码组织在有用的组件中,并减小它运行时的开销。 除了全局变量(应该是不被传递的),过程和函数应该仅对传递给它们的对象操作。在过程中使用的全局变量应该在过程起始处的声明部分中标识出来。此外,应该用 ByVal 将参数传递给 Sub 过程及 function 过程,除非明显地需要改变已传递的参数值。 随着工程大小的增长,划分变量范围的工作也迅速增加。在类型前缀的前面放置单字母范围前缀标明了这种增长,但变量名的长度并没有增加很多。 变量范围前缀 范围 前缀 例子 全局 g gstrUserName 模块级 m mblnCalcInProgress 本地到过程 无 dblVelocity 如果一个变量在标准模块或窗体模块中被声明为 Public,那么该变量具有全局范围。如果一个变量在标准模块或窗体模块中被分别声明为 Private,那么该变量有模块级范围。 注意: 一致性是卓有成效地使用这种技术的关键;Visual Basic 中的语法检查器不会捕捉以 "p." 开头的模块级变量。 常量 常量名的主体是大小写混合的,每个单词的首字母大写。尽管标准 Visual Basic 常量不包含数据类型和范围信息,但是象 i、s、g 和 m 这样的前缀对于理解一个常量的值和范围还是很有用的。对于常量名,应遵循与变量相同的规则。例如: mintUserListMax "对用户列表的最大限制 "(整数值,本地到模块) gstrNewLine "新行字符 "(字符串,应用程序全局使用) 变量 声明所有的变量将会节省编程时间,因为键入操作引起的错误减少了(例如,究竟是 aUserNameTmp,还是 sUserNameTmp,还是 sUserNameTemp)。在“选项”对话框的“编辑器”标签中,复选“要求变量声明”选项。Option Explicit 语句要求在 Visual Basic 程序中声明所有的变量。 应该给变量加前缀来指明它们的数据类型。而且前缀可以被扩展,用来指明变量范围,特别是对大型程序。 用下列前缀来指明一个变量的数据类型。 变量数据类型 数据类型 前缀 例子 String (字符串类型) str strFName Integer (短整数类型) int intQuantity Long (长整数类型) lng lngDistance Single (单精度浮点数类型) sng sngAverage Double (双精度浮点数类型) dbl dblTolerance Boolean (布尔类型) bln blnFound Byte (字节类型) byt bytRasterData Date (日期类型) dte dteNow Currency (货币计算与定点计算类型) cur curRevenue Object (对象类型) obj objCurrent Variant (变体类型) vnt vntCheckSum 描述变量和过程名 变量或过程名的主体应该使用大小写混合形式,并且应该足够长以描述它的作用。而且,函数名应该以一个动词起首,如 InitNameArray 或 CloseDialog。 对于频繁使用的或长的项,推荐使用标准缩略语以使名称的长度合理化。一般来说,超过 32 个字符的变量名在 VGA 显示器上读起来就困难了。 当使用缩略语时,要确保它们在整个应用程序中的一致性。在一个工程中,如果一会儿使用 Cnt, 一会儿使用 Count,将导致不必要的混淆。 用户定义的类型 在一项有许多用户定义类型的大工程中,常常有必要给每种类型一个它自己的三个字符的前缀。如果这些前缀是以 "u" 开始的,那么当用一个用户定义类型来工作时,快速识别这些类型是很容易的。例如,ucli 可以被用来作为一个用户定义的客户类型变量的前缀。 [返回索引] 4、在简单的选择条件情况下,使用IIf()函数 罗索的代码: If nNum = 0 Then sName = "sancy" Else sName = "Xu" End If 简单的代码: sName=IIf(nNum=0,"sancy","Xu") 5、尽量使用Debug.Print进行调试 在很多初学者的调试中,用MsgBox来跟踪变量值.其实用Debug.Print不仅可以达到同样的功效,而且在程序最后编译过程中,会被忽略.而MsgBox必须手动注释或删除. 通常: MsgBox nName 应该: Debug.Print nName 6、在重复对某一对象的属性进行修改时,尽量使用With....End With 通常: Form1.Height = 5000 Form1.Width = 6000 Form1.Caption = "This is MyLabel" 应该: With Form1 .Height = 5000 .Width = 6000 .Caption = "This is MyLabel" End With 这种结构程序执行效率比较高,特别在循环语句里。 7、MsgBox中尽量使用消息图标,这样程序比较有规范 一般来说 vbInformation 用来提示确认或成功操作的消息 vbExclamation 用来提示警告的消息 vbCritical 用来提示危机情况的消息 vbQuestion 用来提示询问的消息 [返回索引] 8、在可能的情况下使用枚举 枚举的格式为 [Public | Private] Enum name membername [= constantexpression] membername [= constantexpression] .... End Enum Enum 语句包含下面部分: 部分 描述 Public 可选的。表示该 Enum 类型在整个工程中都是可见的。Enum 类型的缺省情况是 Public。 Private 可选的。表示该 Enum 类型只在所声明的模块中是可见的。 name 必需的。该 Enum 类型的名称。name 必须是一个合法的 Visual Basic 标识符,在定义该 Enum 类型的变量或参数时用该名称来指定类型。 membername 必需的。用于指定该 Enum 类型的组成元素名称的合法 Visual Basic 标识符。 constantexpression 可选的。元素的值(为 Long 类型)。可以是别的 Enum 类型。如果没有指定 constantexpression,则所赋给的值或者是 0(如果该元素是第一个 membername),或者比其直接前驱的值大 1。 说明 所谓枚举变量,就是指用 Enum 类型定义的变量。变量和参数都可以定义为 Enum 类型。Enum 类型中的元素被初始化为 Enum 语句中指定的常数值。所赋给的值可以包括正数和负数,且在运行时不能改变。例如: Enum SecurityLevel IllegalEntry = -1 SecurityLevel1 = 0 SecurityLevel2 = 1 End Enum Enum 语句只能在模块级别中出现。定义 Enum 类型后,就可以用它来定义变量,参数或返回该类型的过程。不能用模块名来限定 Enum 类型。类模块中的 Public Enum 类型并不是该类的成员;只不过它们也被写入到类型库中。在标准模块中定义的 Enum 类型则不写到类型库中。具有相同名字的 Public Enum 类型不能既在标准模块中定义,又在类模块中定义,因为它们共享相同的命名空间。若不同的类型库中有两个 Enum 类型的名字相同,但成员不同,则对这种类型的变量的引用,将取决于哪一个类型库具有更高的引用优先级。 不能在 With 块中使用 Enum 类型作为目标。 Enum 语句示例 下面的示例演示用 Enum 语句定义一个命名常数的集合。在本例中是一些可以选择的颜色常数用于设计数据库的数据输入窗体。 Public Enum InterfaceColors icMistyRose = &HE1E4FF& icSlateGray = &H908070& icDodgerBlue = &HFF901E& icDeepSkyBlue = &HFFBF00& icSpringGreen = &H7FFF00& icForestGreen = &H228B22& icGoldenrod = &H20A5DA& icFirebrick = &H2222B2& End Enum 好处是加快编程速度 3590希望对你有帮助!

消息队列出现这个报错msgget: Permission denied怎么解决?

Permission denied 申请被拒绝

QQ文件夹下的Msg2.0.db、Registry.db、MicroBlogMsg.db等都是做什么用的?

0.0

返回参数 "errorcode":"0","errormsg":"success","data":true 怎么去java实

怎样签署保单

CanTxMsg TxMessage 是什么意思?

回答和翻译如下:Can Tx Msg Tx Message?可以发送消息吗?
 首页 上一页  1 2 3