自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (11)
  • 收藏
  • 关注

转载 一个比较牛的加密算法

<br />一个加密算法<br /><br />据说此加密算法每次加密的结果都不同,但解密的结果相同<br /><br />using System;<br />namespace test001<br />{<br /> /**<br />   对sSource,进行加密、解密操作。<br />   @param sSource String :操作的字符串<br />   @param iFlag int :操作类型 1-加密  2-解密<br />   @return String :加密或解密后的字

2011-01-27 17:17:00 734

转载 DES加密/解密的应用

<br />加解密<br />using System.Security.Cryptography;<br /><br />private static byte[] DESKey = new byte[] {11,23,93,102,72,41,18,12};<br />private static byte[] DESIV = new byte[] {75,158,46,97,78,57,17,36};<br />//加密函數:<br />public static string Encode(stri

2011-01-27 17:16:00 636

转载 C#中常用的加密类

<br />哈希加密:<br /><br />MD5:byte[] data = new byte[DATA_SIZE];<br /><br />// This is one implementation of the abstract class MD5.<br />MD5 md5 = new MD5CryptoServiceProvider();<br /><br />byte[] result = md5.ComputeHash(data);<br /><br /><br /><br />SHA1:b

2011-01-27 17:15:00 682

转载 用异或的性质实现简单加密解密

<br />异或运算用^表示,对a,b两整数进行异或操作是当两数的二进制对应位置不同时,结果的该位为1,否则为0。<br />异或运算有一个性质:<br /> 当a^b=c,则c^b=a,即同一个数对a进行两次异或的结果还是a。<br /><br />利用此性质可以简单的对字符串进行加密解密。<br /><br />示例代码:private void button1_Click(object sender, EventArgs e)<br />        {<br />            char 

2011-01-27 17:14:00 986

转载 加密网络数据

<br />网络数据加密需要解决三个问题:<br /><br />完整:数据不被篡改;<br />安全:数据不被截获,或者截获也无法得到明文;<br />可靠:数据从真正的发送方而来,其他人无法伪造一个数据来欺骗接受方;<br /><br />下面例子只解决了安全这个问题:<br /><br />  非对称算法使用的两个密钥有如下关系:使用公共密钥加密的信息只能被相应的私有密钥解密。因此,我首要求你给我发送你的公共密钥。在发送给我的途中可能有人会截取它,但是没有关系,因为他们只能使用该密钥给你的信息加密。我

2011-01-27 17:13:00 548

转载 加密网络数据

<br />网络数据加密需要解决三个问题:<br /><br />完整:数据不被篡改;<br />安全:数据不被截获,或者截获也无法得到明文;<br />可靠:数据从真正的发送方而来,其他人无法伪造一个数据来欺骗接受方;<br /><br />下面例子只解决了安全这个问题:<br /><br />  非对称算法使用的两个密钥有如下关系:使用公共密钥加密的信息只能被相应的私有密钥解密。因此,我首要求你给我发送你的公共密钥。在发送给我的途中可能有人会截取它,但是没有关系,因为他们只能使用该密钥给你的信息加密。我

2011-01-27 17:13:00 621

转载 加密网络数据

<br />网络数据加密需要解决三个问题:<br /><br />完整:数据不被篡改;<br />安全:数据不被截获,或者截获也无法得到明文;<br />可靠:数据从真正的发送方而来,其他人无法伪造一个数据来欺骗接受方;<br /><br />下面例子只解决了安全这个问题:<br /><br />  非对称算法使用的两个密钥有如下关系:使用公共密钥加密的信息只能被相应的私有密钥解密。因此,我首要求你给我发送你的公共密钥。在发送给我的途中可能有人会截取它,但是没有关系,因为他们只能使用该密钥给你的信息加密。我

2011-01-27 17:13:00 531

转载 SQL中如何取得系统时间和日期(时间要求返回6位,比如152910;日期要求返回8位,比如20070517)

<br />SQL中如何取得系统时间和日期(时间要求返回6位,比如152910;日期要求返回8位,比如20070517) <br />是不是有什么特定的函数?如果有,那取得系统时间和日期的函数返回类型是字符型吗?(要求是)SQL中CONVERT转化函数的用法<br /> <br />CONVERT的使用方法: <br />//////////////////////////////////////////////////////////////////////////////////////// <

2010-12-20 17:51:00 2353

转载 呼叫中心系统性能测试、压力测试服务

<br />  呼叫中心或者说CTI技术一直以来就是群雄并起、没有标准的领域。在选择呼叫中心时没有技术指标参考,如何比较不同系统间的优劣? 从系统功能上讲, 系统提供商之间的差别不大,如何比较性能上的差别?在使用呼叫中心时,工程如何验收?是否能承受设计话务量考验?与其在系统运行后出现问题亡羊补牢,不如防患未然提早发现解决问题。<br /><br />  CTI论坛评测实验室可为方案提供商进行系统测试,作为用户选型参考;为呼叫中心系统上线进行功能和性能的压力测试,根据测试日志和反馈数据形成第三方的测试报告,提

2010-09-15 17:44:00 4509

原创 asp.net的登录验证方法 Web.config 的作用范围 拒绝与巧用允许 访问权限

<br />如何运用 Form 表单认证<br />ASP.NET 的安全认证,共有“Windows”“Form”“Passport”“None”四种验证模式。“Windows”与“None”没有起到保护的作用,不推荐使用;“Passport”我又没用过,唉……所以我只好讲讲“Form”认证了。我打算分三部分:<br />第一部分 —— 怎样实现From 认证;<br />第二部分 —— Form 认证的实战运用;<br />第三部分 —— 实现单点登录(Single Sign On)<br />第一部分

2010-09-13 14:54:00 825

原创 asp.net的登录验证方法 Web.config 的作用范围 拒绝与巧用允许 访问权限

<br />如何运用 Form 表单认证<br />ASP.NET 的安全认证,共有“Windows”“Form”“Passport”“None”四种验证模式。“Windows”与“None”没有起到保护的作用,不推荐使用;“Passport”我又没用过,唉……所以我只好讲讲“Form”认证了。我打算分三部分:<br />第一部分 —— 怎样实现From 认证;<br />第二部分 —— Form 认证的实战运用;<br />第三部分 —— 实现单点登录(Single Sign On)<br />第一部分

2010-09-13 14:54:00 1095

原创 C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP)

<br />C# code <br />namespace UDPServer<br />{<br />    class Program<br />    {<br />        static void Main(string[] args)<br />        {<br />            int recv;<br />            byte[] data = new byte[1024]; <br />            //构建TCP 服务器<br />      

2010-09-10 12:57:00 3250 1

原创 C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP),多多宜善。

C# code namespace UDPServer{ class Program { staticvoid Main(string[] args) { int recv; byte[] data =newbyte[1024]; //构建TCP 服务器 //得到本机IP,设置TCP端口号 IPE

2010-09-10 12:52:00 2249

原创 C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP),多多宜善。

C# code namespace UDPServer{ class Program { staticvoid Main(string[] args) { int recv; byte[] data =newbyte[1024]; //构建TCP 服务器 //得到本机IP,设置TCP端口号 IPE

2010-09-10 11:51:00 3028 1

原创 取得所有表

<br /> /// <summary><br />        /// 取得所有表<br />        /// </summary><br />        private ArrayList GetTables_ADONET()<br />        {<br />            ArrayList TabelNameList = new ArrayList();<br />            //处理OleDbConnection<br />            strin

2010-09-09 13:03:00 644

原创 C#:获取所有SQL Server的数据库名称

<br />/// <summary><br />        /// 取得指定武器上的所有数据库<br />        /// </summary><br />        /// <param name="DSN">IP地址和端口号,DSN</param><br />        /// <param name="UID">用户名</param><br />        /// <param name="PWD">用户密码</param><br />        /// <returns>

2010-09-09 11:53:00 1332

转载 一个开源的IoC采集服务器体系结构设计

<br />作者:成晓旭<br />http://blog.csdn.net/CXXSoft/<br />(声明:版权保留,欢迎转载、请保证文章完整性)<br />1.         引言Java领域的开发人员,可以采用spring开源框架,快速构建自己的业务应有系统,本人羡慕不已。但是在我采用的传统开发语言、专业应用领域,都没有这样的好框架可以沿用。于是早有自己设计一个IoC框架,适用于本人涉及的实时监控、通信采集领域。<br />“他山之石、可以攻玉”。其实IoC、DI等优秀的分析、设计理论未必非要用

2010-09-08 14:37:00 792

转载 C#的正则表达式

<br />"^/d+$"  //非负整数(正整数 + 0) <br />"^[0-9]*[1-9][0-9]*$"  //正整数 <br />"^((-/d+)|(0+))$"  //非正整数(负整数 + 0) <br />"^-[0-9]*[1-9][0-9]*$"  //负整数 <br />"^-?/d+$"    //整数 <br />"^/d+(/./d+)?$"  //非负浮点数(正浮点数 + 0) <br />"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9

2010-08-26 11:49:00 542

转载 C# 2.0 套接字编程实例 UDP TCP通信

<br />    首先从原理上解释一下采用Socket接口的网络通讯,这里以最常用的C/S模式作为范例,首先,服务端有一个进程(或多个进程)在指定的端口等待客户来连接,服务程序等待客户的连接信息,一旦连接上之后,就可以按设计的数据交换方法和格式进行数据传输。客户端在需要的时刻发出向服务端的连接请求。这里为了便于理解,提到了一些调用及其大致的功能。使用socket调用后,仅产生了一个可以使用的socket描述符,这时还不能进行通信,还要使用其他的调用,以使得socket所指的结构中使用的信息被填写完。<br

2010-08-25 15:49:00 751

原创 ASP.NET中防止页面多次提交的代码实现

<br />Button被点击后disable掉该页面中所有的Button,从而防止提交延时导致的多次提交。基于之前的onceclickbutton脚本.<br /><br />//ASP.NET中防止页面多次提交的代码:javascript< script language="javascript"> < !-- function disableOtherSubmit() { <br />var obj = event.srcElement; <br />var objs = document.getEl

2010-08-20 17:41:00 499

转载 SQL中CONVERT转化函数的用法

SQL中CONVERT转化函数的用法添加时间:2007-4-22格式:<br />CONVERT(data_type,expression[,style])<br /><br />说明:<br />此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)<br />相互转换的时候才用到.<br /><br />例子:<br />SELECT CONVERT(varchar(30),getdate(),101) now<br /

2010-08-06 16:09:00 395

原创 关于用excel打开一个utf-8格式的csv文件的问题

最后我用Unicode 来做的, 这样在什么环境下都可以识别,但是逗号不可以用了,用的是 "/t" 来替换的逗号。最后输出的 csv文件中的中文,日文等才可以被识别。

2009-03-10 13:08:00 1056

原创 一个TIF文件包含多个文件,如何显示每一张图片

   Dim iPage As Integer   TIF   的页号     Dim img As System.Drawing.Image    Dim fd As System.Drawing.Imaging.FrameDimension    Dim Page = 1     你要看的TIF页   Dim tifFileName As String = "D:/tif/mulF

2009-02-12 17:35:00 9086

原创 关系数据库设计

1.基本设计规范构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求

2009-02-10 10:38:00 1274

转载 DynaValidatorForm类

DynaValidatorForm类DynaValidatorForm是DynaActionForm的子类,它能够提供动态ActionForm和自动表单输入验证的功能。和使用DynaActionForm类似,你必须首先在配置文件中进行配置:                  同时要定义验证的插件:    value="/WEB-INF/validator-rules.xm

2009-02-05 11:48:00 827

转载 .net类库中发送电子邮件的方法总结收藏(周公的文件)

发送电子邮件是许多需要用户注册的网站的通用功能,通过正则表达式我们可以过滤掉不符合电子邮件格式的输入,但是仍没有办法确保用户填写的电子邮件地址一定是他本人真实有效的电子邮件地址,通常验证电子邮件真实有效的办法是:当用户填写的注册资料经过网站初步格式验证之后,用户并不能利用此帐号登录,系统会向用户注册时填写的电子邮件地址发送一封电子邮件,邮件中给出一个链接,只有当用户点击了这个链接之后才能登录到网站

2009-01-15 09:34:00 992

原创 VB2005对Word的基本操作

Public Class OPWord    Private oWordApplic As Microsoft.Office.Interop.Word.ApplicationClass    Private oDocument As Microsoft.Office.Interop.Word.Document    Private oRange As Microsoft.Office.Intero

2009-01-15 09:30:00 1781

原创 Terasoluna Batch Framework

靶期业务及框架基本处理流程整体来看,靶期业务业务处理流程可分为三个环节:前处理(Job前处理)->主处理(主要业务)->后处理(Job后处理)。其中,前处理可能是取得靶期日付或者一些执行主处理前的准备工作,后处理主要是靶期执行结果履历更新等。注:实际中的靶期业务处理可能只包含以上的部分环节框架的具体执行处理流程如下图所示:Fig.1 靶期业务执行流程图描

2009-01-14 17:55:00 2994 2

转载 让TextBox只允许输入数字

Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32.dll" Alias "Set

2008-08-22 16:23:00 668

转载 jsp中作用域scope概念

几乎所有的Web开发语言都支持Session功能,Servlet也不例外。 Servlet/JSP中的Session功能是通过作用域(scope)这个概念来实现的。作用域分为四种,分别为:page在当前页面有效(仅用于JSP中)request在当前请求中有效session在当前会话中有效application

2008-08-22 10:20:00 1693 1

原创 带时分秒日历控件

//日历 var date_start,date_end,g_object var today = new Date(); var separator="-"; var inover=false; //mode :时间变换的类型0-年 1-月 2-直接选择月 function change_date(temp,mode) { var t_month,t_year if (mode){ if(mod

2008-08-05 17:33:00 2947 4

原创 JAVA学习

  第一部分 JAVA 相关一、           Class类1、简介java.lang.Object       +---  java.lang.ClassJava编程中,所有类都是Object的子类,Class类是Object的直接子类。Class类的实例是每个装载到JVM中的具体类的一个标识,用于描述装载进来的类和接口的信息:象方法、属性、包等等。每当类装

2008-08-04 11:38:00 1456

原创 冒泡排序法

for(int i =0; i       for(int j =i+1;j         String[][] tmpData= new String[1][2];         int imgdata=Integer.parseInt(imgData[i][0].substring(0, imgData[i][0].length()-1));         int swapdata=In

2008-08-04 11:35:00 641

转载 部分URL重写规则

 想了好几天,终于决定好了URL的重写方案,使用了更加符合真正静态文件思路的目录层次和静态html文件的方式对日志模块的几个最重要部分进行了重写。详细内容 /blog/article/22.html 实际地址为 /?m=blog&a=article&id=22存档日志 /blog/archive/2007-09.html 实际地址为 /?m=blog&a=archive&year=20

2008-07-31 09:46:00 1707

转载 java正则表达式入门文档

 java正则表达式入门文档引言    正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来:(1)检查一个串中是否含有符合某个规则的子串,并且可以得到这个子串;(2)根据匹配规则对字符串进行灵活的替换操作。    正则表达式学习起来其实是很简单的,不多的几个较为抽象的概念也很容易理解。之所以很多人感觉正则表达式比较复杂,一方面是因为大多数的文档没有做到由

2008-07-31 09:36:00 716

转载 JAVA中MAP类

 转自于互联网]Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象。       Map的接口       Map---实现Map       Map.Entry--Map的内部类,描述Map中的按键/数值对。       SortedMap---扩展Map,使按键保持升序排列           关于怎么使用,一般是选择Map的子类,而不直接用Map类。

2008-07-22 17:01:00 1042

转载 Struts Message Resources

许多刚刚学习Struts的程序员在使用Struts的MessageResources特性的时候会遭遇很多困难。本文将试图阐述MessageResources特性的优点并给出了具体的例子说明它的用法。概述类MessageResources可以使开发者方便地支持多语言,包括支持多时间格式和数字格式。使用资源包的另一个好处是允许开发者将标签字符串集中存储在一个位置,而不是分散在不同的JS

2008-06-17 16:06:00 724

转载 简化 Ajax 和 Java 开发,第 2 部分: 使用约定最小化设置

使用 JSTL 和 JSP 标记文件创建可定制 Web 组件

2008-06-14 23:35:00 931

转载 Java 6 RowSet 使用完全剖析

2008 年 6 月 05 日C# 提供了 DataSet,可以将数据源中的数据读取到内存中,进行离线操作,然后再同步到数据源。同样,在 Java 中也提供了类似的实现,即 RowSet。javax.sql.rowset 包下,定义了五个不同的 RowSet 接口,供不同的场合使用。本文将分别对这五个 RowSet 的使用场合以及详尽用法进行介绍,并且描述使用中可能出现的问题,以提醒读者在实际

2008-06-14 23:11:00 633

转载 struts-config.xml配置

作为Java web应用的四个知名配置文件,这里花了两天时间完成了这个struts-config.xml文件的常用配置详解.不求最全,但求实用.希望能给大家带来方便.关键字:Struts struts-config.xml 配置以下是一份完整的struts-config.xml文件,配置元素的说明详见注释.<!DOCTYPE struts-config PUBLIC

2008-06-13 16:52:00 602

经 典 C 教 程.chm

经 典 C 教 程.chm经 典 C 教 程.chm经 典 C 教 程.chm经 典 C 教 程.chm

2010-05-20

vcok_com_qikan1.chm

有一个人养了15只狗,他每天都会把这15只狗分成五队,每队3只,同时带去散步, 现在要求如下: 在一个星期内(即七天),使得每只狗都和其他的14只狗曾经在同一队 (即如果a狗星期一和b,c狗在一队,那么在其他天a不在和b狗在一队,也不和c狗在一队) 请把一种符合条件的排序列出来 星期一 星期二 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * (*代表狗的编号) 答案: #include "Stdio.h" #include "Conio.h" #define N 15 #define Day 7 int flag[N][N]={0}; int dog[Day][N]; int n=0,day=0; int flag_d[N]={0}; int i,ii,iii; int find1(int l) { i=l; while(i<N-2) {if (flag_d[i]==0) {flag_d[i]=1; dog[day][n++]=i; break;} i++;} if (i>=N-2) return(0); else return(i+1); } int find2(int l) { ii=l; while(ii<N-1) {if ( flag_d[ii]==0&&flag[i][ii]!=1) {flag_d[ii]=1; flag[i][ii]=1; dog[day][n++]=ii; break;} ii++; } if (ii>=N-1) return(0); else return(ii+1); } int find3(int l) { iii=l; while(iii>ii) {if ( flag_d[iii]==0&&flag[i][iii]!=1&&flag[ii][iii]!=1) {flag_d[iii]=1; flag[i][iii]=1; flag[ii][iii]=1; dog[day][n++]=iii; break;} iii--; } if (iii<=ii) return(0); else return(iii+1); } main() { int k,kk=1; while (n!=N&&day!=Day) switch(n%3) {case 0:{ if (n==0) k=0; else k=dog[day][n-3]; if (kk) kk=find1(k); else kk=find1(i+1); if (!kk) {if (n==0) {if (day==0) {printf("No answer!"); n=N; break;} n=N; day--; for(k=0;k<N;k++) flag_d[k]=1;} n-=1; i = dog[day][n-2]; ii = dog[day][n-1]; iii= dog[day][n]; flag_d[iii] =0; flag[i][iii] =0; flag[ii][iii]=0; dog[day][n]=0; break; } } case 1:{ if (kk) kk=find2(i+1); else kk=find2(ii+1); if (!kk) {flag_d[i]=0; dog[day][--n]=0; break;} } case 2:{if (kk) kk=find3(N-1); else kk=find3(iii-1); if (n==N) {day++; n=0; i=ii=N; if (day==Day) break; for(k=0;k<N;k++) flag_d[k]=0; } else if (!kk) {flag_d[ii]=0; flag[i][ii]=0; dog[day][--n]=0; } } } if (day==Day) for (i=0;i<Day;i++) {for (ii=0;ii<N;ii++) printf("%5d",(dog[i][ii]+1)); printf("\n"); } else printf("No answer!"); getch(); }

2010-05-20

TheCPL.chm

-------------------------------------------------------------------------------- The C programming Language By Brian W. Kernighan and Dennis M. Ritchie. Published by Prentice-Hall in 1988 ISBN 0-13-110362-8 (paperback) ISBN 0-13-110370-9 Contents Preface Preface to the first edition Introduction Chapter 1: A Tutorial Introduction Getting Started Variables and Arithmetic Expressions The for statement Symbolic Constants Character Input and Output File Copying Character Counting Line Counting Word Counting Arrays Functions Arguments - Call by Value Character Arrays External Variables and Scope Chapter 2: Types, Operators and Expressions Variable Names Data Types and Sizes Constants Declarations Arithmetic Operators Relational and Logical Operators Type Conversions Increment and Decrement Operators Bitwise Operators Assignment Operators and Expressions Conditional Expressions Precedence and Order of Evaluation Chapter 3: Control Flow Statements and Blocks If-Else Else-If Switch Loops - While and For Loops - Do-While Break and Continue Goto and labels Chapter 4: Functions and Program Structure Basics of Functions Functions Returning Non-integers External Variables Scope Rules Header Files Static Variables Register Variables Block Structure Initialization Recursion The C Preprocessor File Inclusion Macro Substitution Conditional Inclusion Chapter 5: Pointers and Arrays Pointers and Addresses Pointers and Function Arguments Pointers and Arrays Address Arithmetic Character Pointers and Functions Pointer Arrays; Pointers to Pointers Multi-dimensional Arrays Initialization of Pointer Arrays Pointers vs. Multi-dimensional Arrays Command-line Arguments Pointers to Functions Complicated Declarations Chapter 6: Structures Basics of Structures Structures and Functions Arrays of Structures Pointers to Structures Self-referential Structures Table Lookup Typedef Unions Bit-fields Chapter 7: Input and Output Standard Input and Output Formatted Output - printf Variable-length Argument Lists Formatted Input - Scanf File Access Error Handling - Stderr and Exit Line Input and Output Miscellaneous Functions String Operations Character Class Testing and Conversion Ungetc Command Execution Storage Management Mathematical Functions Random Number generation Chapter 8: The UNIX System Interface File Descriptors Low Level I/O - Read and Write Open, Creat, Close, Unlink Random Access - Lseek Example - An implementation of Fopen and Getc Example - Listing Directories Example - A Storage Allocator Appendix A: Reference Manual Introduction Lexical Conventions Syntax Notation Meaning of Identifiers Objects and Lvalues Conversions Expressions Declarations Statements External Declarations Scope and Linkage Preprocessor Grammar Appendix B: Standard Library Input and Output: <stdio.h> File Operations Formatted Output Formatted Input Character Input and Output Functions Direct Input and Output Functions File Positioning Functions Error Functions Character Class Tests: <ctype.h> String Functions: <string.h> Mathematical Functions: <math.h> Utility Functions: <stdlib.h> Diagnostics: <assert.h> Variable Argument Lists: <stdarg.h> Non-local Jumps: <setjmp.h> Signals: <signal.h> Date and Time Functions: <time.h> Implementation-defined Limits: <limits.h> and <float.h> Appendix C: Summary of Changes --------------------------------------------------------------------------------

2010-05-20

C语言速查手册.chm

C语言速查手册.chmC语言速查手册.chmC语言速查手册.chm

2010-05-20

C语言shuoming.chm

字符屏幕函数 Turbo C2.0的字符屏幕函数主要包括文本窗口大小的设定、窗口颜色的设置、 窗口文本的清除和输入输出等函数。 1.文本窗口的定义 Turbo C2.0默认定义的文本窗口为整个屏幕, 共有80列(或40列)25行的文本 单元, 每个单元包括一个字符和一个属性, 字符即ASCII 码字符, 属性规定该字 符的颜色和强度。 Turbo C2.0可以定义屏幕上的一个矩形域作为窗口, 使用window()函数定义。 窗口定义之后, 用有关窗口的输入输出函数就可以只在此窗口内进行操作而不超 出窗口的边界。 window()函数的调用格式为: void window(int left, int top, int right, int bottom); 该函数的原型在conio.h 中 (关于文本窗口的所有函数其头文件均为conio.h, 后面不再说明)。 函数中形式参数(int left, int top)是窗口左上角的坐标, (int right, int bottom)是窗口的右下角坐标, 其中(left, top)和(right, bottom) 是相对于整个屏幕而言的。 Turbo C 2.0规定整个屏幕的左上角坐标为 (1, 1), 右下角坐标为(80, 25)。并规定沿水平方向为 X轴, 方向朝右; 沿垂直 方向为 Y轴, 方向朝下。若window()函数中的坐标超过了屏幕坐标的界限, 则窗 口的定义就失去了意义, 也就是说定义将不起作用, 但程序编译链接时并不出错。 另外, 一个屏幕可以定义多个窗口, 但现行窗口只能有一个(因为DOS为单任 务操作系统), 当需要用另一窗口时, 可将定义该窗口的window() 函数再调用一 次, 此时该窗口便成为现行窗口了。 如要定义一个窗口左上角在屏幕(20, 5)处, 大小为30列15行的窗口可写成: window(20, 5, 50, 25); 2. 文本窗口颜色的设置 文本窗口颜色的设置包括背景颜色的设置和字符颜色的设置, 使用的函数及 其调用格式为: 设置背景颜色: void textbackground(int color); 设置字符颜色: void textcolor(int color); 有关颜色的定义见表1。 表1. 有关颜色的定义 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号常数 数值 含义 字符或背景 ─────────────────────────── BLACK 0 黑 两者均可 BLUE 1 兰 两者均可 GREEN 2 绿 两者均可 CYAN 3 青 两者均可 RED 4 红 两者均可 MAGENTA 5 洋红 两者均可 BROWN 6 棕 两者均可 LIGHTGRAY 7 淡灰 两者均可 DARKGRAY 8 深灰 只用于字符 LIGHTBLUE 9 淡兰 只用于字符 LIGHTGREEN 10 淡绿 只用于字符 LIGHTCYAN 11 淡青 只用于字符 LIGHTRED 12 淡红 只用于字符 LIGHTMAGENTA 13 淡洋红 只用于字符 YELLOW 14 黄 只用于字符 WHITE 15 白 只用于字符 BLINK 128 闪烁 只用于字符 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 上表中的符号常数与相应的数值等价, 二者可以互换。例如设定兰色背景可 以使用textbackground(1), 也可以使用textbackground(BLUE), 两者没有任何 区别, 只不过后者比较容易记忆, 一看就知道是兰色。 Turbo C另外还提供了一个函数, 可以同时设置文本的字符和背景颜色, 这 个函数的调用格式为: void textattr(int attr); 其中: attr的值表示颜色形式编码的信息, 每一位代表的含义如下: 位 7 6 5 4 3 2 1 0 B b b b c c c c ↓ ┕━━━┙ ┖─────┘ 闪烁 背景颜色 字符颜色 字节低四位cccc设置字符颜色(0到15), 4~6三位bbb设置背景颜色(0到7), 第7位B设置字符是否闪烁。假如要设置一个兰底黄字, 定义方法如下: textattr(YELLOW+(BLUE<<4)); 若再要求字符闪烁, 则定义变为: textattr(128+YELLOW+(BLUE<<4); 注意: (1) 对于背景只有0 到7 共八种颜色, 若取大于7 小于15的数, 则代表的 颜色与减 7后的值对应的颜色相同。 (2) 用textbackground()和textcolor() 函数设置了窗口的背景与字符颜 色后, 在没有用clrscr()函数清除窗口之前, 颜色不会改变, 直到使用了函数 clrscr(), 整个窗口和随后输出到窗口中的文本字符才会变成新颜色。 (3) 用textattr()函数时背景颜色应左移4位, 才能使3位背景颜色移到正 确位置。 下面这个程序使用了关于窗口大小的定义、颜色的设置等函数, 在一个屏幕 上不同位置定义了7个窗口, 其背景色分别使用了7种不同的颜色。 例1.: #include <stdio.h> #include <conio.h> main() { int i; textbackground(0); /* 设置屏幕背景色 */ clrscr(); /* 清除文本屏幕 */ for(i=1; i<8; i++) { window(10+i*5, 5+i, 30+i*5, 15+i); /* 定义文本窗口 */ textbackground(i); /* 定义窗口背景色 */ clrscr(); /* 清除窗口 */ } getch(); } 3. 窗口内文本的输入输出函数 一、窗口内文本的输出函数 int cprintf("<格式化字符串>", <变量表>); int cputs(char *string); int putch(int ch); cprintf()函数输出一个格式化的字符串或数值到窗口中。它与printf() 函 数的用法完全一样, 区别在于cprintf()函数的输出受窗口限制, 而printf() 函 数的输出为整个屏幕。 cputs()函数输出一个字符串到屏幕上, 它与puts()函数用法完全一样, 只 是受窗口大小的限制。 putch()函数输出一个字符到窗口内。 注意: (1) 使用以上几种函数, 当输出超出窗口的右边界时会自动转到下一行的 开始处继续输出。当窗口内填满内容仍没有结束输出时, 窗口屏幕将会自动逐行 上卷直到输出结束为止。 二、窗口内文本的输入函数 int getche(void); 该函数在前面已经讲过, 需要说明的是, getche()函数从键盘上获得一个字 符, 在屏幕上显示的时候, 如果字符超过了窗口右边界, 则会被自动转移到下一 行的开始位置。 下面这个程序给例1.中加入了一些文本的输出函数。 例2.: #include <stdio.h> #include <conio.h> int main() { int i; char *c[]={"BLACK", "BLUE", "GREEN", "CYAN", "RED", "MAGENTA", "BROWN", "LIGHTGRAY"}; textbackground(0); /* 设置屏幕背景色 */ clrscr(); /* 清除文本屏幕 */ for(i=1; i<8; i++) { window(10+i*5, 5+i, 30+i*5, 15+i); /* 定义文本窗口 */ textbackground(i); /* 定义窗口背景色 */ clrscr(); /* 清除窗口 */ } getch(); return 0; } 4. 有关屏幕操作的函数 void clrscr(void); 清除当前窗口中的文本内容, 并把光标定位在窗口 的左上角(1, 1)处。 void clreol(void); 清除当前窗口中从光标位置到行尾的所有字符, 光 标位置不变。 void gotoxy(x, y); 该函数很有用, 它用来定位光标在当前窗口中的位 置。这里x, y是指光标要定位处的坐标(相对于窗口 而言), 当x, y超出了窗口的大小时, 该函数就不起 作用了。 int gettext(int xl, int yl, int x2, int y2, void *buffer); int puttext(int x1, int y1, int x2, int y2, void *buffer); gettext()函数是将屏幕上指定的矩形区域内文本内容存入buffer 指针指向 的一个内存空间。内存的大小用下式计算: 所用字节大小=行数*列数*2 其中: 行数=y2-y1+1 列数=x2-x1+1 puttext()函数则是将gettext()函数存入内存buffer中的文字内容拷贝到屏 幕上指定的位置。 int movetext(int x1, int x2, int y2, int x3, int y3); movetext()函数将屏幕上左上角为(x1, y1), 右下角为(x2, y2)的一矩形窗 口内的文本内容拷贝到左上角为(x3, y3)的新的位置。该函数的坐标也是相对于 整个屏幕而言的。 注意: 1. gettext()函数和puttext()函数中的坐标是对整个屏幕而言的, 即是屏 幕的绝对坐标, 而不是相对窗口的坐标。 2. movetext()函数是拷贝而不是移动窗口区域内容, 即使用该函数后, 原 位置区域的文本内容仍然存在。 例3. include <conio.h> main() { int i; char *f[]={"Load F3", "Pick Alt-F3", "New ", "Save F2", "Write to ", "Directory", "Change dir", "Os shee ", "Quit Alt-X"}; char buf[9*14*2]; clrscr(); textcolor(YELLOW); textbackground(BLUE); clrscr(); gettext(10, 2, 24, 11, buf); window(10, 2, 24, 11); textbackground(RED); textcolor(YELLOW); clrscr(); for(i=0; i<9; i++) { gotoxy(1, i++); cprintf("%s", f[i]); } getch(); movetext(10, 2, 24, 11, 40, 10); puttext(10, 2, 24, 11, buf); getch(); } 下面再介绍一些函数: void highvideo(void); 设置显示器高亮度显示字符。 void lowvideo(void); 设置显示器低亮度显示字符。 void normvideo(void); 使显示器返回到程序运行前的显示方式。 int wherex(void); 这两个函数返回当前窗口下光标的x, y坐标。 int wherey(void); 返回目录 

