visual studio2017 右击代码出现的菜单不全

图片说明
图片说明

视屏中出现的菜单(vs2015)比我的菜单(vs2017)出现的选项更过,如何解决?
是版本问题还是设置问题还是bug

4个回答

右键菜单又称为 上下文菜单,visual studio 会根据鼠标当前位置和程序运行状态弹出相应选项。
鼠标在空白处?在变量名上?在函数参数列表中?或者安装了第三方辅助插件?......
不同的情况显示的选项会有差别,这是正常情况,不是bug。

回到题目,如果后续使用visual studio 2017时没有异常情况,那就不是什么问题,正常使用就行。

如果对您有帮助,请采纳答案好吗,谢谢!

fight_in_dl
战在春秋 回复qq_31651207: 自定义上下文菜单时,可以加入调试目录下面的断点命令。但只能到这一级,插入跟踪点这个功能不能单独列出来。看下文档,再上机操作,就能理解了。
2 年多之前 回复
fight_in_dl
战在春秋 回复qq_31651207: 插入跟踪点这个功能在调试-------断点下面,详细可参考:https://msdn.microsoft.com/zh-cn/library/232dxah7(v=vs.80).aspx
2 年多之前 回复
qq_31651207
qq_31651207 在视图->工具栏->自定义->命令->上下文菜单 中可以设置上下文菜单,但是找不到 插入跟踪点 这个选项,为什么
2 年多之前 回复
fight_in_dl
战在春秋 总结来说就是,仅仅是右键菜单显示项不同,不能说明是设置问题,也不能说明是bug,还需要进一步的证据。极大概率是没有问题的
2 年多之前 回复

有没有人知道怎么设置跟踪点啊

那不是Bug来的,VS2017把许多功能都整合在(Ctrl+.)里面了,设置跟踪点,选择代码行F9就行了。

