随笔分类 - 软件开发:Delphi
摘要:TThread是一个抽象类,可以创建几个独立的线程。类关系 TObject在一个多线程的应用程序中创建一个TThread的后子类代表一个线程。每一新子类的TThread对象的实例是一个新的线程。从TThread派生的多线程实例可以构成Delphi的多线程应用程序。当一个应用程序运行时,应用程序就被载入内存准备执行。此时,它成为包含一个或多个线程的进程,每个线程含有数据、代码和系统资源。线程执行应用...
阅读全文
摘要:1.获得网页中变量值 htm中<script> var currID=123</script> 程序中可以这么调用 id := Form1.WebBrowser1.OleObject.Document.script.currID 值得说明的是,变量可以是javascript定义的,也可以是vbscript定义的,如果Webbrowser1中找不到该变量,调用会触发一个...
阅读全文
摘要:A.1 使用编译设置对话框 编译器的编译指令是用于指定编译器对项目编译过程的动作和行为。可以通过[Project]-[Options]-[Complier]选项页进行设置,绝大部分的编译环境都可以通过这一对话框进行调整,他包含了对代码、语法、调试信息等的设置。 1.代码设置(Code Generation) Optimization: 代码优化开关 Aligned record fields: 字对齐数据。这个编译指令能够在变量和类型化常量的字节对齐和字对齐之间进行切换,其作用是全局的。 Stack frames: Windows 堆栈帧。其作用域是局部的,他使编译器成为远端过程和函数生成
阅读全文
摘要:设有以下三个变量: var s:string; p:pchar; a:array[1..20] of char; 那么三者之间的转换如下: 1、字符串到PChar p:=PChar(s); 2、PChar到字符串 s:=p; 3、PChar到字符数组 StrCopy(@a,p); 4、字符数组到PChar PChar(@a); 5、字符串与字符数组之间的转换就只有通过PChar来中转了。例如下面这个例子: procedure TForm1.btn1Click(Sender: TObject); var str:array[1..10] of char; begin StrCopy(@s
阅读全文
摘要:首先我把UDP无连接协议的套接字调用时序图表示出来在我把在Delphi中使用UDP协议实现数据通讯收发的实现方法总结如下:例子描述:下面例子是我的一个实际设备通讯的例子,使用UDP协议在4660端口上发送'F1,00'(16进制,2个字节),在同一个端口上接收到'F1,00,00,00,00,00'((16进制,2个字节))1.使用底层函数来实现procedure TForm1.FormCreate(Sender: TObject); var WSAData:TWSAData; begin edtHost.Text:=192.168.1.222'; edtPort.Text:='4660';
阅读全文
摘要:按照Delphi文档上所说,欲在两个socket之间通信,必须一个为client,一个为server。这个概念在TCP上还好说,但是用在UDP上就不大合适了。borland提供的UDP组件只有一个TUDPSocket,按照borland的说法,TUDPSocket即可以作为client也可以作为server使用(UDP下,server与client的区别并不明显,但为了方便我们不妨这么称呼)(参考 turbo delphi win32 developer's guide里的Using Client Sockets和Using Server Sockets)。但是通过源码我们不难发现,TUDPS
阅读全文
摘要:Delphi TServerSocket,TClientSocket实现传送文件代码 1.建立两个工程Server及Client, 分别放TServerSocket及TClientSocket控件,Demo,Edit控件等。 2.设置TServerSocket name为 SS, ServerType为stNonBlocking,TClientSocket name为cs,ClientType为ctNonBlocking表示异步读写信息。注意ClientType和ServerType要相一致.若为ctBlocking则表示同步读写信息。 3.Socket传送文件的顺序图 a)Client-
阅读全文
摘要:用法: uses Decode.pas ...... var str : String; ..... str := DecodeLine7Bit('=?gb2312?B?0MK9qCDOxNfWzsS1tS50eHQ=?='); ..... ********************************* //Decode.pas unit Decode; interface use...
阅读全文
摘要:unit FReplace; interface Type TFastPosProc = function( const aSourceString, aFindString : String; const aSourceLen, aFindLen, StartPos : integer ) : integer; function FastReplace( var aSourceS...
阅读全文
摘要:初次接触DELPHI对它提供的RAD快速编程模式颇感神奇,随手拖放及格控件设定些属性一个应用程序就诞生了,我正是被这种特性所吸引。随着深入,慢慢的窥探到了DELPHI的VCL体系,知道了随手拖放背后隐藏的秘密:一切都起源于VCL的对象体系,一切都是面对对象的编程思想。Object pascal就是是怎样实现这个体系的呢,它究竟是如何将面对对象的特性表现出来的呢,Delphi的类和对象究竟是以什么样的形式存在的呢。带着这些问题我翻阅了一些书籍,也借鉴了一些网友的成果,做了下面的探索。动态内存与静态内存 程序需要执行必须先装载入内存,任何程序表现的数据都存在内存中。当程序运行时,系统首先将所有数据
阅读全文
摘要:function FormatDateTime(const Format: string; DateTime: TDateTime): string; Format参数是一个格式化字符串。DateTime是时间类型。返回值是一种格式化后的字符串,重点来看Format参数中的指令字符c以短时间格式显示时间,即全部是数字的表示 FormatdateTime('c',now); 输出为:2004-8-7 9:55:40 d 对应于时间中的日期,日期是一位则显示一位,两位则显示两位 FormatdateTime('d',now); 输出可能为1~31 dd 和d的意义一样,但它始终是以两位来显示的 F
阅读全文
摘要:经过多次测试和查证,发现03server平台用delphi7.0开发的应用程序就是不支持直接调用webservice,无论这个webservice是delphi开发的还是C#开发,抑或是java开发的,都会提示下面的错误,如下图:解决方法都是把这个exe文件添加到数据执行保护的例外中,如下图:而且,大家应该都看到上面的delphi开发环境已经在安装时自动放到例外中了,因此在开发环境中按下F9运行程...
阅读全文
摘要:使用Delphi的剪贴板的AsText方法会导致非英语出现乱码,怎么解决?改用Unicode就可以了。procedureSetClipboardText(AStr:string); var//SetBuffer(CF_TEXT,PChar(Value)^,Length(Value)+1); Data:THandle; DataPtr:Pointer; Size:Integer; WStr:PWid...
阅读全文
摘要:...var hwnd:THandle; F:FLASHWINFO;begin ... if hwnd>0 then begin F.cbSize:=sizeof(FLASHWINFO); F.hwnd:=hwnd; F.dwFlags:=FLASHW_ALL or FLASHW_STOP; F.uCount:=4; F.dwTimeout:=250; if not IsWindowVisi...
阅读全文
摘要:var canvas: TCanvas; bmp:TBitmap; dwh:hWnd; dwd:HDC; begin dwh:=GetDesktopWindow; dwd:=GetWindowDC(dwh); canvas:=TCanvas.Create; try canvas.Handle:=dwd; bmp:=TBitmap.Create; try bmp.Width ...
阅读全文
摘要:{============================================================ = AlphaWindow = = = = = = 版本:1.1beta = = 功能:支持在Win2k下自动实现Alpha过滤窗口效果 = = 作者:Flier (Flier@stu.ccnu.edu.cn) = = 日期:2000年8月5日 = = 版权:你可以在任意商业...
阅读全文
摘要://Cust and paste into a new application and the output will //be placed in a folder called c:\icons //-------------------------- Cut ----- unit Unit1; interface uses Windows, Messages, SysUtils, Clas...
阅读全文
摘要:下面的内容是创建了一个遍历目录的控件。 AllDirs的单元文件中。这个单元文件中具有内建的堆栈,并有一个叫做TRunDirs的对 象,该对象知道如何遍历子文件夹。需要说明的是,TRunDirs是TComponent的派生对象 。不可见控件经常是直接从TComponent派生出来的。根据定义,不可见控件是不可能从 TCustomControl , TGraphicControl或者TWinCont...
阅读全文
摘要:unit ping; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,winsock, StdCtrls, Grids; type PIPOptionInformation=^TIPOptionInformation; TIPOptionInformation =...
阅读全文
浙公网安备 33010602011771号