2010-05-20

BorlandC++Builder.chm

Borland C++ Builder (2,260KB) -------------------------------------------------------------------------------- Chapter 1: Introduction to C++Builder Chapter 2: Basic Facts About C++Builder Chapter 3: C++Builder and the VCL Chapter 4: Events Chapter 5: Exceptions Chapter 6: not available yet. Chapter 7: Graphics Chapter 8: Database Basics and Database Tools Chapter 9: Using TTable and TDataSet Chapter 10: SQL and the TQuery Object Chapter 11: Working with Field Objects Chapter 12: Understanding Relational Databases Chapter 13: Flat-File, Real-World Databases Chapter 14: Sessions and Relational Real-World Databases Chapter 15: Working with the Local InterBase Server Chapter 16: Advanced InterBase Concepts Chapter 17: Printing: QuickReport and Related Technologies Chapter 18: Working with CASE Tools: Cadet, ER1, and SDesigner Chapter 19: Inheritance Chapter 20: Chapter 21: Polymorphism Chapter 22: Creating Descendants of Existing Components --------------------------------------------------------------------------------

2010-05-20

xml_data.chm

目录 1.0 简介 2.0 XML是数据库吗? 3.0 为什么使用数据库? 4.0 数据和文档的对比 4.1 以数据为中心的文件 4.2 以文档为中心的文件 4.3 数据、文档和数据库 5.0 存储和检索数据 5.1 转移数据 5.2 将文档结构映射为数据库结构 5.2.1 模板驱动的映射 5.2.2 模型驱动的映射 5.2.2.1 表格模型 5.2.2.2 特定数据对象模型 5.3 数据类型、空值、字符集和其他 5.3.1 数据类型 5.3.2 二进制数据 5.3.3 空值 5.3.4 字符集 5.3.5 处理指令 5.3.6 存储标记 5.4 从数据库的结构生成DTD及其互逆过程