问题自己解决了,跟踪点是断点的一种,只要勾选如图所示的 操作 就可以把圆形的断点变为菱形的跟踪点
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
vs2015 cs文件和ashx文件 代码编辑器右键菜单不一样
cs文件下,右击代码 ![图片说明](https://img-ask.csdn.net/upload/201808/02/1533179089_106734.png) ashx文件下,右击代码 ![图片说明](https://img-ask.csdn.net/upload/201808/02/1533179239_418036.png) 都是C#,为什么出来的ashx没有“重命名”、“单元测试”等选项呢?怎么调成一样的
WPF DEV的GridControl用dataset绑定,有一列是ComboBox的数据绑定
WPF DEV的GridControl用dataset绑定其中有一列是ComboBox的下拉菜单. 因为我封装好了一个UpdateDataSet更新到数据库的方法,所以要用dataset绑定, gridControl.ItemsSource = Data.Tables[0].DefaultView; 问题1:因为用代码绑定的,所以怎么隐藏某一列? 问题2:有一列是ComboBox,怎么绑定数据?
VS2010资源视图中修改了菜单和工具栏并正确编译后,程序出现的和编辑的不一样
用VS2010编写程序出现以下情况: 1 资源视图中工具栏中添加了几个处理按钮,绘制了相应的图案,并编写了相应的处理程序, 编译后,发现实际运行的程序,工具栏中图案的顺序和我自己画的完全不一样,可以说毫无规律,但是执行的代码都是正确的,重新调整也没用,无论怎么调都是第一次编译看到的那个样子,新添按钮,能出现,但是依然顺序是混乱的。 2 以上问题出现后,自己没找到解决方案,好在程序正确执行,只是工具栏顺序不是预期的,也就罢了。 3 今天又在菜单上出现了问题,已经编译好的一个菜单功能,改了一下菜单文字,但是无论如何编译,运行起来都是以前的那个文字。 自己已经无数次确认修改后已经正确编译,且工具栏和菜单执行的动作都是预期的,不存在编译失败运行了上一次成功编译版本的问题。 网上查居然没发现与我类似问题的,是不是我这个VS2010有问题?请高手指点,多谢了
请问大家c#窗体设计菜单打开文件功能时打不开想要打开的文件是为什么?
请问大家c#窗体设计菜单打开文件功能时打不开想要打开的文件是为什么 代码 private void 打开ToolStripMenuItem_Click(object sender, EventArgs e) { fileName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);//获取文件位置 richTextBox.LoadFile(fileName + @"\tt.txt"); } private void 保存ToolStripMenuItem_Click(object sender, EventArgs e) { fileName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);//获取文件位置 richTextBox.SaveFile(fileName + "\\tt.txt"); }
VB 怎么在多选文件后,右键菜单打开程序为只运行一个EXE?
我自己写了注册表,让鼠标右键点击一个文件时,增加了一项“我的应用”到ContextMenu。 现在我的问题是,我选中一个文件,这样右键操作,则运行“我的应用“一次。 但是,如果我多选文件,再这样右键操作,则会运行”我的应用“N次。 我想问,有没有办法能在我多选的时候,让”我的应用“只运行一次且获得我多选的所有文件的命令行参数(这个文件的绝对路径)。求VB解决方案,最好有代码实例,万分感谢! 我自己已经查了很多,比如shell拓展,进程间通信,但是可能是我悟性不够,没太懂。 上面表述也许不够清楚,具体想实现的例子就是像 压缩软件 在多选文件压缩的时候的那个”添加到压缩文件“的效果。 ![图片说明](https://img-ask.csdn.net/upload/201908/15/1565869374_726449.png)
vs2013出问题求救,不知道为什么添加代码后release下不给编译
我用vs2013做了个程序,c语音的,前几天都没有问题,今天不知道为什么vs2013出问题了,具体就是我程序里有个右键弹出菜单的功能,我再给它添加了两个菜单,release下编译没有将我后来写的代码编译,没有进行相应,我另开一个项目加个右键弹出菜单测试正常,再回到我的程序还有没有编译,请问怎么回事啊?
在vs2010中利用mfc写一个连连看游戏时各种资源窗口啥的等都报“未声明的标识符”问题
写这个连连看游戏刚开始导入各种资源文件改好ID后运行正常,但通过进一步的编程后不知道为什么开始报各种”未声明的标识符“bug(可能中途改了一些什么设置.....),现项目最近运行的log文件如下: ``` 生成启动时间为 2016/5/26 17:37:08。 1>项目“C:\Users\Aliez\documents\visual studio 2010\Projects\Lianliankan\LLK\LLK.vcxproj”在节点 2 上(build 个目标)。 1>InitializeBuildStatus: 正在对“Debug\LLK.unsuccessfulbuild”执行 Touch 任务。 ClCompile: 所有输出均为最新。 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D _UNICODE /D UNICODE /D _AFXDLL /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yc"StdAfx.h" /Fp"Debug\LLK.pch" /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt stdafx.cpp stdafx.cpp C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D _UNICODE /D UNICODE /D _AFXDLL /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yu"StdAfx.h" /Fp"Debug\LLK.pch" /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt GameControl.cpp GameDlg.cpp GameLogic.cpp LLK.cpp LLKDlg.cpp LLKDlg.cpp 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.h(14): error C2065: “IDD_LLK_DIALOG”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.h(14): error C2146: 语法错误: 缺少“;”(在标识符“m_GameC”的前面) 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.h(14): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.h(14): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.h(17): error C2065: “IDD_GAME_DIALOG”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(23): error C2065: “IDD_ABOUTBOX”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(54): error C2065: “IDR_MAINFRAME”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(66): error C2065: “IDC_BTN_BASIC”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(66): error C2065: “IDC_BTN_BASIC”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(67): error C2065: “IDC_BTN_BASIC”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(67): error C2065: “IDC_BTN_BASIC”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(79): error C2065: “IDM_ABOUTBOX”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(79): error C2065: “IDM_ABOUTBOX”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(80): error C2065: “IDM_ABOUTBOX”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(87): error C2065: “IDS_ABOUTBOX”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(92): error C2065: “IDM_ABOUTBOX”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(108): error C2065: “IDM_ABOUTBOX”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\llkdlg.cpp(161): error C2065: “IDB_MAIN_BG”: 未声明的标识符 LLK.cpp GameLogic.cpp 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamelogic.cpp(15): error C2653: “CGameControl”: 不是类或命名空间名称 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamelogic.cpp(15): error C2065: “s_nRows”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamelogic.cpp(16): error C2653: “CGameControl”: 不是类或命名空间名称 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamelogic.cpp(16): error C2065: “s_nCols”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamelogic.cpp(17): error C2653: “CGameControl”: 不是类或命名空间名称 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamelogic.cpp(17): error C2065: “s_nPicNum”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamelogic.cpp(70): error C2653: “CGameControl”: 不是类或命名空间名称 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamelogic.cpp(70): error C2065: “s_nRows”: 未声明的标识符 GameDlg.cpp 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.h(14): error C2146: 语法错误: 缺少“;”(在标识符“m_GameC”的前面) 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.h(14): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.h(14): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.h(17): error C2065: “IDD_GAME_DIALOG”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(32): error C2065: “IDB_Game_BG”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(41): error C2065: “IDC_BTN_START”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(41): error C2065: “IDC_BTN_START”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(54): error C2065: “IDR_MAINFRAME”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(55): error C2065: “IDR_MAINFRAME”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(109): error C2065: “CGameControl”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(109): error C2146: 语法错误: 缺少“;”(在标识符“ctr”的前面) 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(109): error C2065: “ctr”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(110): error C2065: “ctr”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(110): error C2228: “.StartGame”的左边必须有类/结构/联合 类型是“'unknown-type'” 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(116): error C2653: “CGameControl”: 不是类或命名空间名称 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(116): error C2065: “s_nRows”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(117): error C2653: “CGameControl”: 不是类或命名空间名称 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(117): error C2065: “s_nCols”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(125): error C2065: “m_GameC”: 未声明的标识符 1>c:\users\Aliez\documents\visual studio 2010\projects\lianliankan\llk\gamedlg.cpp(125): error C2228: “.GetElement”的左边必须有类/结构/联合 类型是“'unknown-type'” GameControl.cpp 正在生成代码... 1>已完成生成项目“C:\Users\Aliez\documents\visual studio 2010\Projects\Lianliankan\LLK\LLK.vcxproj”(build 个目标)的操作 - 失败。 生成失败。 已用时间 00:00:15.03 ``` 有关LLKDlg.cpp代码如下: ``` // LLKDlg.cpp : 实现文件 // #include "stdafx.h" #include "LLKDlg.h" #include "afxdialogex.h" #include <afxwin.h> #include "GameDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // 用于应用程序“关于”菜单项的 CAboutDlg 对话框 class CAboutDlg : public CDialogEx { public: CAboutDlg(); // 对话框数据 enum { IDD =IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 // 实现 protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP() // CLLKDlg 对话框 CLLKDlg::CLLKDlg(CWnd* pParent /*=NULL*/) : CDialogEx(CLLKDlg::IDD, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CLLKDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CLLKDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BTN_BASIC, &CLLKDlg::OnBnClickedBtnBasic) ON_BN_CLICKED(IDC_BTN_BASIC, &CLLKDlg::OnBnClickedBtnBasic) END_MESSAGE_MAP() // CLLKDlg 消息处理程序 BOOL CLLKDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 将“关于...”菜单项添加到系统菜单中。 InitBackground(); // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 return TRUE; // 除非将焦点设置到控件,否则返回 TRUE } void CLLKDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) ==IDM_ABOUTBOX)//IDM_ABOUTBOX { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialogEx::OnSysCommand(nID, lParam); } } // 如果向对话框添加最小化按钮,则需要下面的代码 // 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序, // 这将由框架自动完成。 void CLLKDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // 使图标在工作区矩形中居中 int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // 绘制图标 dc.DrawIcon(x, y, m_hIcon); } else {//创建CPanitDC对象 CPaintDC dc(this); dc.BitBlt(0,0,800,600,&m_dcMem,0,0,SRCCOPY);//绘制背景图片 CDialogEx::OnPaint(); } } //当用户拖动最小化窗口时系统调用此函数取得光标 //显示。 HCURSOR CLLKDlg::OnQueryDragIcon() { return static_cast<HCURSOR>(m_hIcon); } void CLLKDlg::InitBackground() { CClientDC dc(this);//获得对话框的视频内存 CBitmap bmpMain; bmpMain.LoadBitmap(IDB_MAIN_BG); m_dcMem.CreateCompatibleDC(&dc);//创建与视频内存兼容的内存DC m_dcMem.SelectObject(bmpMain);//将位图组员选入DC //调整窗口大小 CRect rtWin; CRect rtClient; this->GetWindowRect(rtWin);//获得窗口大小 this->GetClientRect(rtClient);//获得客户区大小 //标题栏和外边框的大小 int nSpanWidth = rtWin.Width()-rtClient.Width(); int nSpanHeight = rtWin.Height()-rtClient.Height(); //设置窗口大小 MoveWindow(0,0,800+nSpanWidth,600 + nSpanHeight); CenterWindow(); } void CLLKDlg::OnBnClickedBtnBasic() { // TODO: 在此添加控件通知处理程序代码 CDialogEx::ShowWindow(SW_HIDE); CGameDlg dlg; dlg.DoModal(); } ``` ![图片说明](https://img-ask.csdn.net/upload/201605/26/1464256700_607782.png) 总之希望解决这里各种报”未声明的标识符“问题,有关资源ID我都已经改过与代码中一致了,然而....... 因为老师布置作业要求入了mfc这个坑,请各位前辈菊苣指教,万分感谢.....
关于VS2010 从别的机器上拷贝的代码到我的机器上不能运行的问题
是这样的 我有一套 项目源码 在当初写的 机器上能编译通过 但是 拷贝到我机器上后 却不能运行 编译的时候提示我这样的问题 (只举例一个 出现很多 找不到头文件的问题 这些头文件是项目中的 非系统头文件 自己写的) MOC AddInGroup.h 系统找不到指定的路径。 ---------------------------- 但是在我的解决方案管理器中 却又能看到头文件 而且 #include 《AddInGroup.h》 也不出红色的波浪线 我也按照网上的方法 尝试过 在点菜单栏的 项目-》属性-》配置属性-》包含目录 中 添加了 头文件 路径 也不行 也尝试过 删除 。user文件 后 重新生成解决方案 但是 编译的时候依然 提示我找不到 系统找不到指定的路径。 下面跟一个文件名 不知道为什么会这样 ![图片说明](https://img-ask.csdn.net/upload/201602/23/1456216749_478633.png) ![图片说明](https://img-ask.csdn.net/upload/201602/23/1456216783_573106.png) 还有这种错误 ![图片说明](https://img-ask.csdn.net/upload/201602/23/1456217377_997449.png) 也在系统环境变量中 PATH中添加过 但是依然说 找不到 或者 无法打开包括文件
怎样设置menu控件的子菜单的单击事件
请问怎样设置menu控件的子菜单的单击事件?![图片说明](https://img-ask.csdn.net/upload/201812/24/1545636966_904606.png) 我使用的是vs2012,当我点击这个控件的时候,只是弹出了整体的单击事件代码,如下 protected void Menu1_MenuItemClick(object sender, MenuEventArgs e) { Panel1.Visible = true; } 我想分别设置使用手机登录和使用其他客户端的单击事件,请问这要怎样设置?
VS2013MFC怎么在原有对话框下加菜单
CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } 找到的代码如下,看不太懂,可以解释一下吗 而且运行不报错,但没有对话框不显示菜单
VS2010 MFC登录对话框打开数据库失败后意外出现主界面的问题
用VS2010 MFC建立了一个主界面为对话框的函数,要求需要登录对话框,且通过读取数据库来校验用户,代码如下: BOOL CManagementDlg::OnInitDialog()//主对话框初始函数 { CDialogEx::OnInitDialog(); _CLogInDlg dlgLogin; if(dlgLogin.DoModal() != IDOK)//登录对话框 { OnOK(); return TRUE; }_ // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 ShowWindow(SW_MAXIMIZE); // TODO: 在此添加额外的初始化代码 return TRUE; // 除非将焦点设置到控件,否则返回 TRUE } 登录对话框响应登录按钮的代码如下: void CLogInDlg::OnClickedButtonLogin() { // TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); if(m_strLogUser.GetLength() == 0) { MessageBox(_T("请输入用户名!")); return; } CManagementDlg *pdlgMain = (CManagementDlg *)theApp.m_pMainWnd; CString strDataSource; CString strInitCatalog; CString strUser; CString strPassword; CString strTableName = _T(TABLE_NAME_STAFF); CAdoDBControl myAdoControl;//对象声明 CString strShow; UINT iGet = 0; iGet = CAdoDBControl::GetDbCfgFromIniFile(); if(iGet & INI_USERID_MISSING) { strShow.Format(_T("配置文件%s中未找到数据库用户名"), _T(INI_FILE_NAME)); MessageBox(strShow); return; } if(iGet & INI_PWD_MISSING) { strShow.Format(_T("配置文件%s中未找到数据库用户密码"), _T(INI_FILE_NAME)); MessageBox(strShow); return; } if(iGet & INI_DATASOURCE_MISSING) { strShow.Format(_T("配置文件%s中未找到数据库主机名"), _T(INI_FILE_NAME)); MessageBox(strShow); return; } if(iGet & INI_INITCATALOG_MISSING) { strShow.Format(_T("配置文件%s中未找到数据库名"), _T(INI_FILE_NAME)); MessageBox(strShow); return; } if(iGet & INI_FILE_MISSING) { strShow.Format(_T("配置文件%s未找到"), _T(INI_FILE_NAME)); MessageBox(strShow); return; } CAdoDBControl::GetDbCfg(strUser, strPassword, strDataSource, strInitCatalog); CString strSql; strSql.Format(_T("Provider=SQLOLEDB.1;Data Source=%s;User ID=%s;Password=%s;Initial Catalog=%s;Persist Security Info=FALSE"), strDataSource, strUser, strPassword, strInitCatalog); _int iResult = myAdoControl.Open(strSql.AllocSysString(), adModeUnknown); if(ADO_DB_SUCCESSFUL != iResult) { return; }_ strSql.Format(_T("SELECT * FROM %s WHERE 用户名='%s'"), strTableName, m_strLogUser); vector<vector<_variant_t>> vSelectResult = myAdoControl.Select(strSql.AllocSysString()); myAdoControl.Close(); int iFindNumber = vSelectResult.size(); if(iFindNumber < 1) { CString strMsg; strMsg.Format(_T("用户%s不存在"), m_strLogUser); MessageBox(strMsg); return; } _variant_t vUser = vSelectResult[0][STAFF_USERNAME_COLUMN]; _variant_t vPwd = vSelectResult[0][STAFF_PASSWORD_COLUMN]; CString strUserFromSql = (LPCTSTR)_bstr_t(vUser); CString strPwdFromSql = (LPCTSTR)_bstr_t(vPwd); if((!strUserFromSql.CompareNoCase(m_strLogUser)) && (strPwdFromSql == m_strLogPwd)) { pdlgMain->m_stCurUser.m_strUserName = strUserFromSql; _variant_t vElement = vSelectResult[0][STAFF_NO_COLUMN]; pdlgMain->m_stCurUser.m_strStaffNo = (LPCTSTR)_bstr_t(vElement); vElement = vSelectResult[0][STAFF_REALNAME_COLUMN]; pdlgMain->m_stCurUser.m_strRealName = (LPCTSTR)_bstr_t(vElement); vElement = vSelectResult[0][STAFF_AUTHORITY_COLUMN]; pdlgMain->m_stCurUser.m_strAuthority = (LPCTSTR)_bstr_t(vElement); OnOK(); } else { MessageBox(_T("密码错误")); } } 为了使按回车键和点击登录按钮的功能一样,添加如下代码: BOOL CLogInDlg::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if(WM_KEYDOWN == pMsg->message) { if(VK_RETURN == pMsg->wParam) { OnClickedButtonLogin(); return FALSE; } } return CDialogEx::PreTranslateMessage(pMsg); } 打开数据库的代码如下: int CAdoDBControl::Open(BSTR ConnectionString, long Options ) { if( FAILED( m_pConnection.CreateInstance(__uuidof(Connection)) ) ) //初始化Connection指针 { return ADO_DB_CREATE_FAIL; } try { m_pConnection->Open(ConnectionString, "", "", Options); } catch(_com_error e) { AfxMessageBox(e.Description()); return ADO_DB_OPEN_FAIL; } return ADO_DB_SUCCESSFUL; } 运行函数时,故意将数据库配置写错,在填写完用户名和密码后点击登录按钮,那么约10秒以后,程序报错“[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。”,点击确定后,返回登录对话框。重复多次操作,依然如此。程序此时是正常的。 但是,如果在填写完用户名和密码后,用回车方式登录,此时依然报错“[DBNETLIB][ConnectionOpen (Connect()).]SQL Server不存在或拒绝访问。”,但是在点击 确定后,登录对话框会消失,并且弹出主界面,且主界面不响应鼠标点击任何按钮,且主界面不是我想要的主界面(比如正常登录的主界面是最大化的,而此时出现 的主界面不是最大化的),此问题100%复现。 请问各位达人,这是怎么回事?有何解决办法?
vs2010里,无法解析的外部符号 protected: void __thiscall
按论坛的教程编程串口,错误提示: yyyzzzDlg.obj : error LNK2001: 无法解析的外部符号 "protected: void __thiscall CyyyzzzDlg::OnStnClickedStatic4(void)" (?OnStnClickedStatic4@CyyyzzzDlg@@IAEXXZ) c:\users\yz980\documents\visual studio 2010\Projects\yyyzzz\Debug\yyyzzz.exe : fatal error LNK1120: 1 个无法解析的外部命令 程序: // yyyzzzDlg.cpp : 实现文件 // #include "stdafx.h" #include "yyyzzz.h" #include "yyyzzzDlg.h" #include "afxdialogex.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // 用于应用程序“关于”菜单项的 CAboutDlg 对话框 class CAboutDlg : public CDialogEx { public: CAboutDlg(); // 对话框数据 enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 // 实现 protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP() // CyyyzzzDlg 对话框 CyyyzzzDlg::CyyyzzzDlg(CWnd* pParent /*=NULL*/) : CDialogEx(CyyyzzzDlg::IDD, pParent) , m_EditReceive(_T("")) , m_EditSend(_T("")) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CyyyzzzDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_EditReceive); DDX_Text(pDX, IDC_EDIT2, m_EditSend); DDX_Control(pDX, IDC_COMBO1, m_comb1); DDX_Control(pDX, IDC_COMBO2, m_cob2); DDX_Control(pDX, IDC_MSCOMM1, m_mscom); } BEGIN_MESSAGE_MAP(CyyyzzzDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON_OPEN, &CyyyzzzDlg::OnBnClickedButtonOpen) ON_BN_CLICKED(IDC_BUTTON_SEND, &CyyyzzzDlg::OnBnClickedButtonSend) ON_BN_CLICKED(IDC_BUTTON_CLEAR, &CyyyzzzDlg::OnBnClickedButtonClear) ON_BN_CLICKED(IDC_BUTTON_CLOSE, &CyyyzzzDlg::OnBnClickedButtonClose) ON_STN_CLICKED(IDC_STATIC4, &CyyyzzzDlg::OnStnClickedStatic4) END_MESSAGE_MAP() // CyyyzzzDlg 消息处理程序 BOOL CyyyzzzDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 // 串口选择组合框 CString str; int i; for(i = 0; i < 15; i++) { str.Format(_T("COM %d"), i+1); m_comb1.InsertString(i, str); //将COM 1-15填入comb1 } m_comb1.SetCurSel(0); //预置为COM 1 //波特率选择组合框 CString str1[]={_T("300"),_T("600"),_T("1200"),_T("2400"),_T("4800"),_T("9600"), _T("19200"),_T("38400"),_T("43000"),_T("56000"),_T("57600"),_T("115200")}; for(i = 0; i < 12; i++) { int judge_tf = m_cob2.AddString(str1[i]); if((judge_tf == CB_ERR) || (judge_tf == CB_ERRSPACE)) MessageBox(_T("Build baud error!")); } m_cob2.SetCurSel(5); //预置波特率为9600 return TRUE; // 除非将焦点设置到控件,否则返回 TRUE } // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 return TRUE; // 除非将焦点设置到控件,否则返回 TRUE } void CyyyzzzDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialogEx::OnSysCommand(nID, lParam); } } // 如果向对话框添加最小化按钮,则需要下面的代码 // 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序, // 这将由框架自动完成。 void CyyyzzzDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // 使图标在工作区矩形中居中 int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // 绘制图标 dc.DrawIcon(x, y, m_hIcon); } else { CDialogEx::OnPaint(); } } //当用户拖动最小化窗口时系统调用此函数取得光标 //显示。 HCURSOR CyyyzzzDlg::OnQueryDragIcon() { return static_cast<HCURSOR>(m_hIcon); } void CyyyzzzDlg::OnBnClickedButtonOpen() { CString str, str1, n; GetDlgItemText(IDC_BUTTON_OPEN, str); //str获得与对话框中的控件相关的标题或文本 CWnd *h1; //窗口类的基类 h1 = GetDlgItem(IDC_BUTTON_OPEN); //指向控件的caption //串口为关闭状态 if(!m_mscom.get_PortOpen()) { m_cob2.GetLBText(m_cob2.GetCurSel(), str1); //取得所选的字符串,并存放在str1里面 str1 = str1+','+'n'+','+'8'+','+'1'; m_mscom.put_CommPort(m_comb1.GetCurSel()+1); //选择串口 m_mscom.put_InputMode(1); //设置输入方式为二进制方式 m_mscom.put_Settings(str1); //comb2选择的波特率,无校验,8数据位,1个停止位 m_mscom.put_InputLen(1024); //设置当前接收区数据长度为1024 m_mscom.put_RThreshold(1); //缓冲区一个字符引发事件 m_mscom.put_RTSEnable(1); //设置RT允许 m_mscom.put_PortOpen(true); //打开串口 //打开成功 if(m_mscom.get_PortOpen()) { str = _T("关闭串口"); UpdateData(true); //把控件中的值和变量进行交换 h1->SetWindowText(str); //改变按钮名称为‘’关闭串口”,提供关闭操作 } } //串口为打开状态 else { m_mscom.put_PortOpen(false); //关闭串口 //关闭成功 if(str != _T("打开串口")) { str = _T("打开串口"); UpdateData(true); h1->SetWindowText(str); //更新数据后,提供打开操作 } } } void CyyyzzzDlg::OnBnClickedButtonSend() { UpdateData(true); //更新控件数据 m_mscom.put_Output(COleVariant(m_EditSend));//把发送编辑框的数据发送出去 } void CyyyzzzDlg::OnBnClickedButtonClear() { m_EditReceive = _T(""); //给接收编辑框发送空格符 UpdateData(false); //根据数据状态反馈给控件 } void CyyyzzzDlg::OnBnClickedButtonClose() { //若当前串口为打开 if(m_mscom.get_PortOpen()) m_mscom.put_PortOpen(false); //置为关闭 CDialogEx::OnCancel(); } BEGIN_EVENTSINK_MAP(CyyyzzzDlg, CDialogEx) ON_EVENT(CyyyzzzDlg, IDC_MSCOMM1, 1, CyyyzzzDlg::OnCommMscomm1, VTS_NONE) END_EVENTSINK_MAP() void CyyyzzzDlg::OnCommMscomm1() { //接收缓冲区有数据 if(m_mscom.get_CommEvent() == 2) { char str[1024] = {0}; //缓冲区最大为1024 long k; VARIANT InputData = m_mscom.get_Input(); //读入缓冲区 COleSafeArray fs; fs = InputData; //VARIANT型变À量转换为COleSafeArray型变量 for(k = 0; (size_t)k < fs.GetOneDimSize(); k++) { fs.GetElement(&k, str+k); //转换为BYTE型数组 } m_EditReceive += str; //接收到编辑框里面 //SetTimer(1, 10, NULL); //延时10ms UpdateData(false); //将数据在屏幕中对应控件中显示出来。 } }
大神!求助!初学!C++想编写一个基于命令提示符的日记本
初学C++想编写一个基于命令提示符的日记本代码没有报错,但是程序不能按步骤执行。 菜单项 1、写日记 2、查看历史(暂时不实现) 3、退出 编译环境用的visual studio 2013 代码如下: /* menu input save */ #include <iostream> using namespace std; const int d_array=20; void diary_menu(); int judge_dparameter(); void cycle_menu(int x); void diary_write(); int main() { int t_a = 0; diary_menu(); t_a = judge_dparameter(); cycle_menu(t_a); //receive parameter excution step //judge,excution cin >>t_a; } //input menu void diary_menu() { cout << "***1、写日记 ***" << endl; cout << "***2、查看日记***" << endl; cout << "***3、退出 ***" << endl<<endl; } int judge_dparameter() //judge parameter { int a=0 ; cout << "a的范围:0<a<4" << endl << "请输入a:"; cin >> a; while ((a>0 && a <= 3) == 0) { cout <<"你输入的值不正确,请重新输入"<<endl<< "a的范围:0<a<4" << endl << "请输入a:"; cin >> a; } return a; } void cycle_menu(int x) { while (x != 3) { switch (x) { case 1: { diary_write(); }; break; /*case 2: { }; break;*/ default: break; } } } void diary_write() { char diary_array[d_array]; //Cycle the input string for (int t_a = 0; t_a<d_array; ++t_a) { cin.get(diary_array, d_array); } }
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载 点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。 ...
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体...
源码阅读(19):Java中主要的Map结构——HashMap容器(下1)
HashMap容器从字面的理解就是,基于Hash算法构造的Map容器。从数据结构的知识体系来说,HashMap容器是散列表在Java中的具体表达(并非线性表结构)。具体来说就是,利用K-V键值对中键对象的某个属性(默认使用该对象的“内存起始位置”这一属性)作为计算依据进行哈希计算(调用hashCode方法),然后再以计算后的返回值为依据,将当前K-V键值对在符合HashMap容器构造原则的基础上,放置到HashMap容器的某个位置上,且这个位置和之前添加的K-V键值对的存储位置完全独立,不一定构成连续的存储
c++制作的植物大战僵尸,开源,一代二代结合游戏
此游戏全部由本人自己制作完成。游戏大部分的素材来源于原版游戏素材,少部分搜集于网络,以及自己制作。 此游戏为同人游戏而且仅供学习交流使用,任何人未经授权,不得对本游戏进行更改、盗用等,否则后果自负。目前有六种僵尸和六种植物,植物和僵尸的动画都是本人做的。qq:2117610943 开源代码下载 提取码:3vzm 点击下载--&gt; 11月28日 新增四种植物 统一植物画风,全部修...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
Python 基础(一):入门必备知识
Python 入门必备知识,你都掌握了吗?
深度学习图像算法在内容安全领域的应用
互联网给人们生活带来便利的同时也隐含了大量不良信息,防范互联网平台有害内容传播引起了多方面的高度关注。本次演讲从技术层面分享网易易盾在内容安全领域的算法实践经验,包括深度...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程实用技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法,并会持续更新。
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
"狗屁不通文章生成器"登顶GitHub热榜,分分钟写出万字形式主义大作
前言 GitHub 被誉为全球最大的同性交友网站,……,陪伴我们已经走过 10+ 年时间,它托管了大量的软件代码,同时也承载了程序员无尽的欢乐。 上周给大家分享了一篇10个让你笑的合不拢嘴的Github项目,而且还拿了7万+个Star哦,有兴趣的朋友,可以看看, 印象最深刻的是 “ 呼吸不止,码字不停 ”: 老实交代,你是不是经常准备写个技术博客,打开word后瞬间灵感便秘,码不出字? 有什么
推荐几款比较实用的工具,网站
1.盘百度PanDownload 这个云盘工具是免费的,可以进行资源搜索,提速(偶尔会抽风????) 不要去某站买付费的???? PanDownload下载地址 2.BeJSON 这是一款拥有各种在线工具的网站,推荐它的主要原因是网站简洁,功能齐全,广告相比其他广告好太多了 bejson网站 3.二维码美化 这个网站的二维码美化很好看,网站界面也很...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
Spring Security 实战干货:基于注解的接口角色访问控制
1. 前言 欢迎阅读 Spring Security 实战干货[1] 系列文章 。在上一篇 基于配置的接口角色访问控制[2] 我们讲解了如何通过 javaConfig 的方式配置接口的角色访问控制。其实还有一种更加灵活的配置方式 基于注解 。今天我们就来探讨一下。DEMO 获取方式在文末。 2. Spring Security 方法安全 Spring Security 基于注解的安全...
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
碎片化的时代,如何学习
今天周末,和大家聊聊学习这件事情。 在如今这个社会,我们的时间被各类 APP 撕的粉碎。 刷知乎、刷微博、刷朋友圈; 看论坛、看博客、看公号; 等等形形色色的信息和知识获取方式一个都不错过。 貌似学了很多,但是却感觉没什么用。 要解决上面这些问题,首先要分清楚一点,什么是信息,什么是知识。 那什么是信息呢? 你一切听到的、看到的,都是信息,比如微博上的明星出轨、微信中的表情大战、抖音上的...
相关热词 c# 输入ip c# 乱码 报表 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件
立即提问