摘要: 下面说明如何编写用于IIS发布的ISAPI类型的WebService。1、 New|Other|WebServices|SOAP Server Application|这里先选择建立Web App Debugger 类型的WebService,因为这种类型的WebService便于调试,当我们调试好它,准备发布时再将 此类型转换为ISAPI类型。2、 选择Web App Debugger后,随便输入一个ClassName,这里我们输入“Test”3、 随后Delphi会询问你是否建立接口单元,选择是,然后输入接口的名字,我们输入Main, Delphi将自动建立接口单元(名字为你输入的接口名+ 阅读全文
posted @ 2013-04-28 12:36 小天1981 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 本例將實現一個基於.NET的WebService,並且使用Delphi調用,獲取數據。首先開發一個WebService,我使用VS2008下C#語言進行開發,新建一個ASP.NET Web Service工程,代碼如下:[WebMethod] public string GetData() { string ConnStr = "Provider=SQLOLEDB.1;Password=\"\";Persist Security Info=True;User ID=sa;Initial Catalog=Northwind;Data Source=192.168.1 阅读全文
posted @ 2013-04-28 12:35 小天1981 阅读(142) 评论(0) 推荐(0) 编辑
摘要: procedure TForm1.FormCreate(Sender: TObject);var dt: TDateTime;begin IdHTTP1.Head(sURL); dt := IdHTTP1.Response.LastModified; IdHTTP1.Disconnect; ShowMessage(DateTimeToStr(dt));end; 阅读全文
posted @ 2013-04-28 11:58 小天1981 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 本文介绍的是如何用Delphi6开发Web Service程序,并把服务程序放在IIS Web服务器上提供给各种客户程序调用。一编写服务程序第一步:File----->New----->Other------>WebServices----->Soap Server Application选择ISAPI/NSAPI Dynamic Link Library然后确定。生成一个框架。后面的大部分原代码都需要自己手工添加第二步:定义一个接口单元。先通过向导生成一个空的单元文件,然后在此单元中实现基本的接口(Iinvokable)和定义以后客户端程序可以调用的方法,原代码如下: 阅读全文
posted @ 2013-04-28 11:55 小天1981 阅读(423) 评论(0) 推荐(0) 编辑
摘要: ZipFile 类, 最方便使用的是它的类方法:--------------------------------------------------------------------------------TZipFile.ExtractZipFile() //解压 Zip 文件到指定文件夹TZipFile.IsValid() //判断指定文件是否是有效的 Zip 文件TZipFile.ZipDirectoryContents() //压缩指定路径下的所有文件------------------------------------------------------------------- 阅读全文
posted @ 2013-04-28 11:54 小天1981 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 其它某些文件传输代码精练很多,传输的文件大小任意,个人建议:写网络文件传输程序时最好用Indy的控件(因为其默认即阻塞模式,Server端已封装了多线程,没有数据包大小限制),ClientSocket VS ServerSocket传输文件很麻烦,要自定通信协议,并且有个8KB的瓶颈,实现大文件传输比较麻烦,服务端发送:var iFileHandle:integer; iFileLen,cnt:integer; buf:array[0..4096] of byte;begin iFileHandle:=FileOpen('E:\Study\深入Delphi6网络编程.rar', 阅读全文
posted @ 2013-04-28 11:53 小天1981 阅读(2308) 评论(0) 推荐(0) 编辑
摘要: 1 内存分配常见函数GetMem和FreeMem、GetMemory和FreeMemory、New和Dispose、StrAlloc和StrDispose、AllocMem、SysGetMem和SysFreeMem。2 GetMem和FreeMem、GetMemory和FreeMemory由于DELPHI的内存管理都知道分配内存的大小,因此在释放内存的时候,只要给指针地址不用给出长度就可以了。另外提倡用GetMemory和FreeMemory来代替GetMem和FreeMem,因为FreeMemory会判断指针是否为空。3 New和DisposeNew和Dispose是用来管理变体类型内存分配 阅读全文
posted @ 2013-04-28 11:44 小天1981 阅读(247) 评论(0) 推荐(0) 编辑
摘要: varsMoneyBoxOpenCommand='海宏软件,不同的打印机,指令不同';TOutBufPassThrough=record//调用windows.extEscape可以直接用extEscape(handle,PASSTHROUGH,sizeOf(outBuf),@outBuf,0,nil)向设备发送esc命令nDataLen:word;sEscData:array[0..1024]ofchar;end;varprt:TPrinter;esc:TOutBufPassThrough;try//驱动开prt:=printers.Printer;prt.beginDoc; 阅读全文
posted @ 2013-04-28 11:43 小天1981 阅读(1574) 评论(0) 推荐(0) 编辑
摘要: 先看一个非多线程的例子, 代码执行时不能进行其它操作(譬如拖动窗体):{自定义方法: 在窗体上绘制...}procedureMyMethod;var i: Integer;beginfori := 0to500000dobegin Form1.Canvas.Lock; Form1.Canvas.TextOut(10, 10, IntToStr(i)); Form1.Canvas.Unlock;end;end;{调用上面的自定义方法}procedureTForm1.Button1Click(Sender: TObject);begin MyMethod;end;修改为多线程(只修改一行代码... 阅读全文
posted @ 2013-04-28 11:42 小天1981 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 关于Delphi用PNG做异形窗口的资料有不少.都是用GDIPlus或者TPNGImage组件加载PNG图像做的.但是我很懒,不想引用的GDIPlus,也不想去找PNGImage下载.好在从Delphi2009开始Delphi中就收购了PNGImage,并集成到后继的版本中.Delphi2010又包装了微软的IWICImagingFactory接口,这样处理PNG的工作就交给操作系统去做了.函数很简单一共就几行,关键就是UpdateLayeredWindow.发现CodeGear真让我上火.他们收工了PNGImage以后搞的东西居然改出了问题.透明盒渐变都有问题.做异形窗口该渐变部分居然是透明 阅读全文
posted @ 2013-04-28 11:41 小天1981 阅读(211) 评论(0) 推荐(0) 编辑