- 博客(152)
- 收藏
- 关注
原创 FreeBSD安装python网络库 - urllib3
root@iZ234nvf986Z:/usr/ports # pkg search urllib3py27-urllib3-1.22 HTTP library with thread-safe connection pooling, file post, and morepy36-urllib3-1.22 HTTP library with ...
2018-06-04 19:25:56
655
转载 FreeBSD本地化
查看系统支持的所有地域$ locale -a显示所有系统支持的地域化信息,结构为语言码_国家码.编码方式,如:zh_CN.GB18030zh_CN.GB2312zh_CN.GBKzh_CN.UTF-8附,查看当前地域配置$ localeshell配置文件方案 每个用户可能需独立配置sh 修改~/.profile文件,增加LANG=zh_CN.U...
2018-06-04 17:11:09
1002
转载 欢迎使用优快云-ma12rkdown编辑器
你可能会因为种种原因而想在 FreeBSD 服务器上彻底禁用 sendmail,那么你可以尝试这样∶1,如果你不想重新启动服务器的话(应急措施)∶# killall sendmail2,如果你想让 sendmail 在启动的时候就不做任何行为的话,你需要把以下这几行加入到 /etc/rc.conf 中∶sendmail_enable="NONE"sendmail_submit_...
2018-05-16 17:16:17
300
原创 MFC单文档视图拆分窗口
第一步:准备2个视图类(如CTViewOne, CTViewTwo)第二步:在CMainFrame类的头文件中添加数据成员变量://MainFrm.hprotected: CSplitterWnd m_wndSplitter;第三步:重载CMainFrame类的OnCreateClient函数:BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT l
2015-05-03 22:45:34
1949
原创 DLL中使用FindResource失败的问题
// GDI+ Image通过资源ID构建对象// 从资源里读取图像,保存到Gdiplus::Image对象BOOL CGui::ImageFromIDResource(UINT nID, LPCTSTR sTR, OUT Gdiplus::Image * & pImg){ HINSTANCE hInst = AfxGetResourceHandle(); HRSRC hRsr
2015-05-02 00:11:46
5964
原创 GDI+ 平铺图像
CDC *pDC = GetDC();Gdiplus::Graphics graphics(pDC->m_hDC);Gdiplus::Image SImage(L"F:\\bg.png");Gdiplus::TextureBrush textureBrush(&SImage, Gdiplus::WrapModeTile);CRect rectWindow;GetWindowRect(
2015-05-01 22:05:51
604
原创 VC对话框嵌套对话框
m_ToolBarDlg.Create(CToolBarDlg::IDD, this);m_ToolBarDlg.ModifyStyle(m_ToolBarDlg.GetStyle(), WS_CHILD, 0);m_ToolBarDlg.SetParent(this);m_ToolBarDlg.ShowWindow(SW_SHOW);
2015-05-01 21:27:07
654
原创 GDI+裁剪图片
1.首先在VC下创建一个对话框程序。 2.在stdafx.h头文件中加入如下代码:#include <comdef.h>//#ifndef ULONG_PTR//#define ULONG_PTR unsigned long*//#endif#include <gdiplus.h>#pragma comment(lib, "gdiplus.lib")3.在对话框类中创建2个变量:Gdiplu
2015-05-01 20:53:57
2392
原创 VS编译duilib项目时候的错误解决方法整理
找不到Riched20.libVS2013编译duilibv1.1,“找不到Riched20.lib”的问题 http://blog.youkuaiyun.com/tg2003/article/details/44841605“IDispatchEx”: 重定义;不同的基类型‘ICanHandleException’ : redefinition; different basic types修改UIFlash
2015-04-03 23:01:08
3557
1
原创 VS2013编译duilibv1.1,“找不到Riched20.lib”的问题
打开DuiLib工程的属性页,进入“链接器” - “输入”选项界面。删除Debug/Release/UnicodeDebug/UnicodeRelease几个配置中,“附加依赖项”中的“Riched20.lib”(如图1)。 图1打开UIRichEdit.cpp定位到如下源代码:cpp // Create Text Services component if(FAILED(Crea
2015-04-03 00:52:22
4453
5
转载 开启Visual Studio 2010时出现的加载错误解决方案
问题一:未能正确加载“VSTS for Database Professionals Sql Server Data-tier Application" 包。解决办法:打开cmd,输入regsvr32 jscript.dll,备注:jscript.dll的位置一般在:C:\Windows\System32问题二:未能正确加载”RadLangSvc.Package, RadLang
2013-04-28 20:48:04
2975
转载 在C#中使用CURL
private string args = ""; /// /// 参数 /// public string Args { get { return args; } set { args = value; } } /// /// 设置参数 ///
2012-07-07 01:17:32
18869
原创 查看和删除不重复记录
<br />uid为重复关键字<br /><br />select * from TableName <br />where [uid] in (select [uid] from TableName group by [uid] having count([uid])>1) and id not in (select min(id) from TableName group by [uid] having count([uid])>1)<br /><br />delete from Table
2011-04-16 00:42:00
668
原创 为uThreadPool增加线程池等待功能
<br />unit uThreadPool;{ aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); }interfaceuses Windows, Classes;// 是否记录日志// {$DEFINE NOLOGS}type TCriticalSection = class(TObject) protected FSection: TRTLCriti
2011-04-15 12:42:00
1635
原创 在Delphi中WaitForMultipleObjects的使用
<br />procedure ThreadTest;stdcall;var Handles:TWOHandleArray; //Handle:THandle; Test:TTest; i:Integer;begin for i := 0 to 10 do begin Test := TTest.Create(False); Handles[i] := Test.Handle; end;
2011-04-14 12:10:00
3037
原创 在TThread对象中使用互斥量
<br />用TThread以数组的方式做了个线程池,但在TThread中需要累加一个数值,如果未使用互斥量的话,那个数值可能一直累加不上去。<br />分别参考了http://www.cnblogs.com/railgunman/archive/2010/11/06/1870867.html和http://www.cnblogs.com/del/archive/2009/02/13/1390295.html,可以通过Win32函数CreateMutex和使用Delphi的TMutex来实现。<br />
2011-04-14 01:14:00
1192
转载 关于MSSQL导入导出时主键与约束丢失的问题解决
<br />导入数据时,使用默认选项,会丢失主键、约束、默认值等属性,按如下步骤操作:<br /><br />-->导出向导 <br />-->选择数据源 <br />-->选择目的 <br />-->指定表复制或查询:不要使用默认选项,选择“在SQL Server数据库之间复制对象和数据” <br />-->选择要复制的对象:在本页中根据需要选择相应的开关项,对于列约束,必须选择“扩展属性”,若去掉“复制所有对象”,可以选择你要导出的表或对象 <br />-->其余按默认步骤即可
2011-04-13 09:57:00
1302
原创 使用libcurl回调函数要注意的问题
<br />static size_t geturl_callback( void *ptr, size_t size, size_t nmemb, void *stream )<br />{<br /> int nsize = size * nmemb;<br /> std::string *strdata = (std::string*) stream;<br /> if (strdata)<br /> {<br /> strdata->ap
2011-04-13 07:40:00
3024
1
原创 delphi调用vc编写的DLL应注意的问题
<br />VC:<br /> <br />.h<br />extern "C" _declspec(dllexport) bool GetUrl( const char *url, const char *savepath );<br /> <br />Delphi:<br />function GetUrl( Url:PChar; SavePath:PChar ):Boolean;cdecl external 'http.dll' name 'GetUrl';<br /> <br />
2011-04-12 22:31:00
1034
原创 “堆被损坏”这个让人崩溃的问题
<br />用libcurl的代码直接在exe中运行没丝毫问题,但一放到dll中就问题百出,先是编译出的dll在depend中提示缺少msjava.dll,接着不管在debug或release下调试都提示“堆被损坏”,差点儿被整崩溃了,最后的解决办法让人非常之惊讶!<br /> <br />以下引用自http://hi.baidu.com/yhustc/blog/item/04f74c1b073da5d1ac6e75d3.html/cmtid/ba14620382936683d53f7caf<br /> <
2011-04-12 22:13:00
2401
原创 使用libcurl库获取网页源码
libcurl真是个好东西,不过我以前C/C++学得太不扎实,以致想写个返回字符串的函数都为难。由于不同网页的大小不一,有可能有的网页只有十来K,有的网页却有200多K,如果分配一个200多K的静态变量,这样又太不划算了,何况还没测试频繁分配这样大的静态变量会有什么后遗症,所以只好将下载的网页源码保存到文件了。下面是一个最简单的用libcurl库获取网页源码并保存到文件的实例:#include #include "curl/curl.h"#pragma comment(lib, "ws2_32.li
2011-04-12 18:19:00
2548
原创 很好很强大的cUrl库
<br />貌似以前使用过cUrl,不过没读过源码,记得以前到是看过wGet的源码,不过那个程序是单线程的。这次无意中发现cUrl的源码居然有Windows版的,到http://curl.haxx.se/下了个最新版的源码下来,源码是用VC6编译的,我在VS2005下重新进行编译,居然只有一个警告。<br /> <br />cUrl的实现代码是放在动态库中,将动态库以静态方式编译生成libcurl.lib,然后将cUrl源码目录下的“include/curl”文件夹复制到自己的项目下(如图1)。<br />
2011-04-12 05:59:00
7957
原创 MySQL和MSSQL中优化随机查询速度
<br />经测试,在MSSQL中用以下方法随机读取3W多条数据,只用了1-2秒。而在实际运用中,肯定是不会随机读取这么多数据的<br /> <br />MSSQL<br /><br />select id from tablename where id >= (select floor(rand() * ((select max(id) from tablename) - (select min(id) from tablename)) + (select min(id) from tablename
2011-04-11 16:53:00
958
原创 还是获取网页的问题,不过是多线程
<br />09年我在这个问题上折腾了大半年,还因此写了篇博文[这下该不会阻塞了吧],最初的是想实现多线程下载网页源码,但经过对HTTP协议的学习,发现只有支持断点继传的网站才用得上多线程下载,因此又把需求放在批量快速下载网页源码上,比如我同时需要访问100个网页,如果用IdHttp就头大了,Idhttp就连访问302页面也会出现异常,调试起来很麻烦。而用自己写的TWinHttp类,recv函数阻塞的问题是能解决了,但如果短时间频繁的获取网页源码,50%以上的访问都会出现connect失败和recv超时
2011-04-08 05:13:00
1335
原创 MFC单文档视图中修改窗体标题、窗体样式
<br />有人说聪明的程序员用Delphi,我承认我并不聪明,虽然Delphi确实很好用,但实在是受不了Delphi的那个编译器,在编辑器中鼠标光标到处乱跑,除非需要的程序是急用,否则我的第一选择不是Delphi。有人也说真正的程序员用VC,当然,我也不得不承认自己压根儿就不是一个程序员,只是一个喜欢编程又上不了档次的准菜鸟,不过我偶尔也会拿起VC玩玩。<br /> <br />在Delphi中要画一个界面,只需要鼠标一拖一拉就搞定了,而VC呢?让我们来画一个简单的界面吧!界面很简单,一个按钮,一个支持多
2011-04-02 02:22:00
2326
原创 CHttpFile获取网页源码
<br />运行环境:VS2005, ANSI字符集<br /> <br />void CHelloView::OnBnClickedButton1()<br />{<br /> // TODO: 在此添加控件通知处理程序代码<br /> CInternetSession Sess;<br /> CHttpFile *Http = NULL;<br /> CString HtmlSource = "";<br /> char Buf[1024];<br
2011-04-02 00:38:00
2135
原创 使用cnvcl中的TCnIp提取IP段
var IP:TCnIp; i:Integer; CurIP:string;begin IP := TCnIp.Create(nil); IP.IPAddress := '192.168.0.1'; CurIP := IP.IPAddress; while CurIP '192.168.255.255' do begin mmo1.Lines.Add( CurIP ); CurIP :=
2011-03-29 05:58:00
937
原创 在socket中用http代理访问网页的关键问题
<br />以前关注过在socket使用http代理访问网页的问题,原理很简单,就是非代理情况下connect的是目标网页的IP和端口,而使用代理则connect代理IP和端口,连接成功后就直接send数据了。<br /> <br />原理清楚,但一直没应用过,今天正好需要就测试了一下,结果在http代理可用,connect正常的情况下,send数据后总是返回http/1.1 400。最后在一个帖子中找到了原因所在,其实使用http代理来发送GET或POST,其包的格式与非代理的GET或POST有一些区别,
2011-03-29 05:35:00
1556
原创 在Delphi中操作Mysql
<br />以前在VC中使用过MySQL,当时是找的一个现成的C++ MySQL类。最近在Delphi中又需要操作Mysql,最初找了个封闭过的类,但已经是七八年以前的程序了,我机器上装的是MySQl5.1,使用了5.1中的libmySQL.dll(2.25MB)。连接正常、查询一个字段正常,但查询两个字段就只能获取第一个字段的值,读第二个字段的值就程序异常。<br /> <br />没办法,又重新找了个接口,不过没有封闭,只有自己慢慢学着调用了。<br /> <br />http://www.audio-
2011-03-29 00:53:00
1790
原创 WinAPI: IsIconic、IsZoomed - 分别判断窗口是否已最小化、最大化
//声明:<br />IsIconic(<br /> hWnd: HWND {窗口句柄}<br />): BOOL;<br /><br />IsZoomed(<br /> hWnd: HWND {窗口句柄}<br />): BOOL;<br />
2011-03-27 21:40:00
1699
原创 在进行文字自绘时,自动换行打印
<br />DrawText( Canvas.Handle, PChar( s ), Length( s ), rect, DT_WORDBREAK );
2011-03-24 22:32:00
834
原创 Delphi中WebBrowser判断页面及JS是否加载完成
<br />时间很完了,但问题总算解决了。<br /> <br />在一个程序中需要判断WebBrowser打开的页面是否加载完成,通常的做完是使用Busy属性,代码如下:<br /> <br />while WebBrowser1.Busy do<br /> Application.ProcessMessages;<br /> <br />这个访问对于访问纯Html的页面时是一点儿问题都没有的,但有些页面在设计时为了不影响打开速度,是让html代码优先显示,然后再运行js代码或框架代码,由于我要访问
2011-03-19 04:35:00
7201
原创 idhttp用代理IP获取网页源码
<br />procedure TForm1.btn1Click(Sender: TObject);<br />var<br /> Http:TIdHTTP;<br />begin<br /> Http := TIdHTTP.Create(nil);<br /> Http.ProxyParams.ProxyServer := '91.211.141.249'; //代理IP<br /> Http.ProxyParams.ProxyPort := 8080;<b
2011-03-18 13:52:00
2328
原创 一个等待Winexec执行完成后再继续执行后面代码的函数
//CMD 要执行的文件路径//Visiable 是否显示窗口Function WinExecExW(CMD:Pchar; Visiable:integer):DWORD;var StartupInfo : TStartupInfo; ProcessInfo : TProcessInformation;begin FillChar( StartUpInfo, SizeOf
2010-03-22 20:54:00
4371
原创 FreeBSD启动和重启nginx
# /usr/local/nginx/sbin/nginx -s stop #停止# /usr/local/nginx/sbin/nginx #启动
2010-03-21 16:07:00
2422
原创 VSFTPD无法上传下载的解决方法
修改文件夹权限:chmod 777 /home/wmzhi修改文件夹属主:chown wmzhi /home/wmzhi/www
2010-03-21 15:41:00
744
原创 nginx启动、重启、停止脚本
#!/usr/local/bin/bashcase $1 instart) /usr/local/sbin/nginx;;stop) killall -9 nginx;;test) nginx -t -c /usr/local/etc/nginx/nginx.conf;;restart) ps
2010-03-21 13:45:00
935
原创 FreeBSD 安裝 wget
FreeBSD 安裝 wget在 Redhat/Fedora 是預設安裝好 wget,而 FreeBSD 則預設沒有安裝,要在文字模式下載檔案很不便。在 FreeBSD 要安裝 wget 很容易,只要使用 ports 就行了,方法如下:cd /usr/ports/ftp/wgetmake install clean那麼系統就會自動替你完成安裝了。
2010-03-20 17:10:00
1944
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人