自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序点滴

携子之手,共建美好明天

  • 博客(67)
  • 资源 (4)
  • 收藏
  • 关注

原创 android sdk 3.0 download

<br />linux sdk:http://dl.google.com/android/android-sdk_r10-linux_x86.tgz<br />window sdk:http://dl.google.com/android/android-sdk_r10-windows.zip<br />ADT:http://dl-ssl.google.com/android/ADT-10.0.0.zip<br /> 

2011-03-28 22:20:00 958

原创 [ACE程序员教程笔记]ACE_Connector使用一个连接多个线程发送数据

<br />本例中我们采用多个线程向服务器发送数据,但只是用一个连接。客户端与服务器建立连接后调用open方法,在此方法中启动TRD_NUM个数的线程,每一个线程函数获取自己线程的ID,并组成字符串小写的一部分发送给服务器。服务器程序采用可以处理接收请求,并进行显示的服务器即可,如ACEAcceptorInputHandler.exe<br />例子程序使用activate方法,激活指定书目的线程函数。<br />#include "stdafx.h"#include "ace/Connector.h"

2011-01-10 12:03:00 1987

原创 [ACE程序员教程笔记]使用ACE_Connector连接服务器

<br />与ACE_Acceptor相同,它实现的是连接与数据处理的分离。同样也是继承于ACE_Svc_Handler类,当连接成功后,Reactor会自动的回调open方法,注意本例中的SvcHandle与Acceptor中的事件处理是相同的,所修改的只是连接部分,这恰恰说明了连接与数据处理分离的优点。<br />#include "stdafx.h"#include "ace/Connector.h"#include "ace/Reactor.h"#include "ace/Svc_Han

2011-01-10 11:04:00 4590 1

原创 [ACE程序员教程笔记]使用ACE_Acceptor建立连接并处理连接请求

<br />本例中实现了Accept功能和输入事件处理功能。在与客户端连接建立成功之后,程序向Reactor注册输入回调事件处理函数。当客户端发送的数据到达时,此事件处理函数负责接收数据,并将其内容显示到输入设备。<br />由于ACE_Svc_Handle继承于ACE_Event_Handle,因此对事件处理只需要添加handle_input函数即可实现。<br />#include "stdafx.h"#include "ace/Reactor.h"#include "ace/Svc_Handl

2011-01-10 10:40:00 2735

原创 [ACE程序员教程笔记]使用ACE_Acceptor分离连接和事件处理

<br />ACE_Acceptor为一个抽象工厂,采用了客户端连接与服务处理程序分离的方式,开发人员可以分别关注两个不同的处理点,客户端连接处理与服务器处理程序都可以采用多种的方式,每一个客户端连接的处理与服务处理程序都可以实现适配。下文中的代码实现了服务器监听功能,当与客户端建立连接请求时,服务程序回调open方法,显示连接状态。<br />#include "stdafx.h"#include "ace/Reactor.h"#include "ace/Svc_Handler.h"#incl

2011-01-10 10:23:00 2678

原创 [ACE程序员教程笔记]使用Reactor实现Accept和数据读取

