自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hyman的博客

你想要什么样的生活,并真正为之努力,你一定会得到它!

  • 博客(351)
  • 资源 (9)
  • 收藏
  • 关注

原创 C#中操作Excel(3)—— Excel中操作文本、图片和批注

一 引言       本文主要介绍向Excel中插入文本和图片的方法。相信大家对Excel的模型对象都有了一定的了解,和Word相似,Excel中插入文本和图片也需要依靠Range对象。但是与Word对象不同,Excel的Range对象实际上指的是Excel单元格的范围,而非Word的一段字符的范围。在实验之前,我们还是在D盘新建一个名叫Test.xlsx的Excel文件作为本次试验的对象,下

2016-11-17 11:35:39 4379 2

原创 C#中操作Excel(2)—— 新建、打开、保存和关闭Excel文档

本文中主要介绍C#中对Excel文档进行新建、打开、保存、关闭的方法。在本次试验之前,先布置试验环境。        首先,先新建一个winform的工程ExcelTest:       然后,在界面中添加一个按钮,按钮文本就叫做“测试”:        在按钮的点击事件处理函数中,我们先创建一个Application对象,并将对象的Visible属性设置为True:

2016-11-16 11:17:10 17641 1

原创 C#中操作Excel(1)—— Excel对象模型介绍

Excel 文档中的数据已高度结构化,因此该对象模型是分层模型且非常简单。Excel 提供数百个你可能需与之进行交互的对象,但你可以通过将重点放在非常小的一部分可用对象上来很好的开始了解对象模型。这些对象包括以下四种:• 应用程序• Workbook• Worksheet• 范围        许多使用 Excel 完成的工作都是围绕这四种对象及其成员进行的。应用程序对

2016-11-15 09:00:36 2714 1

原创 C#中操作Word(9)—— 向Word中插入图表的三种方法(二)

我们接着上一文的内容介绍在word中插入图标的方法。方法二:从Excel中拷贝图表        这种方法相信你通过这个标题就了解了。我们的思路就是在Excel中生成这个图表,然后在拷贝的word中。2.1 引入Excel类库        首先我们需要在项目中引入Excel相关的引用,如下图所示在“添加引用”对话框中选中选中Excel的对象库,然后点击确定。

2016-11-14 10:01:10 11490 5

原创 C#中操作Word(8)—— 向Word中插入图表的三种方法(一)

一、 前言        本文主要介绍向word中插入图表的方法。方法共有三种,每一种都有自己的适用范围和利弊。介绍之前,我们准备实验用的文档,做一个如下图所示的word模板,我们要做的的是在这个名叫chart的书签中插入一个图表,下面然后我将逐一进行介绍这三种方法:方法一:插入OLEObject类型的图表        这种方法适用于所有版本的excel,但是插入的图表界

2016-11-14 09:55:26 11439 1

原创 Win32 SDK基础(2)—— 自己动手用cl.exe和link.exe编译和连接程序

一 从程序的编译过程说起    上一文我们介绍了windows系统下面程序的分类、编译器、连接器、常用头文件、库文件等知识。本文再谈一下程序的编译过程。相信大家都知道源代码的编译过程共分为两个步骤:一是编译过程,主要工作是把我们的源代码翻译成中间文件,这在windows中就是cl.exe的作用,它将我们的.c文件或者.cpp文件翻译成中间.obj文件;二是连接过程,主要工作是将多种中间文件

2016-11-12 17:22:56 5253 5

原创 C#中操作Word(7)—— 如何向Word中插入表格

