文章分类 - Delphi API
Delphi 函数
摘要:单元接口部分引用 comobj 单元(uses )procedure TForm1.Button1Click(Sender: TObject);var excelx,excely : string;begintryExcelApp := CreateOleObject('Excel.Application');WorkBook := ExcelApp.WorkBooks.Open(opendialog.FileName);//使用opendialog对话框指定//excel档路径ExcelApp.Visible := false;ExcelRowCount := WorkBoo
阅读全文
摘要:1、在单元文件加入ComObj,创建 Excel 表格, var ExcelID: Variant; ExcelID := CreateOleObject( 'Excel.Application' ); 这样就创建一个excel application 实例2、添加新工作簿: ExcelID.WorkBooks.Add; 添加默认数量的工作簿3、设置第1个工作表为活动工作表: ExcelID.WorkSheets1].Activate; 或 ExcelID.WorkSheets[ 'Sheet1' ].Activate; 设置活动工作表后,就可以在活动工作表中添
阅读全文
摘要:目前的QQ2011版本中,其登陆界面上除了QQ号输入框和密码输入框,其他的的按钮都是绘图绘上去的,均无窗口句柄。QQ登录窗口的窗口类为'TXGuiFoundation',窗口标题为'QQ2011'。QQ账号输入框的窗口类为'TXEdit',窗口标题为空,密码输入框的窗口类为'Edit',窗口标题是动态的'A~Z'。由于登陆界面的【登录】按钮无窗口句柄,因此无法向按钮发送消息,由此猜想其界面的所有操作均是通过特定消息来操作的。但是向登录窗口发送WM_LBUTTONDOWN和WM_LBUTTONUP消息来模拟鼠标点击登
阅读全文
摘要://以下是部分代码,更详尽:http://zhidao.baidu.com/question/372432555.htmlunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); pr
阅读全文
摘要:procedure TForm1.btn1Click(Sender: TObject); var List:TListItem;begin lv1.Columns.Add.Caption := 'ID'; lv1.Columns.Add.Caption := 'User'; lv1.Columns.Add.Caption := 'PassWord'; lv1.Columns.Add.Caption := 'Start'; //添加三列,或者叫三柱; lv1.Items.Add.Caption := '1'; //添
阅读全文
摘要:try ... excetpt on e:Exception do 中的 E 是哪里来的?凭空出来的?怎么没在帮助里面找到说明?E是继承某个类么?这里只有 E.MESSAGE,答案摘要:你说的e, 就好像 var I: integer; 一样,声明一个变量而已 你当然可以 on abc: exception 也可,目的是声明一个 exception 变量转自:http://topic.csdn.net/t/20051028/23/4357712.html
阅读全文
摘要:Idhttp 验证码登录 常规的操作应该没什么难度,如果是验证码呢?我只贴出关键的代码,其实也不是很复杂。但是网络上就是没有这方面的教程。//第一步:获取验证码,代码如下:procedure TForm1.btn2Click(Sender: TObject); var Jpg:TJPEGImage; Memory:TMemoryStream;begin Jpg := TJPEGImage.Create; Memory := TMemoryStream.Create; idhtp1.Get('这里是验证码的网址,在验证码图片上单击右键复制图像地址',Memory); Memory
阅读全文
摘要:{如果Get验证码完成后要获取Cookie 就这样做:idhtp1.Response.RawHeaders.GetText; //关键行idhtp1.Response.RawHeaders.Text;//都是一样的效果;或者 idhtp1.CookieManager.CookieCollection.Items[0].CookieText 但是后者通常都会出错。应该还需要添加idCookieManager控件与idhttp关联。}{403错误:服务器要判断浏览器类别在GET之前,先指定UserAgent参数就行了.Request.UserAgent := 'Mozilla/4.0 (c
阅读全文
摘要:procedure TForm1.btn1Click(Sender: TObject);var Http:TIdHTTP;begin Http := TIdHTTP.Create(nil); Http.ProxyParams.ProxyServer := '91.211.141.249'; //代理IP Http.ProxyParams.ProxyPort := 8080; Http.ProxyParams.ProxyUsername := ''; Http.ProxyParams.ProxyPassword := ''; //百度和GG屏蔽了i
阅读全文
摘要:procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);beginCancel:=true;WebBrowser1.Navigate (NewURL);end;其中的NewURL是你在网页中点击的链接,它的值在以下事件中取得:procedure TForm1.WebBrowser1StatusTextChange(Sender: TObject; const Text: WideString);beginNewURL :=text;end;转自:ht
阅读全文
摘要:baidu一下有很多啊 下面是我参考网上程序写的 delphi的 希望能帮到你 {执行命令行程序------------------------------}procedurecommond_ex(); constnum_read=256; var hReadPipe,hWritePipe:THandle; si:STARTUPINFO; lsa:SECURITY_ATTRIBUTES; pi:PROCESS_INformATION; cchReadBuffer:DWORD; ph:PChar; fname:PChar; Apprunning:Dword; Labelout; begin En
阅读全文
摘要:GetProcAddress(Hinstance,lpname)用来获取指定的动态连接库函数的地址 Hinstance为由LoadLibrary返回的模块句柄,lpname为文件名/函数名,返回值,成功返回动态连接库的地址,失败返回NULL, FreeLibrary(Hinstance),Hinstance为由LoadLibrary返回的模块句柄,功能是:释放动态连接库! 动态引入方式就是使用Windows的两个API即LoadLibrary和GetProcAddress,前者用于获得DLL的句柄,后者用于获得DLL 中例程的地址,这种方式之所以被称为动态的,是因为它不需要在程序的开始处把要引
阅读全文
摘要:procedure DomImg2Image(src:string;wb:TWebBrowser;img:TImage);var i:Integer; rang:IHTMLControlRange;begin for i:=0 to IHTMLDocument2(wb.Document).images.length-1 do if Pos(src,(IHTMLDocument2(wb.Document).images.item(i,EmptyParam)as IHTMLElement).getAttribute('src',0))>0 then begin rang:=(
阅读全文
摘要:Private 该类型的成员只能在声明类中被访问 Public 该类型的成员可以被程序中的任何地方的代码访问 Protected 该类型的成员只能在声明类以及声明类的派生类中被访问转自:http://www.zaoxue.com/article/tech-25863_2.htm
阅读全文
摘要:/*type 是定义类型var 是声明变量*/function Abc(i:integer):string;begin Result := 'a';end;/*定义函数*/procedure TForm1.btn1Click(Sender: TObject); type pfun = function(i:Integer):string; //定义函数指针 var p:pfun; //声明函数指针变量begin p := Abc; //函数的名称就是函数在内存中的地址,也可以说成函数指针。 ShowMessage(p(3));end;/*定义函数指针的格式:type pfun
阅读全文
摘要:这是一篇关于插入HTML和执行脚本的方法。 先看代码:关键代码{ 在 WebBrowser 内执行脚本 用法: Memo1.Lines.add('alert("Hello World!");'); ExecuteScript(WebBrowser1, Memo1.Lines, 'javascript'); }procedure TfrmSavePages.ExecuteScript(aWebBrowser: TWebBrowser; lScript: TStrings; language: String = 'javascript
阅读全文
摘要:1.拖入TIdHTTP控件,HandleRedirect设为True,否则可能会出现HTTP 307错误。2.主要的设置在Request里。2.1 userAgent应该改为Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; CIBA; MAXTHON 2.0)2.2 如果Accept-Encoding设为了gzip, deflate,那么需要再解码,所以如果没有必要的话Accept-Encoding应该设为空。2.3 Referer应该设为post之前那个页
阅读全文
摘要:在WebBrowser中执行一个脚本,如javaScript,通称调用IHTMLDocument2接口的ExecScript方法,示例:procedure ExecuteScript(aWebBrowser: TWebBrowser; lScript: TStrings; language: String = 'javascript');varHTDoc: IHTMLDocument2;beginHTDoc := (aWebBrowser.Document as IHTMLDocument2);if (HTDoc <> nil) thenbegin if HTDoc
阅读全文
摘要:以前不管是做什么软件,只要是关于网页post提交cookie的,我都是用TcpClient,为什么呢?因为我一直找不到idhttp提交Cookie的方法,今天终于有了结果。在Idhttp中,要想修改Cookie的代码,就要用到Request的RawHeaders中的Values值。这个值怎么用呢?Values接受一个string的值,该值指定了所访问的变量。如HTTP头是这样定义的(其中一些):Accept-Language: zh-cnContent-Type: application/x-www-form-urlencodedAccept-Encoding: gzip, deflateUs
阅读全文
摘要:POST参数数据带换行,把#13(字符) 转成 '%13 '(字符串),把#10(字符) 转成 '%10 '(字符串),Apche和IIS都什么自已转回来。
阅读全文