<br />ACE_Reactor实现了操作系统多路复用和应用层事件处理。本文例子程序实现Acceptor事件和输入事件两个处理类,两个处理类均采用手动的方式进行卸载处理对象。<br />Acceptor事件处理类,此类监听ACCEPT事件,当有客户端的连接请求时,触发handle_input函数,在此函数中将创建输入事件对象,并进行注册。<br />/**处理客户端的连接请求*/class AcceptHandler : public ACE_Event_Handler{publi

2011-01-09 20:51:00 1935

原创 [ACE程序员教程笔记]使用Reactor处理信号

<br />本例演示了使用ACE_Reactor处理信号的方法,主要有三个个关键步骤:<br />1.编写信号处理函数,针对感兴趣的信号进行处理。<br />2.将此信号处理对象注册到Reactor中。<br />3.启动Reactor的事件处理循环。<br />下面的代码演示了在程序运行时按下“Ctrl+C”和“Ctrl+Break"是的处理结果。<br />#include "stdafx.h"#include "ace/Reactor.h"#include "ace/Event_Handler

2011-01-09 20:39:00 1198

原创 [ACE程序员教程笔记]将同步方法转换为异步方法

<br />对于比较耗时的处理(如IO操作),如果采用同步的调用方式,程序则会阻塞在当前调用的函数上,无法进行其它的操作,造成时间浪费,ACE提供了方法对象(ACE_Method_Object),可以实现将同步方法转换为异步方法的机制,下文中将以打印服务为例介绍如何将同步方法转换为异步调用的方法。<br />此方案采用了多线程处理的方式,将原来的类方法作为一个方法对象(ACE_Method_Object),每一次函数的调用都会创建一个方法对象,之后会将此方法对象加入到活动队列(activation queu

2011-01-09 11:53:00 1561

原创 [ACE程序员教程笔记]Task间通讯

<br />Task可以视为更高一个级别的线程对象,各个Task之间的同学也就是线程之间的通讯,在ACE中,采用了消息队列的方式进行处理。每一个Task封装一个ACE_Message_Queue,对于这个消息队列使用putq将消息压入队列,采用getq将消息出列,获取消息的顺序与压入消息的顺序相同。<br />下面的代码使用了消息队列在两个Task之间进行通讯,GenerateData任务生成数据,每间隔1秒钟会将全局变量g_nCounter增1,并将其压入队列。PrintTask任务从消息队列中获取消息,

2011-01-09 09:45:00 1141

原创 [ACE程序员教程笔记]使用ACE_Thread_Manager创建线程组

<br />ACE_Thread_Manager为ACE_Thread的高级类,使用此接口可以实现对线程进行分组管理,下面将对两个不同的业务处理采用两种不同的处理方式:一个用于回显内容,另一个用于打印内容。<br />#include "stdafx.h"#include "ace/ace.h"#include "ace/Thread.h"#include "ace/Synch.h"#include "ace/Log_Msg.h"#include "ace/Thread_Manager.

2011-01-08 22:02:00 3202

原创 [ACE程序员教程笔记]使用ACE_Guard访问子线程

ACE_Guard提供了自动锁定、释放机制的同步锁,对可见的scope范围内进行自动加锁,当超出scope范围是程序自动卸锁。Guard需要与一个ACE_LOCK的类作为模板,本例中采用了ACE_Thread_Mutex实现,见代码。#include "ace/ace.h"#include "ace/Thread.h"#include "ace/Synch.h"#include "ace/Log_Msg.h"ACE_Thread_Mutex tmGuard;int g_nCounter;

2011-01-08 16:50:00 6092

原创 [ACE程序员教程笔记]使用ACE_Thread_Mutex访问子线程中的数据

<br />每一个子线程中会对全局变量g_nCounter进行递增三次,使用Mutex保证在同一时刻只能有一个线程递增、输出这个值,因此,实现了数据处理的串行化,每一次子函数的输出必定是完整的3次,不会导致输出结果混乱的情况。<br />#include "stdafx.h"#include "ace/ace.h"#include "ace/Thread.h"#include "ace/Synch.h"#include "ace/Log_Msg.h"ACE_Thread_Mutex tm

2011-01-08 16:24:00 2043

原创 [ACE程序员教程笔记]使用ACE_Thread创建多个线程

<br />ACE_Thread采用轻量级的线程包转实现了在多个操作系统之间线程编程的统一化,方便了跨平台开发的开发工作。<br />下面的代码实现了创建100个子线程,在每一个子线程函数中打印出自己线程对应的线程ID,当所有的子线程处理完成之后,主线程才可以退出整个应用程序。<br />#include "stdafx.h"#include "ace/ace.h"#include "ace/Log_Msg.h"#include "ace/Thread.h"#include "ace/OS.

2011-01-08 16:08:00 2243

原创 [ACE程序员教程笔记]UDP数据发送客户端

<br />采用UDP无连接方式,客户端向指定的服务器的特定端口连续发送10次数据<br />/**UDP数据发送客户端*客户端通过指定接收端的IP和端口号直接向打印服务器发送数据*ACE_INET_Addr的构造采用“端口号,主机”的方式*本地端口采用0,自动选择*发送数据长度为10字节,每间隔1秒发送一次*/class UDPClient{public: //构造UDP数据发送客户端 UDPClient(char* szHost,int nPort):

2011-01-08 11:21:00 1566

原创 [ACE程序员教程笔记]UDP数据接收服务器

<br />采用UDP方式实现数据接收功能,与TCP接收服务器功能一致。但没有accep和listen操作。<br />#include "stdafx.h"#include "ace/ace.h"#include "ace/SOCK_Dgram.h"#include "ace/INET_Addr.h"#include "ace/Log_Msg.h"#include "ace/OS.h"#define BUF_SIZE 11/**UDP数据接收端*此程序负责接收来自UDP

2011-01-08 11:19:00 1067

原创 [ACE程序员教程笔记]单线程串行客户端

<br />#include "stdafx.h"#include "ace/ace.h"#include "ace/Log_Msg.h"#include "ace/Sock_Connector.h"#include "ace/Sock_Stream.h"#include "ace/OS.h"/**向打印服务器发送固定长度的文本内容*每一次连接成功后,向服务器发送10次固定长度的文本内容*/class Client{public: Client(char*

2011-01-07 10:48:00 870

原创 [ACE程序员教程笔记]单线程串行处理服务器

使用ACE的被动连接方式实现服务器打印功能。服务器采用单线串行处理方式逐个处理客户端的连接请求,连接成功后,服务器从客户端接收10个字符长度的内容,并将其显示在服务器。#include "stdafx.h"#include "ace/ace.h"#include "ace/SOCK_Acceptor.h"#include "ace/SOCK_Stream.h"#include "ace/Log_Msg.h"#define DATA_LEN 10/***接收客户端发送固定长度的文本

2011-01-07 10:32:00 908

原创 [NPWP笔记]自动生成子进程服务器

<br />接上文《使用多进程处理客户请求》中描述,由于它存在严重的问题---超过当前的服务线程时,程序将不再进行处理。本文中结合之前的fork技术对其进行完善,主要的修改内容是如何新增子进程和如何删除子进程。新增子进程是在当前的所有子进程都在处理客户的请求时又有新的子进程的请求到达;删除子进程是在空闲的子进程过多时,为了释放系统资源。这两个值成为服务阈值(下阈值和上阈值)。<br />父进程如何能够得知当前子进程的个数及其状态呢?父子进程将采用管道进行通信。<br />#............use

2010-12-27 21:01:00 3510

原创 [NPWP笔记]使用多进程处理客户请求

之前《Develop a multi-process server with perl》中描述了采用都进程处理客户端的请求,监听Socket一直处于accept状态,当有客户端的请求到达时,服务器创建一个子进程,后续对客户端的请求处理全部交由此子进程。这种用法会导致频繁的创建与关闭子进程,影响服务器的性能,尤其是在大并发的情况下显得更为严重。     本文中依旧采用多线程处理客户端的请求,与上次的多进程不同的是,我们预先创建指定数目的子进程,每一个客户端的连接请求到来时,不在需要创建子进程(预先已经创建好了

2010-12-25 17:21:00 5944

原创 [NPWP笔记]非阻塞文件读取

非阻塞文件读取

2010-12-25 11:46:00 1982

原创 [NPWP笔记]multiplexed服务器

服务器采用单线程处理,通过multiplexed监听网络IO,如果有新的客户连接请求,将其加入到select监听;当客户的请求处理完毕之后,从其从select监听中删除。use strict;use warnings;use IO::Socket;use IO::Select;my $host = "192.168.1.102";my $port = 27002;my %SESSION;my $socket = IO::Socket::INET->new(Listen =

2010-12-20 01:18:00 559

原创 [NPWP笔记]multiplexed客户端

使用multiplexed技术监听STDIN的可读数据,如果有数据可用,则将其读入到缓存中,之后通过syswrite写入到SOCKET。use strict;use warnings;use IO::Socket;use IO::Select;my $host = "192.168.1.102";my $port = 27002;my $socket = IO::Socket::INET->new("$host:$port") or die $@;my $readers

2010-12-19 23:48:00 624

原创 [NPWP笔记]多线程客户端

多线程客户端是对单线程客户端的扩展,在原有的基础之上使用了线程技术,SOCKET的创建与关闭都是在子线程中进行:子线程在创建时也创建一个SOCKET,在子线程退出时,将其关闭。这样,在线程并发的时候,产生多个SOCKET同时连接服务器的情景。#!/usr/bin/perluse 5.006;use strict;use warnings;use IO::Socket;use threads;my $host = "192.168.1.102";my $port = 270

2010-12-19 21:41:00 1096

原创 [NPWP笔记]多线程服务器

采用一个主线程负责接收来自客户端的连接请求,对于每一个客户端的请求,由以一个线程进行处理。这样客户的连接于客户的事务处理分别在不同的线程,主线程创建完成事务处理线程之后,将不再对其进行任何控制。事务处理线程负责来自客户端的请求,将接收到的内容显示到STDOUT。因为每一个客户的请求都会导致一个事务线程的创建与销毁,因此在效率上会有所影响。 #!/usr/bin/perluse 5.006;use strict;use warnings;use threads;use IO::Sock

2010-12-19 20:48:00 626

原创 [NPWP笔记]Write a FTP client with two-process model

There are two process in this script,one for send FTP command,and another is for receiving FTP server response.use strict;use warnings;use IO::Socket;use constant BUFSIZE => 1024;#I use FileZilla Server as FTP server on Windows 2003,use this script

2010-12-18 16:47:00 542

原创 [NPWP笔记]Develop a multi-process server with perl

tcp server and client

2010-12-18 16:04:00 469

原创 [NPWP笔记]从管道中读取数据

使用后缀“|”操作实现从标准输入设备中读取内容。#!/usr/bin/perluse strict;my %who;open(WHOFH,"who |") or die "can not open who:$!";while(){        next unless /^(/S+)/;        $who{$1}++;}foreach (sort{$who{$b} $who{$a}} keys %who){        printf "%10s %d/n",$_

2010-12-16 00:12:00 777

原创 [NPWP笔记]perl创建进程

根据PID判断当前运行的进程为主进程还是子进程,下面的代码在Linux平台可以正确运行。#!/usr/bin/perluse 5.006;use strict;use warnings;print "PID = $$/n";my $child = fork();die "can not fork:$!" unless defined $child;if($child > 0){    print "parent PID = $$,child PID = $child/n"

2010-12-15 23:55:00 772

原创 [NPWP笔记]perl函数使用文件句柄

在perl的函数定义中,如果使用文件句柄作为参数进行传递,请使用引用,而不要使用直接的变量赋值操作。原因是如果在其它包中引用这个函数,将导致文件句柄非法错误。use 5.006;use strict;use warnings;sub read_file {    my $h = shift;    my @lines = ;    print @lines;}open(FH,"sub_read_file.pl") or die "can not open sub_read_f

2010-12-14 23:47:00 1243 1

原创 [NPWP笔记]使用perl循环读取标准输入设备

本程序使用perl循环读取标准输入设备(STDIN),直到输入的文本内容为“quit”字符串;use 5.006;use strict;use warnings;my $line;while(){    chomp;    last if(/^quit$/i);    print;}

2010-12-14 23:00:00 1040

原创 [NPWP笔记]使用perl读取文件

逐行读取文件

2010-12-14 00:24:00 927

原创 多线程Poco::Logger生成日志

<br />日志函数在多线程的环境下应该可以进行同步处理,多个线程同时向同一个日志文件进行日志输出时,每一次的日志记录应保持完整,即日志功能实现了同步处理。下面的例子采用Poco的多线程编程,每次启动200个子线程,各个子线程函数负责向日志文件中写入自己的日志内容。<br />包含文件和命名空间<br />#include "Poco/Thread.h"<br />#include "Poco/Runnable.h"<br />using Poco::Thread;<br />using Poco::Run

2010-12-05 17:58:00 4500

原创 使用Poco::Logger实现日志功能

<br />使用的Poco头文件及其对应的命名空间<br /> <br />#include "Poco/FormattingChannel.h"<br />#include "Poco/FileChannel.h"<br />#include "Poco/PatternFormatter.h"<br />using Poco::Message;<br />using Poco::PatternFormatter;<br />using Poco::FileChannel;<br />using Poco:

2010-12-05 16:17:00 5690

原创 ACE操作ini配置文件

     配置文件(后缀为.ini)的文件主要用作配置程序启动时的一些参数配置,每一个配置行的格式为:name=valuename:配置参数名称value:配置参数的值=:配置分隔符 配置参数可以根据功能相关性对配置行进行分组,每一个组称为一个Section,Section没有显示的终止标识,一个新的Section的开始(或文件结束)即表示前一个Section的终止.下面为

2009-04-25 11:22:00 1818

原创 ACE获取时间信息

本文介绍了如何使用ACE框架中的ACE_Date_Time类和ACE_Time_Value类获取当前时间信息,内容包含年、月、日、时、分、秒和毫秒,这些信息在编程中会经常用到,故将其整理如下,功能很简单:每隔一秒获取当前的系统时间,打印到屏幕,同时也使用ACE_OS命名空间中的文件操作函数将其写入一文本文件,代码如下:#include #include #include #incl

2009-04-23 23:11:00 5975

原创 Linux共享库文件(so)用法

    JCConvert已经在Windows上可以工作,下一步我将在Linux平台上实现这个功能。为了保证对Linux系统so文件理解无误,先在Linux平台上创建一个so文件,并使用测试程序进行测试,其目的就是确认自己的理解是否正确。第一步是如何生成一个so文件。1.生成包含文件SoTest.h,代码如下:#include using namespace std;#ifde

2009-04-20 23:33:00 3354

原创 汉字数目与阿拉伯数字转化之二

上一篇实现使用C++实现了汉字数目转化为阿拉伯数字的引擎,其接口仅能供c++语言使用,本文将在上一篇的基础上,将其转化为c语言可以使用的动态链接库,既可以供C++代码使用,又可以供C源代码使用,开发环境以VS2008为例,其它编译器的移植在后续的文章中逐步实现,包含文件内容修改为如下模样:// 下列 ifdef 块是创建使从 DLL 导出更简单的// 宏的标准方法。此 DLL 中的所有文件

2009-04-19 17:35:00 854

原创 汉字数目与阿拉伯数字转化之一

  本文定义了汉字数目(一百二十三)转化为阿拉伯数字(123)数据结构及函数定义,本文使用了C++STL中的常用数据结构如集合(set)、映射(map)、向量(vector)和字符串(string)等,故提供的接口仅供C++开发人员使用,C语言开发人员需要再对其进行封装,剔除C++元素,在后文中介绍,先看一下包含文件是如何定义的。#ifndef __JCCHINESE_TO_NUM__

2009-04-19 16:45:00 1019

原创 ACE有界栈用法

ACE_Bound_Stack与标准库中stack用法比较#include void stack_test(){ //打印当前函数名称 ACE_DEBUG((LM_DEBUG,ACE_TEXT("%s/n"),__FUNCTION__)); //使用ACE有界栈 ACE_Bounded_Stack bs_int_stack(10); for (int i = 0;

2009-02-25 23:59:00 582

原创 ACE双向链表用法

演示了ACE双向链表与STD链表的用法// EchoServer.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "ace/Containers.h"#include "ace/Log_Msg.h"#include using namespace std;int ACE_TMAIN(int argc, ACE_TC

2009-02-25 23:37:00 710

Visual.Studio.Tools.for.Office.Using.C.Sharp.with.Excel.Word.Outlook.and.InfoPath.Sep.2005.part2

<br> Copyright <br> Praise for Visual Studio Tools for Office <br> Microsoft .NET Development Series <br> Titles in the Series <br> About the Authors <br> Foreword <br> Preface <br> Acknowledgments <br> Part One. An Introduction to VSTO <br> Chapter 1. An Introduction to Office Programming <br> Why Office Programming? <br> Office Object Models <br> Properties, Methods, and Events <br> The Office Primary Interop Assemblies (PIAs) <br> Conclusion <br> Chapter 2. Introduction to Office Solutions <br> The Three Basic Patterns of Office Solutions <br> Office Automation Executables <br> Office Add-Ins <br> Code Behind a Document <br> Conclusion <br> Part Two. Office Programming in .NET <br> Chapter 3. Programming Excel <br> Ways to Customize Excel <br> Programming User-Defined Functions <br> Introduction to the Excel Object Model <br> Conclusion <br> Chapter 4. Working with Excel Events <br> Events in the Excel Object Model <br> Events in Visual Studio 2005 Tools for Office <br> Conclusion <br> Chapter 5. Working with Excel Objects <br> Working with the Application Object <br> Working with the Workbooks Collection <br> Working with the Workbook Object <br> Working with the Worksheets, Charts, and Sheets Collections <br> Working with Document Properties <br> Working with the Windows Collections <br> Working with the Window Object <br> Working with the Names Collection and Name Object <br> Working with the Worksheet Object <br> Working with the Range Object <br> Special Excel Issues <br> Conclusion <br> Chapter 6. Programming Word <br> Ways to Customize Word <br> Programming Research Services <br> Introduction to the Word Object Model <br> Conclusion <br> Chapter 7. Working with Word Events <br> Events in the Word Object Model <br> Events in Visual Studio Tools for Office <br> Conclusion <br> Chapter 8. Working with Word Objects <br> Working with the Application Object <br> Working with the Dialog Object <br> Working with Windows <br> Working with Templates <br> Working with Documents <br> Working with a Document <br> Working with the Range Object <br> Working with Bookmarks <br> Working with Tables <br> Conclusion <br> Chapter 9. Programming Outlook <br> Ways to Customize Outlook <br> Introduction to the Outlook Object Model <br> Introduction to the Collaboration Data Objects <br> Conclusion <br> Chapter 10. Working with Outlook Events <br> Events in the Outlook Object Model <br> Application-Level Events <br> Outlook Item Events <br> Other Events <br> Conclusion <br> Chapter 11. Working with Outlook Objects <br> Working with the Application Object <br> Working with the Explorers and Inspectors Collections <br> Working with the Explorer Object <br> Working with the Inspector Object <br> Working with the NameSpace Object <br> Working with the MAPIFolder Object <br> Working with the Items Collection <br> Properties and Methods Common to Outlook Items <br> Outlook Issues <br> Conclusion <br> Chapter 12. Introduction to InfoPath <br> What Is InfoPath? <br> Getting Started <br> Form Security <br> Programming InfoPath <br> Data Source Events <br> Form Events, Properties, and Methods <br> Conclusion <br> Part Three. Office Programming in VSTO <br> Chapter 13. The VSTO Programming Model <br> The VSTO Programming Model <br> VSTO Extensions to Word and Excel Objects <br> Dynamic Controls <br> Advanced Topic: Dynamic Host Items <br> Advanced Topic: Inspecting the Generated Code <br> VSTO Extensions to the Word and Excel Object Models <br> Conclusion <br> Chapter 14. Using Windows Forms in VSTO <br> Introduction <br> Adding Windows Forms Controls to Your Document <br> Writing Code Behind a Control <br> The Windows Forms Control Hosting Architecture <br> Properties Merged from OLEObject or OLEControl <br> Adding Controls at Runtime <br> Conclusion <br> Chapter 15. Working with Actions Pane <br> Introduction to the Actions Pane <br> Working with the ActionsPane Control <br> Conclusion <br> Chapter 16. Working with Smart Tags in VSTO <br> Introduction to Smart Tags <br> Creating Document-Level Smart Tags with VSTO <br> Creating Application-Level Smart Tags <br> Conclusion <br> Chapter 17. VSTO Data Programming <br> Creating a Data-Bound Customized Spreadsheet with VSTO <br> Creating a Data-Bound Customized Word Document with VSTO <br> Datasets, Adapters, and Sources <br> Another Technique for Creating Data-Bound Spreadsheets <br> Caching Data in the Data Island <br> Advanced ADO.NET Data Binding: Looking Behind the Scenes <br> Binding-Related Extensions to Host Items and Host Controls <br> Conclusion <br> Chapter 18. Server Data Scenarios <br> Populating a Document with Data on the Server <br> Using ServerDocument and ASP.NET <br> A Handy Client-Side ServerDocument Utility <br> The ServerDocument Object Model <br> Conclusion <br> Chapter 19. .NET Code Security <br> Code Access Security Versus Role-Based Security <br> Code Access Security in .NET <br> Location, Location, Location <br> Strong Names <br> Publisher Certificates <br> Trusting the Document <br> Deploying Policy to User Machines <br> Conclusion <br> Chapter 20. Deployment <br> VSTO Prerequisites <br> Deploying to an Intranet Shared Directory or Web Site <br> Local Machine Deployment Without a Deployment Manifest <br> Editing Manifests <br> Creating Setup Packages <br> Advanced Topic: Deploying Network Solutions to Be Cached Locally <br> Conclusion <br> Part Four. Advanced Office Programming <br> Chapter 21. Working with XML in Excel <br> Introduction to Excel's XML Features <br> Introduction to XML Schema Creation in Visual Studio <br> An End-to-End Scenario <br> Advanced XML Features in Excel <br> Excel-Friendly XML Schemas <br> VSTO Support for Excel Schema Mapping <br> Conclusion <br> Chapter 22. Working with XML in Word <br> Introduction to Word's XML Features <br> An End-to-End Scenario: Creating a Schema and Mapping It into a Word Document <br> Exporting the Mapped XML in the Document to an XML Data File <br> Importing an XML Data File into the Mapped Document <br> The XML Options Dialog <br> VSTO Support for Word Schema Mapping <br> VSTO Support for the WordML File Format <br> Conclusion <br> Chapter 23. Developing COM Add-Ins for Word and Excel <br> Introduction to Add-Ins <br> Scenarios for Using Add-Ins <br> How a COM Add-In Is Registered <br> Implementing IDTExtensibility2 <br> Writing a COM Add-In Using Visual Studio <br> The Pitfalls of MsCoree.dll <br> COM Interop and Regasm.exe <br> Shimming: A Solution to the Problems with MsCoree.dll <br> Conclusion <br> Chapter 24. Creating Outlook Add-Ins with VSTO <br> Moving Away from COM Add-Ins <br> Creating an Outlook Add-In in VSTO <br> Conclusion <br>

2008-04-14

Visual.Studio.Tools.for.Office.Using.C.Sharp.with.Excel.Word.Outlook.and.InfoPath.Sep.2005

Copyright Praise for Visual Studio Tools for Office Microsoft .NET Development Series Titles in the Series About the Authors Foreword Preface Acknowledgments Part One. An Introduction to VSTO Chapter 1. An Introduction to Office Programming Why Office Programming? Office Object Models Properties, Methods, and Events The Office Primary Interop Assemblies (PIAs) Conclusion Chapter 2. Introduction to Office Solutions The Three Basic Patterns of Office Solutions Office Automation Executables Office Add-Ins Code Behind a Document Conclusion Part Two. Office Programming in .NET Chapter 3. Programming Excel Ways to Customize Excel Programming User-Defined Functions Introduction to the Excel Object Model Conclusion Chapter 4. Working with Excel Events Events in the Excel Object Model Events in Visual Studio 2005 Tools for Office Conclusion Chapter 5. Working with Excel Objects Working with the Application Object Working with the Workbooks Collection Working with the Workbook Object Working with the Worksheets, Charts, and Sheets Collections Working with Document Properties Working with the Windows Collections Working with the Window Object Working with the Names Collection and Name Object Working with the Worksheet Object Working with the Range Object Special Excel Issues Conclusion Chapter 6. Programming Word Ways to Customize Word Programming Research Services Introduction to the Word Object Model

2008-04-14

Programming.Mobile.Devices.An.Introduction.for.Practitioners

Contents ix <br>7.5 Symbian OS and Bluetooth Facilities 189 <br>7.5.1 Bluetooth Introduction 189 <br>7.5.2 Bluetooth in Symbian 191 <br>7.6 Summary 194 <br>7.7 Exercises 194 <br>8 Security 197 <br>8.1 Overview 197 <br>8.2 Secure Coding and Design 198 <br>8.2.1 Mindset for Secure Design 198 <br>8.2.2 Sample Security-Related Design Patterns 199 <br>8.3 Infrastructure for Enabling Secured Execution 201 <br>8.3.1 Goals for Security Features 201 <br>8.3.2 Supporting Hardware and Software Facilities 203 <br>8.4 Security Features in MIDP Java 205 <br>8.4.1 Low-Level Security 205 <br>8.4.2 Application-Level Security 206 <br>8.4.3 End-to-End Security 208 <br>8.4.4 Problems 208 <br>8.5 Symbian OS Security Features 208 <br>8.5.1 Low-Level Security 209 <br>8.5.2 Application-Level Security 209 <br>8.5.3 End-to-End Security 211 <br>8.5.4 Problems with Symbian OS Security Features 212 <br>8.6 Summary 212 <br>8.7 Exercises 213 <br>References 215 <br>Index 219 <br>

2008-04-14

空空如也

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

TA关注的人

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