上一页 1 ··· 140 141 142 143 144 145 146 147 148 ··· 203 下一页
该文被密码保护。 阅读全文
posted @ 2013-07-20 16:30 delphi中间件 阅读(447) 评论(0) 推荐(0)
摘要: 对于通讯协议的封装来说,经常就是“拼字节”,“拼字节的位”。本篇通过汉字机内码的例子来说明DELPHI对字节是如何操作的。一个汉字占用2个字节的内存空间,也就是一个字,一个字=二个字节。“啊”字的汉字机内码则是B0A1H,那么DELPHI如何通过机内码来显示“啊”字呢?DELPHI的16进制数表示类... 阅读全文
posted @ 2013-07-18 09:27 delphi中间件 阅读(2282) 评论(0) 推荐(0)
摘要: 现在的DELPHI因为支持泛型的语法,所以也能支持模板编程了。// 标准模板unit UntPools;interfaceuses Classes, SysUtils, UntThreadTimer;type { 这是一个对像池, 可以池化所有 TObject 对像 } { 用法: 在一个全局的地方定义 var Pooler: TObjectPool; 用到的地方 obj := Pooler.LockObject as Txxx; try finally Pooler.UnlockObject; end; 初始化 initialization Pool... 阅读全文
posted @ 2013-07-15 17:43 delphi中间件 阅读(4570) 评论(2) 推荐(2)
摘要: 任意对象若想要序列化,他无限分解后,只会剩下:基础数据类型(int、string、DateTime等)和数组,而其余的,皆为浮云。强大的功能的背后总是性能的牺牲。为了支持一切对象,不得不再次牺牲序列化的大小,在每一个集合的元素前都写入其类型。在牺牲序列化后的大小,得到的是——任意对象的复制!在我们总在讨论为了跨平台而使用XML、JSON。。。。。。序列化的时候,请记住,其实我们有种最最原始的方式,那就是结构体和拼字节的序列化方式也是可以跨平台的。而且这种原始的武器真的很简单很强大。至于通讯,简单的SOCKET编程你会吗? 阅读全文
posted @ 2013-07-13 15:26 delphi中间件 阅读(1093) 评论(0) 推荐(0)
摘要: SOA 是一种程序设计思想,其实早在远古时代(计算机史)它就已经出现了。无非就是把系统分解,将数据和业务逻辑部分尽量独立出来,然后以服务形式提供给另外的系统共用。那时也有一些可以实现 SOA 的工具,比如 DCOM、CORBA 等,不过前者仅限于 Windows,后者又太复杂,而且也仅对 C/C++、Delphi、Java 这等语言有较好支持,而且也都是商业开发软件中才会包含,对于开源的脚本类语言来说支持很差甚至没有支持(因为太复杂了,不是什么人都可以实现的了的,能够把整个 CORBA 规范完整读下来,都需要很好的耐心,还不一定都能够完全理解)。之后互联网发展了,XML-RPC 出现了,XML 阅读全文
posted @ 2013-07-13 15:24 delphi中间件 阅读(1036) 评论(0) 推荐(0)
摘要: 群里有位同仁提出他有一个DATASNAP远程方法超过了32个参数,然后DELPHI编译通不过,提示方法参数不能超过32个,问怎么办?于是群内同仁纷纷出主意,我说用OLEVARINAT数组,有人说用RECORD,我又说别说用RECORD,连自定义的类也是可以的。于是我想到了实现,用SUPEROBJECT序列RECORD或者CLASS为JSON的字符串挺方便的,中间件收到客户端传来的JSON字符串再还原为RECORD或者CLASS。unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, C 阅读全文
posted @ 2013-07-09 11:27 delphi中间件 阅读(2177) 评论(0) 推荐(0)
摘要: pci转并口卡模拟出来的并口并不能完全等同于主板上真正的并口。真正的并口打印的时候可以“直接瓶口输出”打印,而不需要安装打印驱动程序。这个模拟出来的并口却不能使用“直接瓶口输出”(打印机不打印,程序卡死)。怎么办:1.在电脑的PCI插槽上插好PCI转并口卡2.安装PCI转并口卡的驱动程序3.连接好小票打印机的打印线,并打开打印机的电源开关4.安装小票打印机的驱动程序,设置打印机的端口号为LPT3(PCI转并口卡模拟出来的端口号)测试可以打印“打印测试页”。5.修改client.ini文件更改里面的配置项,设置porttype=usb 阅读全文
posted @ 2013-07-02 16:52 delphi中间件 阅读(1963) 评论(0) 推荐(0)
摘要: 搞了好久却原来其实太简单: cxRichEdit1.Clear; Clipboard.Clear; ActiveSheet.cells[2, iCol].CopyPicture(1, 2); cxRichEdit1.PasteFromClipboard; 阅读全文
posted @ 2013-05-09 12:27 delphi中间件 阅读(604) 评论(0) 推荐(0)
摘要: functionHexStrToStream(AHexStr:String;AStream:TStream):Boolean;variLen:Integer;Buff:String;P1,P2:PChar;B:Byte;beginResult:=False;ifNotAssigned(AStream)thenExit;iLen:=Length(AHexStr);ifiLen=0thenExit;if(iLenmod2)<>0thenExit;SetString(Buff,Nil,iLendiv2);P1:=PChar(AHexStr);P2:=PChar(Buff);whileiL 阅读全文
posted @ 2013-04-27 17:05 delphi中间件 阅读(568) 评论(0) 推荐(0)
摘要: functionStreamToHexStr(AStream:TStream):String;constHexChars:array[0..15]ofChar='0123456789ABCDEF';vari,len:Integer;beginlen:=AStream.Size-AStream.Position;SetLength(Result,len*2);AStream.Read(Pointer(Result)^,len);fori:=lendownto1dobeginResult[i*2]:=HexChars[Byte(Result[i])and$0F];Result[i* 阅读全文
posted @ 2013-04-27 17:04 delphi中间件 阅读(574) 评论(0) 推荐(0)
上一页 1 ··· 140 141 142 143 144 145 146 147 148 ··· 203 下一页