一、 前言        本文主要讨论下向word中插入表格的方法。Word模型对象Document、Range、Selection中都含有一个Tables的属性,它是表格的集合,我们想要向一个word文档中添加表格,就需要调用上述三个对象的Tables属性的Add方法,将表格添加进去。        我们先来看下,Add方法的函数原型:Tables.Add(Range,System.

2016-11-11 08:45:41 10149 3

原创 【C++面向对象】函数操作符()的重载

本文主要介绍函数操作符()的重载方法。通过对()的重载,我们可以像使用函数一样来使用类对象。为了方便介绍,我们先定义一个类:    class Cal { };一、实现第一个重载()的函数。       我们想要实现的效果是调用Cal的重载函数,传给Cal一个double类型的参数,然后返回参数的平方。       重载函数代码如下:double operato

2016-11-10 09:25:34 1026

原创 C#中操作Word(6)—— 如何向Word中插入图片

一、Word对象模型的重叠性分析        本文主要介绍通过书签Bookmark向Word文档中插入图片的方法。在此之前我们先简单讨论下Word对象模型的重叠性。如果你对Word对象模型还不熟悉,请参考本专栏第一篇博文。相信你通过前几篇文章也有了解到,Word中五种对象:Applicatin、Document、Selection、Range和Bookmark似乎是重叠在一起的,什么意思呢?

2016-11-10 08:40:20 17827 2

原创 C#中操作Word(5)—— 利用BookMark对象写Word文档

一、引言        本文主要介绍通过Word中的书签Bookmark来向Word中写入我们自定义的数据。之前的文章介绍了利用Range对象读写word的方法,用这种方法如果处理比较简单的文档还好,若文档较复杂,就显得有些力不从心了。        比如有这么一个文档,内容如下:        要求我们在程序里面动态的生成这些数据然后补充进word文档里面,此时如果我们再

2016-11-09 17:12:32 10323 2

原创 C#中操作Word(4)—— 利用Range对象设置文本的格式

本文主要介绍修改文本的格式的方法。按照上文介绍的方法,现在将D盘的Test.docx文档进行修改,修改成如下内容:        在“测试”按钮的单击事件处理函数中,获取对应的Range:private void button1_Click(object sender, EventArgs e){Microsoft.Office.Interop.Word.Applicati

2016-11-09 14:25:09 10039

原创 C#中操作Word(3)—— 利用Range对象读取和设置Word中的文本

本文主要介绍利用C#读取和写入Word内容的一般方法。一、创建工程。1.1 引入控制台Control        我们创建一个名叫WordTest的Windows窗体应用程序作为本次试验的工程,为了能够显示word中的内容,我们先要在下图所示的Program.cs的main()函数中引入控制台Console来显示读取到内容。 Program.cs的代码:n

2016-11-09 14:13:39 12878

原创 C#中操作Word(2)—— 新建、打开、保存和关闭文档

本文中主要介绍C#中对word文档进行新建、打开、保存、关闭的方法。在本次试验之前,先布置试验环境。首先,先新建一个winform的工程WordTest:        然后,在界面中添加一个按钮,按钮文本就叫做“测试”:        在按钮的点击事件处理函数中,我们先创建一个Application对象,并将对象的Visible属性设置为True:private vo

2016-11-09 11:42:09 17492 2

原创 C#中操作Word(1)—— word对象模型介绍

一、开发环境布置         C#中添加对Word的支持,只需添加对Microsoft.Office.Interop.Word的命名空间,如下图所示,右键点击“引用”,在弹出的“添加引用”对话框中选中COM标签页,找到“Microsoft Word 12.0 Object Library”。         点击确定按钮后,可在引用中添加显示名称为Microsoft.Office.

2016-11-09 11:31:04 3990

原创 【C++面向对象】[]操作符的重载

本文主要介绍下[]操作符重载的问题。[]的操作符重载比较特殊之处在于重载时必须提供两个版本的重载函数,一个对应[]为左值时的情况,一个对应[]为右值时的情况。    我们假设有一个自定义的类Array需要我们实现[]的重载,期望的重载效果如下面的main()函数: int main(){ Array a1; a1[0]=123; const Array& a2=

2016-11-09 09:27:30 899 2

原创 网络编程(27)—— 再谈Nagle算法

这段时间一直在研究Nagle算法问题,其实自从了解到这个算法以后,心里有不少的疑问,本文主要是对我自己这些疑问的一个分析,属于个人的一个理解,如果有哪个大神一不小心路过这里,有错误的地方还望给予批评教育~~ 问题一,Nagle算法是不是TCP可靠连接的基础,把Nagle算法禁用了是不是TCP就变成不可靠连接了?       先说答案,答案是否定的。Nagle只是一个算法而已,TCP是可

2016-11-08 19:04:48 1094

转载 查看core dumped的详细错误原因

什么是Core Dump?今天调试一个程序, 用到了core dump, 于是写出来, 记于此.什么是Core Dump?Core的意思是内存, Dump的意思是扔出来, 堆出来.开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped). 这时候可以查看一下有没有形如core.进程号的文件生成, 这个文件便是操作系统把程

2016-11-08 14:56:36 37827

原创 网络编程(26)—— TIME_WAIT、FIN_WAIT1、FIN_WAIT2和CLOSE_WAIT状态的区别

下面接着《详解TCPIP断开连接后的Time-wait状态》一文的内容,我们讨论下socket在断开连接中的另外三种状态FIN_WAIT1、FIN_WAIT2状态和CLOSE_WAIT状态。首先启动socket服务端,然后用客户端进行连接,用netstat –ant命令查看目前套接字的状态:   发现客户端和服务器的套接字都进入了established状态,说明客户端和服务端都

2016-11-07 19:47:48 15678 2

原创 Win32 SDK基础(1)—— Windows程序分类以及库、头文件所在目录

一、windows程序分类1、控制台程序windows的Dos程序,没有自己的窗口,需要借助Dos窗口进行用户交互,主函数:int main(){ return 0;}2、windows窗口程序可见的windows系统下的程序基本都属于这种,列入word、excel等等,主函数:int APIENTRY wWinMain(_In_ HINSTANCE

2016-11-06 23:00:28 5011 3

原创 网络编程(25)—— 详解TCPIP断开连接后的Time-wait状态

之前在《socket选项之SO_REUSEADDR和TCP_NODELAY》一文中简单介绍过断开连接的一方套接字进入的Time-wait状态。现在我们详细的讨论该状态,以解决下面疑问:        1、 Time-wait状态是怎么产生的?2、客户端在断开连接后会进入Time-wait状态吗?3、Time-wait状态有什么用?4、Time-wait状态下的端口号能否设置被其他套

2016-11-06 18:00:14 4512 2

原创 网络编程(31)—— 路由控制原理

一、数据包的路由控制        一个IP数据包,从一台主机到达另一台主机,中间往往需要经过多个数据链路以及路由器。而中间的一个路由器,往往通过接口和多个路由器或者主机相连,我们知道IP数据包的首部包含该包的源地址和目标地址,当IP数据包到达该路由器时,路由器有怎么知道把这个包发到哪个接口相连的路由器或者主机呢?       这就需要路由控制表了,所谓路由控制表其实就是就是与本主机或者路

2016-11-05 07:46:20 1404

原创 【C++面向对象】输入输出操作符的重载

本文主要介绍输入操作符>>和输出操作符     const Integer operator+(const Integer& that) const;         上面采用类的成员函数的重载形式,请大家不要忘记函数里面还隐藏包含一个this指针作为左操作数。我们再来看下用友元函数形式重载的前++操作符:     friend Integer& operator++(

2016-11-04 15:18:53 1177

原创 【C++面向对象】重载++操作符

本文主要讨论下C++中++操作符的重载问题,为什么专门把++提出来介绍下它的重载?不知道大家有没有思考过一个问题?一般情况下我们重载一个操作符时,只要定义一个重载函数"operator操作符()"即可,那么重载++和--这两个操作符怎么办,要知道++是要分为前++和后++的,如果单纯重载++操作符,怎么区分前++和后++?        C++中为了解决这个问题,采用了将后++定义成一个带有i

2016-11-03 09:44:13 990

转载 在Windows7 系统上安装windows自带的telnet服务

出自:http://jingyan.baidu.com/article/fb48e8be3d91776e622e14fe.html如何安装使用windows自带的telnet服务前段时间遇到的问题,远程FTP的服务器可以连接也能PING通。但是上传代码执行报错,提示没有权限操作。于是查询自己的代码,走的不是FTP的逻辑上传的…上传指定的IP+端口,而且不是2

2016-11-02 21:19:33 3509

转载 在Windows7 系统上部署FTP服务端和客户端

转自:http://www.cnblogs.com/grenet/archive/2012/05/04/2480682.html 一、安装FTP组件    由于Win7默认没有安装FTP组件。故FTP的设置第一步就是安装FTP组件    点击:控制面板—》程序和功能—》打开或关闭Windows功能。勾选“FTP服务器”及“FTP服

2016-11-02 21:09:28 6089 1

原创 【C++面向对象】自定义重载操作符

什么是自定义重载操作符?我们知道C++允许我们对+、++、=等操作符进行重载,而我们在进行重载时,往往都会根据使用习惯,赋予它的近似原来的表现和行为。比如++运算符,在我们的概念中就是本事自加1,而我们在类中重载时往往也会这么做。本文研究的是将这些运算符重载成自定义的行为,以++为例,我们将其重载为计算一个类的平方。这种方式在实际编程中很少用到,本文主要通过这种方式介绍用算符重载时的两个规则:

2016-11-02 09:51:35 1772

原创 在Windows7 系统上部署网关代理服务器

这几天给电脑买了个外置的USB转网口的转换器,想要把电脑做成一个网关服务器,但是在网上搜相关的资料,发现很少,有几个也是几年前的,所支持的平台都是xp啊,2003什么的。而我本人的系统是Win7 64位的,其中也试过AnyRoute、SyGate等服务器代理,发现对Win7 64位的支持很不好。后面按照之前设置xp的方法,在win7上误打误撞还真布置好了,现在特意把整个布置过程整理出来。

2016-11-01 18:08:03 19249

原创 网络编程(30)—— IP地址分类和子网掩码的作用

一直以来对于IP地址的分类和子网掩码的作用比较模糊,总是感觉似懂非懂,现在主要将其进行整理,抛开一些很深邃的技术概念,单纯对基本知识进行整理。 一、IP地址的分类:         目前IP地址被分为A、B、C、D、E五种类型,下面分别对五种类型的分类标准进行介绍:          A类地址:         该类地址转换成二进制以0开头,前8位表示网络地址,后面24位表示主

2016-11-01 00:18:42 2331

原创 网络编程(24)—— linux中write和read函数的阻塞试验

刚刚接触网络编程时,很容易被客户端和服务器之间的交互搞晕,例如各种函数的阻塞和非阻塞就让人头疼。例如在我的印象中linux中用于用于对文件描述符进行读写的write()函数和read()函数是非阻塞函数,但是在一次网络通信的试验中发现它们又是阻塞的,后来man了一下write和read,发现其文档中都有下面一句话:ERRORS       EAGAIN The file descr

2016-10-31 08:15:39 8146 4

原创 【git】常用的git命令

1、添加本地更新git add .2、提交本地更新git commit -m '更新说明'3、提交到远传库git push origin master4、从远传库更新git pull origin master5、从远传库克隆git  clone 远传库的项目地址6、放弃本地所有更新(未commit)git checkout .

2016-10-29 11:14:00 761

原创 【C++面向对象】C++中运算符重载的两种方式

我们知道在C++中可以通过重载运算符的方式,使类实现类似于基本类型的运算符操作,如+、-、*、/等等。本文介绍这种重载运算符的两种方法。我们先自定义一个类,来作为本次研究的对象:class Integer{ public: Integer(){} Integer(int i):m_i(i){} void get_val() { cout<<m_i<<endl;

2016-10-28 11:21:49 11156 2

原创 网络编程(23)—— socket客户端连接上服务端是在listen之后而非在accept之时

我们知道在TCPIP中客户端同服务端建立连接,需要三次握手:   第一次:客户端向服务端请求发起连接,发送SYN   第二次:服务端收到客户端的请求后,向客户端回送ACK和SYN   第三次:客户端接收到服务端可以连接的信息,再向服务端发送ACK,表示收到服务端信息完成连接。   在刚刚接触网络编程时,很长一段时间都以为只有服务端调用accept后,客户端才会connect成功,但

2016-10-27 17:37:57 3596

原创 【C++面向对象】C++的类型成员指针

本文主要研究下C++中的类型成员指针。一、类型成员指针是什么鬼?  相信很多童鞋刚刚听到这个名字时,第一反应就是不就是类中的指针成员变量吗,有什么好研究的?错,而且是大错而特错,请注意这两种叫法的区别:前者是类型成员指针,后者是类指针成员。差之毫厘失之千里也。  那么什么是成员类型指针呢?我们先看声明一个类,作为本次研究的小白鼠。 class person{ public:

2016-10-26 09:39:46 1262 1

原创 网络编程(22)—— socket客户端和服务端收发数据包需要一对一的关系吗?

其实这个题目应该是一个疑问句,接触了这么久的TCPIP网络编程,一直不敢确定是不是在客户端和服务端分别进行读和写时,write和read要成对出现?我想这也是很多网络编程的新手存在的疑问吧。        下面,就针对这个问题进行试验,以解答长久以来的疑惑。  我们写这样一个服务端,每当接收到客户端的数据是重复发送三次,发回给客户端。#include#include#inclu

2016-10-25 14:03:02 3211

原创 网络编程(21)—— 使用epoll进行IO复用

之前介绍了用于IO复用的select函数,其基本原理就是先在select函数中注册需要进行监视的条件操作符的集合,每次调用select,若集合中某个文件操作符存在待读数据、可传输无阻塞数据、或者异常时,改文件操作符在集合中被保留,其他被清零。  利用select进行IO复用,适合比较少连接或者有跨平台需求的服务器的开发,因为有两处制约其在处理多连接时的性能:  1、每次都需要将包含文件操作

2016-10-24 17:37:11 1227

原创 网络编程(20)—— 广播的编程实现

一、广播和多播的区别    多播和广播的范围有区别,多播即使在跨越不同网络的情况下,只要加入多播组就能接受数据。而广播只能向同一网络中的主机传输数据。二、广播的分类    广播分为两种,直接广播和本地广播。二者的主要差别在于IP地址,直接广播的IP地址,除了网络地址外,其余主机地址全部设置为1.如希望向网络地址192.12.34的所有主机传输数据时,可以向192.12.34.2

2016-10-23 08:53:48 4091 1

原创 用flask开发个人博客(29)—— 其他主要模块

前面介绍了几个基本的flask程序结构的模块,下面回顾下所有模块的功能:1.    config.py:import osbasedir = os.path.abspath(os.path.dirname(__file__))class Config: SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess st

2016-10-22 11:23:32 2917

原创 用flask开发个人博客(28)—— 利用unittest进行单元测试

下面分析下这个webapp的单元测试模块test,请先看下目前test下的文件结构:目前__init__.py文件还是空,请查看test_basic.py的代码:import unittestfrom flask import current_appfrom app import create_app,dbclass BasicTestCase(unittest.TestCas

2016-10-21 21:56:35 5990 2

原创 用flask开发个人博客(27)—— 利用程序工厂函数创建Flask程序对象并注册蓝本

什么是程序工厂函数?请先看__init__.py的代码:from flask import Flask,render_templatefrom flask.ext.bootstrap import Bootstrapfrom flask.ext.mail import Mailfrom flask.ext.moment import Momentfrom flask.ext.sqlal

2016-10-21 14:57:47 4306

原创 用flask开发个人博客(26)—— 利用config.py配置文件动态的创建不同的Flask对象

对配置进行封装的目的是根据不同的使用场景,给flask的app赋予不同的config,最经典的用法就是把开发、测试和生成分开,通过配置文件使用不同的数据库。config.py代码如下:      import osbasedir = os.path.abspath(os.path.dirname(__file__))class Config: SECRET_KEY =

2016-10-20 22:52:08 11482 2

mock框架插件 mod.dll

mod.dll是一款单元测试模拟框架,常常被用来进行单元测试 [TestMethod] public void Relocation() { var mockContext = new Mock<ControllerContext>(); mockContext.Setup(c => c.HttpContext.Response.Redirect("http://www.baidu.com")); var controller=new HomeController(); controller.ControllerContext = mockContext.Object; controller.Relocation(); mockContext.Verify(); }

2018-09-29

System.Linq.Dynamic.dll

System.Linq.Dynamic.dll实现了C#中动态的linq查询,引用之后可以以字符串的形式使用linq。

2018-09-29

Win7 64位安装DNS root.zone等配置文件

localhost.rev、localhost.zone、msvcr100d.dll、msvcr110d.dll、named.conf等在win7上利用ntbind架设Windows下的DNS服务器必要组件

2016-12-10

TCP-IP详解卷2:实现

TCP-IP详解卷2:实现

2016-11-17

TCP-IP详解卷3:TCP事务协议

TCP-IP详解卷3:TCP事务协议

2016-11-17

TCP-IP详解卷1:协议

TCP-IP详解卷1:协议

2016-11-17

MICROSOFT SILVERLIGHT 4从入门到精通

《Microsoft Silverlight 4从入门到精通》作为一本容易上手的教程,沿用深受读者欢迎的Step by Step风格,通过实例手把手引导读者构建、部署和维护Silverlight应用程序。《Microsoft Silverlight 4从入门到精通》浅显易懂,概念清楚直观,可读性强。全书共14章,主题广泛,涉及基础和控件,布局和样式,RIA和图像处理,MediaElement的对象模型、Silverlight的变换和动画引擎,浏览器桥,Windows Phone和XNA等,是帮助读者理解Silverlight开发全景的理想参考。, Laurence Moroney是Microsoft高级技术传播者,致力于Silverlight和用户体验。他有十几年的软件开发和实现经验,写过大量有关Windows Presentation Foundation、Web开发、安全性和互操作性的书籍和文章。

2016-11-17

局域网聊天工具

vc6.0写的一个局域网聊天工具,分为服务器代码和客户端代码

2014-08-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除