2010-05-20

数据库技术 .chm

2.[目录]基础理论知识 2. 1.[目录]基本概念 2. 2.[目录]SQL查询语言 3.[目录]应用开发工具 3. 1.[目录]PowerBuilder 3. 2.[目录]Visual C++ 3. 3.[目录]Visual Basic 3. 4.[目录]Delphi 3. 5.[目录]Borland C++ 3. 6.[目录]Foxpro 3. 7.[目录]网络数据库应用 4.[目录]后台服务器产品 4. 1.[目录]Microsoft SQL Server 4. 2.[目录]ORACLE 4. 3.[目录]Informix 4. 4.[目录]Sybase 4. 5.[目录]Mysql 4. 6.[目录]其他 5.[目录]FAQ-问题及解决方案 6.[目录]其他相关文章 7.[目录]网上资源 7. 1.[目录]www网站 7. 2.[目录]ftp资源 7. 3.[目录]好书推荐 8.[目录]老精华区 8. 2.[目录]----------本版版务---------- 8. 3.[目录]版务相关 8. 4.[目录]----------新手上路---------- 8. 5.[目录]初级水平[侧重入门指导,辅导性] 8. 5. 2.[目录]软件相关信息 8. 5. 3.[目录]书目相关信息 8. 5. 4.[目录]网站相关信息 8. 6.[目录]---------工程进行中--------- 8. 7.[目录]中高级水平[注重应用性,开发性] 8. 7. 2.[目录]数据库 8. 7. 2. 1.[目录]Mssql Server 8. 7. 2. 2.[目录]Oracle 8. 7. 2. 3.[目录]Mysql 8. 7. 2. 4.[目录]VFP 8. 7. 2. 5.[目录]Access 8. 7. 2. 6.[目录]SQL Anywhere 8. 7. 2. 7.[目录]Interbase 8. 7. 2. 8.[目录]Sybase 8. 7. 2. 9.[目录]Informix 8. 7. 3.[目录]开发平台 8. 7. 3. 1.[目录]PowerBuilder 8. 7. 3. 2.[目录]Delphi 8. 7. 3. 3.[目录]VB/VC 8. 7. 3. 5.[目录]XML 8. 7. 3. 6.[目录]ASP 8. 8.[目录]-----------意见簿----------- 8. 9.[目录]进入,留言请按"a" 8. 10.[目录]关键词查询[常见问题等] 8. 10. 1.[目录]安装 8. 10. 2.[目录]启动 8. 10. 3.[目录]焦点 8. 10. 4.[目录]备份&恢复 9.[目录]访客留言

2010-05-20

jsp+javabean学习.doc

jsp+javabean学习.docjsp+javabean学习.docjsp+javabean学习.doc

2009-07-15

DB2学习笔记.docx

DB2学习笔记.docxDB2学习笔记.docx

2009-07-15

C#。net学习笔记

C#入门经典C#入门经典C#入门经典C#入门经典C#入门经典

2009-07-15

空空如也

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

TA关注的人

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