自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(214)
  • 资源 (22)
  • 收藏
  • 关注

原创 Redis Sentinel 读写分离 Slave 连接池

更好阅读体验,请移步:[url]http://www.jack-yin.com/coding/spring-boot/2683.html[/url]0. 背景Reids除了配置集群实现高可用之外,对于单机版的Redis,可以通过Master-Slave架构,配合使用Sentinel机制实现高可用架构,同时客户端可以实现自动失效转移。类似于JdbcTemplate,Spr...

2018-06-08 15:21:03 3347

原创 git ignore

*.class# Mobile Tools for Java (J2ME).mtj.tmp/# Package Files #*.war*.ear# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xmlhs_err_pid*di...

2018-03-01 22:17:32 302

原创 spring MVC 中为什么要加一个HandlerAdapter

在学习 开涛的Spring MVC 有一处不明白,就是 spring MVC 中为什么要加一个HandlerAdapter? 上面的配置中,通过/hello这个url的映射已经可以找到对应的He...

2014-08-22 11:39:12 1565 1

原创 使用GroboUtils进行jUnit的多线程测试

使用GroboUtils进行jUnit的多线程测试 jUnit不支持多线程测试(具体表现为,在@Test标记的方法中启动多线程测试,这是多线程中的Assert方法失效具体原因是jUnit执行器执行的时候,执行线程很快退出,在多线程中还没有调用Assert的时候主线程就退出了,而且,貌似jUnit也不会检测其他线程中调用Assert方法,即使其他线程中Assert方法失败了,总...

2014-05-08 18:21:04 229

原创 spring如何解析通配符路径

转自: http://goodscript.iteye.com/blog/1161519在spring的配置文件中、经常看见类似这样的配置路径: Java代码  classpath:/com/module/**/*sql.xml  系统会根据配置路径自动加载符合路径规则的xml文件 假如让你实现这样的功能: 根据一个通配符路径加载符合规则的xml文件你会怎么...

2014-04-26 10:39:04 448

原创 spring 配置文件 如何 解析 通配符

转自:classpath:app-Beans.xml说明:无通配符,必须完全匹配 classpath:App?-Beans.xml说明:匹配一个字符,例如 App1-Beans.xml 、 App2-Beans.xml classpath:user/*/Base-Beans.xml说明:匹配零个或多个字符串(只针对名称,不匹配目录分隔符等),例如:user/a/Bas...

2014-04-26 10:37:46 229

原创 spring 源码下载方法

https://codeload.github.com/spring-projects/spring-framework/zip/v4.0.0.RELEASE直接拷贝这个连接到浏览器,也可以迅雷.最后面的版本号4.0.0也可以换成其他的

2014-04-26 09:20:41 118

因为眼花而引发的悲剧 -- Spring 整合Shiro框架中注入RolePermissionResolver到AuthorizingRealm...

因为眼花而引发的悲剧 -- Shiro框架中注入RolePermissionResolver到AuthorizingRealm 使用shiro安全框架,自定义了一个Realm:public class UserRealm extends AuthorizingRealm AuthorizingRealm详细类型是:public abstract class Author...

2014-04-25 09:29:41 424

Spring,Struts2,Shiro中使用google验证码Kaptcha 获取不到session中验证码的解决方法

Spring,Struts2,Shiro中使用google验证码Kaptcha 获取不到session中验证码的解决方法 Kaptcha验证码的原理: 前台请求一个图片,该图片src属性指向的url其实是在web.xml中配置的一个servlet,该servlet由Kaptcha提供, 就是随机生成一串字符,然后存入session中,再将字符转成图片传到前台. ...

2014-04-17 11:11:25 2093 2

原创 [转]MySQL之权限管理

转自: http://www.cnblogs.com/Richardzhu/p/3318595.htmlMySQL之权限管理 一、MySQL权限简介    关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界。比如只允许你执行select操作,那么你就不能执行update操作。只允许你从某台机器上连接mysql,那么你就不能从除那台机器以外的...

2014-03-24 16:35:08 179

原创 [转]Oracle用户、权限、角色管理

转:http://blog.csdn.net/junmail/article/details/4381287Oracle 权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理:1、系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才...

2014-03-24 13:49:13 140

Java 中获取资源(文件)的路径问题总结

Java 中获取资源(文件)的路径问题总结 首先,Java 中获取资源大体上可分为两种方式,基于 文件系统的 和 基于classpath的.  1. 基于文件系统的相对简单.    比如 构造一个File f = new File('text.txt');   这里传递给File构造函数的可以是相对路径比如text.txt就是相对路径,   也可以是绝对路径...

2014-03-22 17:52:53 532

原创 PowerMocker,Mockito和Junit 备忘

PowerMocker,Mockito和Junit 备忘 1. JUnit 是基础,进行单元测试.参考:http://www.ibm.com/developerworks/cn/java/j-lo-junit4/ 1.1 JUnit的常用Annoation:1.         @Test: 测试方法,可以有两个参数(expected=XXException.class,...

2014-03-22 15:48:58 279

原创 XML 备忘

XML 备忘 1.XML命名空间 XML 命名空间(XML Namespaces) http://www.w3school.com.cn/xml/xml_namespaces.asp XML学习笔记(一):XML中的命名空间  http://www.cnblogs.com/martin-chen/archive/2011/02/24/xml-studynote-n...

2014-03-22 13:51:43 141

原创 [转]PowerMock 简介 使用 PowerMock 以及 Mockito 实现单元测试

PowerMock 简介使用 PowerMock 以及 Mockito 实现单元测试http://www.ibm.com/developerworks/cn/java/j-lo-powermock/EasyMock 以及 Mockito 都因为可以极大地简化单元测试的书写过程而被许多人应用在自己的工作中,但是这 2 种 Mock 工具都不可以实现对静态函数、构造函数、私有函数...

2014-03-21 16:54:56 211

原创 【转】Xming + PuTTY 在Windows下远程Linux主机使用图形界面的程序

转自: http://hi.baidu.com/mooncold/item/d7147a4bc1826deb1f19bc1dXming + PuTTY 在Windows下远程Linux主机使用图形界面的程序起因接下去的工作要作一些数值模拟,于是到师兄的工作站上开了个帐号。工作站运行的是RHEL4,要说远程SSH,就算是FTerm也足够胜任,不过,因为我要用的查看计算结果的软件需要使用图形...

2014-03-14 18:41:21 268

GC时旧生代空间大小的疑问.

-Xms18m-Xmx18m-Xmn16m-XX:+UseSerialGC -XX:-UseAdaptiveSizePolicy-XX:SurvivorRatio=6-verbose:gc -XX:+PrintGC-XX:+PrintGCDetails 使用上面的JVM参数运行下面的代码时,GC日志中旧生代总容量变成4096K(4M),与设置的2M(18-1...

2014-03-14 18:36:29 250

JVM GC总结

JVM GC总结 参考 林昊 <分布式Java应用基础与实践> 1. 首先需要弄清JVM的内存结构,参考: 【转】JVM内存结构   2. JVM GC 大致可分为三类:Minor GC,Major GC和Full GC.    Minor GC指堆内存 新生代上发生的垃圾回收.      Major GC是指堆内存的旧生代 和 非堆内存的持久...

2014-03-11 18:23:52 221

原创 【转】JVM内存结构

转自: http://java.chinaitlab.com/Jvm/921861.html 其实对于我们一般理解的计算机内存,它算是CPU与计算机打交道最频繁的区域,所有数据都是先经过硬盘至内存,然后由CPU再从内存中获取数据进行处理,又将数据保存到内存,通过分页或分片技术将内存中的数据再flush至硬盘。那JVM的内存结构到底是如何呢?JVM做为一个运行在操作系统上,但又独立于os运...

2014-03-09 17:48:47 123

Oracle中几个日期相关的计算

Oracle中几个日期相关的计算 1. 计算当前是第几周    有两种方式:   select to_char(sysdate,'ww') from dual; --ww的算法为每年1月1日为第一周开始,date+6为每一周结尾 --例如:20050101为第一周的第一天,而第一周的最后一天为20050101+6=20050107 --这里1...

2014-03-07 19:03:49 187

Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)

 JDK中自带的ZipOutputStream在压缩文件时,如果文件名中有中文,则压缩后的zip文件打开时发现中文文件名变成乱码.  解决的方法是使用apache-ant-zip.jar包(见附件)中的ZipOutputStream和ZipEntry.即,导入类: import org.apache.tools.zip.ZipEntry; import or...

2014-03-05 19:25:19 756

原创 [转] oracle中的 %type %rowtype 用法

oracle 中的%type,%rowtype1、使用%TYPE在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据。在这种情况下,变量应该拥有与表列相同的类型。例如,students表的first_name列的类型为VARCHAR2(20),我们可以按照下述方式声明一个变量DECLARE       v_FirstName VARCHAR2(20);但是如果first_name列的定义...

2014-03-03 10:35:39 244

原创 Java NIO(内存映射文件) 与 传统IO write 性能测试

package io;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;import java.nio.channels.FileC...

2014-03-02 15:23:51 168

Java NIO(内存映射文件) 与 传统IO 读取 性能测试

package io;import java.io.File;import java.io.RandomAccessFile;import java.nio.ByteBuffer;import java.nio.MappedByteBuffer;import java.nio.channels.FileChannel;import java.nio.channels....

2014-02-28 18:04:13 329

FileInputStream,FileOutputStream和RandomAccessFile 获取的FileChannel

package io;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.ByteBuffer;imp...

2014-02-27 18:45:43 682

System.in包装成BufferedReader

package io;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 将 System.in包装成BufferedReader * System.in是一个InputStream,所以需要先用InputStreamRead...

2014-02-27 18:44:47 215

Java 的格式化输出

package io;import java.util.GregorianCalendar;import java.util.TimeZone;/** * Java 的格式化输出 * Java 的格式化输出一般用于下面几种情况 * (1)String.format(String formatter,agr...) * (2)System.out.printf(St...

2014-02-27 18:43:18 114

RandomAccessFile 类读写测试及其性能优化(二)

package io;import java.io.File;import java.io.RandomAccessFile;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * RandomAccessFile 类读写测试及其性能优化(二)...

2014-02-26 18:19:54 558

RandomAccessFile 类读写测试及其性能优化(一)

package io;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.util.Random;import java.util.concurrent.CountDownLatch;import java.util.concurrent....

2014-02-26 18:18:01 1559

原创 Eclipse UML工具,支持反向工程

http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML jude下载http://astah.net/download#communityjude教程http://wenku.baidu.com/view/d361d40102020740be1e9b41.html ...

2014-02-23 12:39:20 163

原创 安装 Maven配套的tomcat插件

安装 Maven配套的tomcat插件 1. 查看 myeclipse中eclipse的版本 到myeclipse安装目录的readme文件夹中的 readme_eclipse.html 文件查看 示例如下,显示的版本号为3.3.1 Eclipse Project Release Notes Release 3.3.1Last revised Sep...

2014-02-23 11:51:20 106

ActiveMQ in Action 翻译 声明

声明: ActiveMQ in Action 原文 版权属于 原作者(Bruce Snyder, Dejan Bosanac, and Rob Davies) 和原出版社. 本翻译文档 版权 属于 原作者、出版社和本人. 翻译文档仅用于学习和交流,未经书面许可,谢绝各种形式的 转载,复制,出版 等....

2014-02-08 20:16:53 124

原创 Maven 命令使用备忘

1. Maven 命令使用备忘 打开dos窗口,定位当前目录到工程根目录下(该目录下面有pom.xml文件) 下面是 执行java类的命令,注意exec.mainClass 参数前面带包名,该包名是类文件中第一行package实际所标识的不包含src/main/java这个目录(这个目录是myeclipse中Maven工程默认的源文件目录,包名不用包含这个目录) m...

2014-02-08 19:14:15 101

ActiveMQ 5.8.0 事务相关示例程序分析

ActiveMQ 5.8.0 事务相关示例程序分析 示例程序在版本中的位置:apache-activemq-5.8.0\example\transactions 1. 概述 该示例程序模拟了一个电脑采购的过程:零售商(Retailer)向中间商(Vendor)下订单订购电脑,中间商收到订单后,向供应商(Supplier)订购电脑配件(存储硬件和显示器). 示...

2014-02-08 12:18:00 235

原创 JMS 消息被接收后是否可以修改

摘自 JMS2.0 规范 3.10. Changing the value of a received messageA consumer can modify a received message after calling either the clearBody or clearProperties method to make the body or properties writa...

2014-01-26 15:36:16 106

原创 JMS Message Listeners (官方文档)

转自 JMS Message ListenersJMS Message ListenersA message listener is an object that acts as an asynchronous event handler for messages. This object implements theMessageListener interface, whic...

2014-01-26 09:46:12 314

原创 Java的官方文档地址

The Java EE 6 Tutorial Chapter 30 Java Message Service Concepts JMS Message Listeners JMS API JMS规范和JMS API下载地址

2014-01-26 09:27:45 216

原创 Java 堆,栈, 常量池

转载: http://zy19880423.iteye.com/blog/434179Java内存分配:1. 寄存器:我们在程序中无法控制2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中3. 堆:存放用new产生的数据4. 静态域:存放在对象中用static定义的静态成员5. 常量池:存放常量6. 非RAM存储:硬盘等永久存储空间-------------...

2014-01-22 15:14:42 79

原创 Spring 使用ActiveMQ 收发消息实例

http://jackyin5918.iteye.com/blog/1974197 的示例工程Spring配置文件如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/...

2014-01-22 10:43:50 139

ActiveMQ 使用Ajax 收发消息实战

ActiveMQ 使用Ajax 收发消息实战 1. 原理简析 ActiveMQ 在版本发布包中包含了web sample的demo,其中就包含js与ActiveMQ交互的库文件amq.js.以5.8.0版本为例,该文件目录为apache-activemq-5.8.0\webapps-demo\demo\js\amq.js这个js文件还依赖一些基于公共JavaScript...

2014-01-20 17:30:54 453

DELPHI关键字详解.doc

DELPHI关键字详解.doc word版 方便打印 对Delphi关键字 详细解释,附加实例

2010-04-18

FastReport中文详细教程

这个指南让你熟悉报表设计器和了解报表设计的基本概念(各种区域,数据源,二次表,等等)。指南将帮助你开始用FastReport创建报表,但它不能告诉你怎样使用其它基本的报表设计器。 如果你不熟悉报表设计器,我们建议你参考QuickReport的帮助系统。QuickReport的指南已经包含在你的Delphi拷贝中。QuickReport的大部分基本概念也适用于FastReport,然而,FastReport能提供更多的弹性和最终用户的自定义。 关于FastReport的说明 FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。 整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目中占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE中增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。 你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表。 FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。 FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。

2010-04-15

Office2003Icons图标文件

Office2003Icons图标文件,图标文件,程序设计界面的好东西

2010-04-15

鼠标文件(安装后 增加鼠标主题)

指针如何使用? 1.先把下载的压缩文件解压,然后复制到C:\Windows\Cursors\ 即可。要使用指针打开控制面板 - 鼠标,选择“指针”,接着将Windows默认的指针替换成你所喜欢的,完成后最好另存一下,这样可以使以后的替换更加方便。 2.看下载的指针文件是否有安装信息文件(*.inf),用右键点击此安装文件然后选择安装,安装成功后再在控制面板里面找到鼠标属性,再在指针选项下修改你刚安装的方案即可.

2010-04-15

Delphi 程序员 代码 风格指南

1序言 3 2 Delphi工程项目 4 2.1 工程文件 4 2.1.1建立工程目录树 4 2.1.2 命名 5 2.2 Unit文件 5 2.2.1 Unit命名 5 2.2.2窗体、数据模块的命名 5 2.2.3 文件头 5 2.2.4 uses子句 6 2.2.5 interface部分 6 2.2.6 implementation部分 6 2.2.7文件尾 6 2.3一个完整的单元示例 7 3 Object Pascal 9 3.1 代码缩进 9 3.2 页边空格 10 3.3 begin…end 配对 10 3.4 括号 11 3.5 保留字和关键字 11 3.6 过程和函数 11 3.6.1 命名规则 11

2010-04-08

Objece_Pascal_中文.chm

关于版权 本参考中所有以Original标明的内容,均原文出自Delphi 6帮助系统,版权归Borland/Inprise公司所有。 本参考中所有以译文和/或编者注标明的内容,均系编者个人观点,而不作为Borland/Inprise公司发布的内容,版权归编者所有。 本参考纯粹作为学习和研究之用,不提供任何商业用途,故请使用者切勿侵犯Borland/Inprise公司版权及编者版权。 谅解声明 如果您发现本参考侵犯了任何企业、团体、公司、个人等的版权,请您立即停止使用并及时通知编者以停止版权侵犯。 本参考纯粹编者一家之言,疏漏和错误之处难免存在,欢迎批评指正,编者将做及时更新。 注意 本参考对任何团体和个人都完全免费且无任何附加条件。 欢迎通过E-mail向本人索取最新版本(建议邮件主题为:Fetch Object Pascal Reference)。

2010-04-08

Delphi TServerSocket和TClientSocket两个组件的基本用法

笔者在工作中遇到对局域网中各工作站与服务器之间进行Socket通信的问题。现在将本人总结出来的TServerSocket和TClientSocket两个组件的基本用法写出来,希望与您分享。 ClientSocket组件为客户端组件。它是通信的请求方,也就是说,它是主动地与服务器端建立连接。 ServerSocket组件为服务器端组件。它是通信的响应方,也就是说,它的动作是监听以及被动接受客户端的连接请求,并对请求进行回复。 ServerSocket组件可以同时接受一个或多个ClientSocket组件的连接请求,并与每个ClientSocket组件建立单独的连接,进行单独的通信。因此,一个服务器端可以为多个客户端服务。 设计思路

2010-04-08

delphi编译指令

A.1 使用编译设置对话框 编译器的编译指令是用于指定编译器对项目编译过程的动作和行为。可以通过[Project]->[Options]->[Complier]选项页进行设置,绝大部分的编译环境都可以通过这一对话框进行调整,他包含了对代码、语法、调试信息等的设置。 1.代码设置(Code Generation) Optimization: 代码优化开关 Aligned record fields: 字对齐数据。这个编译指令能够在变量和类型化常量的字节对齐和字对齐之间进行切换,其作用是全局的。

2010-04-08

VCL类结构图(包含所有类及其继承关系)

vcl详细结构图 VCL类结构图(包含所有类及其继承关系)

2010-04-08

Delphi用SQLDMO实现带进度条的SQL Server数据库备份!

unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,SQLDMO_TLB, StdCtrls, ComCtrls,comobj; type TForm3 = class(TForm) Button1: TButton; ProgressBar1: TProgressBar; procedure Button1Click(Sender: TObject);

2010-04-08

delphi如何调用sql存储过程,并获取结果

delphi如何调用sql存储过程,并获取结果 adostoredproc1.Close; adostoredproc1.ProcedureName:='sp_thchl'; adostoredproc1.Parameters.Clear; adostoredproc1.Parameters.CreateParameter('out',ftInteger,pdoutput,1,1); adostoredproc1.ExecProc; edit1.Text :=adostoredproc1.Parameters[0].Value;

2010-04-08

delphi操作存储过程.

dbms:ms sql server 2000 存储过程如下: CREATE proc tstPro @age int, @theNum int output as select @theNum=count(sn) from s where sa=@age GO delphi中调用: var str:string;

2010-04-08

Windows Sockets 规范及应用-Windows 网络编程接口

Windows Sockets 规范以U.C. Berkeley 大学BSD UNIX 中流行的Socket 接 口为范例定义了一套Micosoft Windows 下网络编程接口。它不仅包含了人们所 熟悉的Berkeley Socket 风格的库函数;也包含了一组针对Windows 的扩展库函 数,以使程序员能充分地利用Windows 消息驱动机制进行编程。 Windows Sockets 规范本意在于提供给应用程序开发者一套简单的API,并 让各家网络软件供应商共同遵守。此外,在一个特定版本Windows 的基础上, Windows Sockets 也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API 的应用程序能够在任何网络软件供应商的符合Windows Sockets 协 议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件 供应商能够实现的一套库函数调用和相关语义。

2010-04-08

Delphi的原子世界

在使用DELPHI开发软件的过程中,我们就像草原上一群快乐牛羊,无忧无虑地享受着Object Pascal语言为我们带来的阳光和各种VCL控件提供的丰富的水草。抬头望望无边无际蔚蓝的天空,低头品尝大地上茂密的青草,谁会去想宇宙有多大,比分子和原子更小的东西是什么?那是哲学家的事。而哲学家此时正坐在高高的山顶上,仰望宇宙星云变换,凝视地上小虫的爬行,蓦然回头,对我们这群吃草的牛羊点头微笑。随手扯起一根小草,轻轻地含在嘴里,闭上眼睛细细品尝,不知道这根青草在哲学家的嘴里是什么味道?只是,他的脸上一直带着满意的微笑。 认识和了解DELPHI微观的原子世界,可以使我们彻底理解DELPHI的宏观应用程序结构,从而在更广阔的思想空间中开发我们的软件。这就好像,牛顿发现了宏观物体的运动,却因为搞不清物体为什么会这样运动而苦恼,相反,爱因斯坦却在基本粒子规律和宏观物体运动之间体验着相对论的快乐生活! 第一节 TObject原子 TObject是什么? 是Object Pascal语言体系结构的基本核心,也是各种VCL控件的起源。我们可以认为,TObject是构成DELPHI应用程序的原子之一,当然,他们又是由基本Pascal语法元素等更细微的粒子构成。 说TObject是DELPHI程序的原子,是因为TObject是DELPHI编译器内部支持的。所有的对象类都是从TObject派生的,即使你并未指定TObject为祖先类。TObject被定义在System单元,它是系统的一部分。在System.pas单元的开头,有这样的注释文本: { Predefined constants, types, procedures, } { and functions (such as True, Integer, or } { Writeln) do not have actual declarations.} { Instead they are built into the compiler } { and are treated as if they were declared } { at the beginning of the System unit. }

2010-04-06

Delphi多线程教程

Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编 程的全部,我写此文的目的在于对此作一个补充。 线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线程。 当一个进程中用到超过一个线程时,就是所谓的“多线程”。 那么这个所谓的“一段代码”是如何定义的呢?其实就是一个函数或过程(对Delphi而言)。 如果用Windows API来创建线程的话,是通过一个叫做CreateThread的API函数来实现的,它的定义为: HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId ); 其各参数如它们的名称所说,分别是:线程属性(用于在NT下进行线程的安全属性设置,在9X下无效),堆栈大小, 起始地址,参数,创建标志(用于设置线程创建时的状态),线程ID,最后返回线程Handle。其中的起始地址就是线 程函数的入口,直至线程函数结束,线程也就结束了。

2010-04-06

Delphi操作Excel类

使用方便,功能强大。 type FileCheckResult = (fcrNotExistend,fcrNotXSLFile,fcrValidXSL); //文件不存在,不是XSL文件,合法的XSL文件 TOLEExcel = class(TComponent) private FExcelCreated: Boolean; FVisible: Boolean; FExcel: Variant; //Excel程序对象 FWorkBook: Variant; //Excel工作簿对象 FWorkSheet: Variant; //Excel工作簿 工作表对象 FCellFont: TFont; //单元格字体对象 FTitleFont: TFont; // FFontChanged: Boolean; FIgnoreFont: Boolean; FFileName: TFileName; //********************************************自己添加*****************************// FCreateFromFile:Boolean; //指示是否打开已有文件 FExcelCaption:string; //用程序打开Excel的窗体标 //*********************************来自U_Report*****************************// FRCPrePage:Integer; //每页显示的记录数 FMax:Integer; //最大的数组个数 procedure SetExcelCellFont(var Cell: Variant); procedure SetExcelTitleFont(var Cell: Variant); procedure GetTableColumnName(const Table: TTable; var Cell: Variant); procedure GetQueryColumnName(const Query: TQuery; var Cell: Variant); procedure GetFixedCols(const StringGrid: TStringGrid; var Cell: Variant); procedure GetFixedRows(const StringGrid: TStringGrid; var Cell: Variant); procedure GetStringGridBody(const StringGrid: TStringGrid; var Cell: Variant); protected procedure SetCellFont(NewFont: TFont); procedure SetTitleFont(NewFont: TFont); procedure SetVisible(DoShow: Boolean); function GetCell( ARow,ACol: Integer): string; procedure SetCell(ACol, ARow: Integer; const Value: string); function GetDateCell(ACol, ARow: Integer): TDateTime; procedure SetDateCell(ACol, ARow: Integer; const Value: TDateTime); //*********************************************自己添加************************************// procedure SetCaption(ACaption:string);//设置打开文件后,Excel主程序的窗体标题 function GetCapiton:string;//返回打开文件后,Excel主程序的窗体标题 public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure C

2010-04-06

PHP中文教程

php手册chm版,详细的教程

2008-06-21

smarty手册带目录word打印版

自己编辑的smarty手册,按章节编辑了目录,方便打印出来学习

2008-06-21

XML快速入门

XML快速入门,非常适合XML初学者

2008-06-21

PHP序列化 规则

内容来自网络,在此做个总结,方便大家查看

2008-06-21

mysql存储过程教程

mysql存储过程详细教程

2008-06-21

smarty手册中文版

该软件来自网络,版权归原作者所有,仅供大家学习交流!

2007-10-16

空空如也

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

TA关注的人

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