随笔分类 -  Delphi

摘要:首先DSServerClass的lifecycle属性有Invocation、Server、Session三种模式; 简单叙述一下三点区别: 另外需要注意的是: 当使用session模式时,请不要重写DSServerClass1的OnDestroyInstance事件,写了系统就不会自动释放建立的T 阅读全文
posted @ 2016-10-11 17:41 胖达没有海 阅读(516) 评论(1) 推荐(1)
摘要:服务端 1.服务端只需要增加DSAuthenticationManager1并且把dshttpservice的AuthenticationManager属性设置为DSAuthenticationManager1即可。 2.在DSAuthenticationManager1的OnUserAuthent 阅读全文
posted @ 2016-10-09 10:57 胖达没有海 阅读(1891) 评论(0) 推荐(1)
摘要:首先吐槽一下XE关于datasnap的资料真的是太少了。。。 另外如果参数里有中文的话需要对参数编码一下,用TIdURI.ParamsEncode方法即可,不过最好重写一下这个方法,因为rest协议参数是以"/"来分割的,所以接口有参数的话请把每个参数内容重新编码再加上“/”字符拼接发送过去。 客户 阅读全文
posted @ 2016-09-27 21:36 胖达没有海 阅读(1126) 评论(0) 推荐(0)
摘要:var hdWin,hdfocus: THandle; trdID: Cardinal;//获取前置app窗口句柄hdWin := GetForegroundWindow;//FindWindow(nil,'Project1');//获取前置app线程句柄 trdID := GetWin... 阅读全文
posted @ 2014-04-28 11:12 胖达没有海 阅读(281) 评论(0) 推荐(0)
摘要:Windows消息机制Windows操作系统最大的特点就是其图形化的操作界面,其图形化界面是建立在其消息处理机制这个基础之上的。如果不理解Windows消息处理机制,肯定无法深入的理解Windows编程。可惜很多程序员对Windows消息只是略有所闻,对其使用知之甚少,更不了解其内部实现原理,本文试... 阅读全文
posted @ 2014-04-10 23:15 胖达没有海 阅读(351) 评论(0) 推荐(0)
摘要:默认string类型为ansiString;有编译开关控制 shortString: strShort : shortString; strShort 大小256字节,可根据sizeof()计算出,strShort[0]存储字符串长度,所以最大为255。 全局变量strShort 默认初始化为空字符 阅读全文
posted @ 2014-03-24 11:18 胖达没有海 阅读(2828) 评论(0) 推荐(0)
摘要:viewRadio_th线程函数在form外生命全局变量、函数内相应的局部变量可以接收全局变量的赋值进行操作、query等可以自行创建进行查询、这样结果不会改变。//下面是后台发送字幕的线程函数应用。……var ldate,ldatetime:string; lHandle:thandle; dloopThreadID:dword; message_form: Tmessage_form; function viewRadio_th(P:pointer):Longint;stdcall;implementationuses commonDM, ubox_c, common_u, lo... 阅读全文
posted @ 2014-01-20 16:28 胖达没有海 阅读(267) 评论(0) 推荐(0)
摘要:利用delphi dll wizard进行dll的编写。创建:保存时改dll名称library test2;uses SysUtils, Classes, forms, dialogs;{$R *.res}function test():string;begin showmessage('a');end;exports test;//必须的beginend.调用:在调用单元的implement下面 function test():string;external 'xxxxxxx\test2.dll';button中调用test方法即可。动态调用dll:type 阅读全文
posted @ 2014-01-20 16:26 胖达没有海 阅读(340) 评论(0) 推荐(0)
摘要:1. 首先引用winsock单元 function PingHost(HostIP: String): Boolean;type PIPOptionInformation=^TIPOptionInformation; TIPOptionInformation=packed ... 阅读全文
posted @ 2014-01-20 16:25 胖达没有海 阅读(939) 评论(0) 推荐(0)
摘要:隐藏状态栏中的窗体ShowWindow( Handle, SW_HIDE ); SetWindowLong( Handle, GWL_EXSTYLE,GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOPMOST or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); ShowWindow( Handle, SW_SHOW ); 阅读全文
posted @ 2014-01-20 16:24 胖达没有海 阅读(156) 评论(0) 推荐(0)
摘要:此方法安装了llPDFLib.v3.6 控件、对pdf左侧、右侧正文进行了操作。procedure TForm1.Button1Click(Sender: TObject);var node,nd1:TPDFOutlineNode; PW,ph:integer; bmp:TBitma... 阅读全文
posted @ 2014-01-20 16:17 胖达没有海 阅读(7027) 评论(2) 推荐(0)
摘要:单目运算符 (最高优先级) @ 取变量或函数的地址(返回一个指针) not 逻辑取反或按位取反 乘除及按位运算符 * 相乘或集合交集 / 浮点相除 div 整数相除 mod 取模 (整数相除的余数) as 程序运行阶段类型转换 (RTTI运算符) and 逻辑或按位求和 shl 按位左移 shr 按位右移 加减运算符 + 相加、集合并集、字符串连接或指针增加一个偏移量 - 相减、集合差集或指针减少一个偏移量 or 逻辑或按位或运算 xor 逻辑或按位异或运算 关系及比较运算符(最低优先级) = 判断是否相等 判断是否不相等 < 判断是否小于 阅读全文
posted @ 2014-01-20 16:13 胖达没有海 阅读(862) 评论(0) 推荐(0)
摘要:Delphi 中的Additional页里有个Maskedit控件,它可以限制用户只能按照既定的输入格式输入,只需要在其EditMask属性进行一定的设置即可实现。 掩码格式可以分为三部分每个部分之间用分号“;”分开。第一部分;第二部分;第三部分其中, 第一部分是掩码本身,也就是数据输入格式。 在这一部分用一些特殊的格式符来表示应输入的字符类型及格式,常用的特殊格式符有:!去掉输入数据开头的空格符> 让输入数据的字母都变成大写,直到遇上掩码字符 不限制输入数据字母是大写或小写\ 若在输入格式内加入某个特殊字符,只要在特殊字符的前面加上此掩码就可以。(其实不加也可以)L 允许... 阅读全文
posted @ 2014-01-20 14:06 胖达没有海 阅读(2202) 评论(0) 推荐(0)
摘要:1.首先引用comobj、varints单元 2.声明xlApp,xlBook, xlSheet,picture: Variant; 3.基本操作 xlApp:=CreateOleObject('Excel.Application'); 有异常才没有安装Excel。 xlBook := xlApp. 阅读全文
posted @ 2014-01-20 14:03 胖达没有海 阅读(1187) 评论(0) 推荐(0)
摘要:查找操作tagName为input的对象var i:Integer; myole:oleVariant;begin myole := wb1.Document; for i := 0 to myole.all.length - 1 do begin i... 阅读全文
posted @ 2013-11-28 15:06 胖达没有海 阅读(576) 评论(0) 推荐(0)
摘要:function ReturnFiles(slFilePath: string):TStringList;var Sr : TSearchRec; Err : integer;begin result:=TStringList.Create; if slFilePath='' then exit; if RightStr(slFilePath,1)'\' then slFilePath:=slFilePath+'\'; Err:=FindFirst(slFilePath+'*', faAnyFile, Sr) ; While (E 阅读全文
posted @ 2013-10-11 16:15 胖达没有海 阅读(506) 评论(0) 推荐(0)
摘要://需要引用tlhelp32单元//查找进程function findProcessId(pname:string):Cardinal; var hsnapshot:THandle; lpe:TProcessEntry32; found:Boolean; begin Result:=0; if pname'' then begin hsnapshot:=Cre... 阅读全文
posted @ 2013-06-26 16:09 胖达没有海 阅读(772) 评论(0) 推荐(0)
摘要:unit Unit4; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TEnum = (One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten); TSetEnum = set of TEnum; TForm4 = class(TForm) GroupBox1: TGroupBox; GroupBox2: TGroupBox; ... 阅读全文
posted @ 2013-06-25 10:53 胖达没有海 阅读(394) 评论(0) 推荐(0)
摘要:image控件改变大小后再填充背景色有可能会遇到填充不了整个区域,画布大小受picture制约。这时候需要把picture:=nil;置空再填充,或者把bitmap大小改变来改变画布区域。Image.Picture.Bitmap.Width:=image.width;Image.Picture.Bitmap.Height:=image.height; 阅读全文
posted @ 2013-06-13 17:16 胖达没有海 阅读(337) 评论(0) 推荐(0)
摘要:比如鼠标左键点击form中的一个button就可以移动整个窗体,只需在其mousemove事件中加入以下代码。procedure TForm1.btn1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin ReleaseCapture; SendMessage(Self.Handle,WM_SYSCOMMAND,SC_MOVE+1,0);end; 阅读全文
posted @ 2013-05-29 15:07 胖达没有海 阅读(196) 评论(0) 推荐(0)