文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页网络冲浪网络技术 → 用delphi实现读取foxmail的地址。

用delphi实现读取foxmail的地址。

时间:2004/10/8 16:46:00来源:本站整理作者:蓝点我要评论(0)

    //今日读了各位仁兄之文章,深感黑道光荣,以下是狗兄我自写代码在d6上实现,也就不加赘述,各位参考着看代码吧。不过,在遍历ind文件时好像还有问题,请各位兄兄斧正!谢! unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public procedure FindFiles(StartDir: string); procedure getemail(filestr:string); { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var headbuf:array[0..$41] of char; recbuf:array[0..$b1] of char; name:array[0..$21] of char; email:array[0..$41] of char; f:file; i:integer; begin AssignFile(F,ExtractFilePath(application.ExeName)+'address.ind'); // f:=tfilestream.Create(ExtractFilePath(application.ExeName)+'address.ind',fmOpenReadWrite); reset(f,1); seek(f,$40); while not eof(f) do begin for i :=0 to $21 do name[i]:=char(0); for i:=0 to $41 do email[i]:=char(0); //BlockRead(FromF, Buf, SizeOf(Buf), NumRead); Blockread(f,recbuf,$b0); if recbuf[$4]='1' then continue; if recbuf[$11]='1' then continue; for i:=0 to ord(recbuf[$21]) do begin name[i]:=recbuf[i+$13]; end; for i:=0 to ord(recbuf[$33]) do email[i]:=recbuf[i+$34]; memo1.Lines.Add(name); memo1.Lines.Add('********************'); memo1.Lines.Add(email); end; closefile(f); end; procedure TForm1.FindFiles(StartDir: string); var SR: TSearchRec; //用来储存返回的文件的一些数据 IsFound: Boolean;//做为一个标志 begin IsFound :=FindFirst(StartDir+'*.ind', faAnyFile-faDirectory, SR) = 0; //在startdir里面查找htm文件 while IsFound do begin //如果找到htm文件 // GetEmailAddress(startdir+sr.Name); getemail(startdir+sr.Name); //这里调用我们自己定义的函数,传递的参数是startdir+sr.name也就是该文件的绝对路径。 //注意,这里的函数 GetEmailAddress我们等一下再来描述 IsFound := FindNext(SR) = 0; //继续查找htm文件,只到标志isfound为false end; FindClose(SR); IsFound := FindFirst(StartDir+'*.*', faAnyFile, SR) = 0; //现在是查找所有的文件 while IsFound do begin if ((SR.Attr and faDirectory) <> 0) and(SR.Name[1] <> '.') then findfiles(startdir+sr.Name+'\'); //如果该文件是目录,并且不是"."或者"..",那么就在该目录里继续查找,也就是在这里递归了。 IsFound := FindNext(SR) = 0; end; FindClose(SR); end; procedure TForm1.FormCreate(Sender: TObject); begin end; procedure TForm1.FormDestroy(Sender: TObject); begin end; procedure TForm1.getemail(filestr: string); var headbuf:array[0..$41] of char; recbuf:array[0..$b1] of char; name:array[0..$21] of char; email:array[0..$41] of char; f:file; i:integer; begin AssignFile(F,filestr); reset(f,1); seek(f,$40); while not eof(f) do begin for i :=0 to $21 do name[i]:=char(0); for i:=0 to $41 do email[i]:=char(0); //BlockRead(FromF, Buf, SizeOf(Buf), NumRead); Blockread(f,recbuf,$b0); if recbuf[$4]='1' then continue; if recbuf[$11]='1' then continue; for i:=0 to ord(recbuf[$21]) do begin name[i]:=recbuf[i+$13]; end; for i:=0 to ord(recbuf[$33]) do email[i]:=recbuf[i+$34]; memo1.Lines.Add(name); memo1.Lines.Add('********************'); memo1.Lines.Add(email); end; closefile(f); end; procedure TForm1.Button2Click(Sender: TObject); begin findfiles('D:\Foxmail\'); end; end.

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 小米路由器设置教程附共享有线路由后再接无TP-link无线路由器设置D-Link DI-524M路由器

最新文章 百度网盘解除黑名单摆百度不收录怎么办 百度 10款免费开源图表插件推荐ssid隐藏了怎么办?隐藏SSID的无线网络如何OneDNS设置教程两块网卡访问不同网络案例分享

人气排行 宽带连接图标不见了怎么办 宽带连接图标怎么dell 服务器开机总是提示按F1才能进系统解决dns是什么?dns怎么设置?buffalo无线路由器设置图文教程哪种WIFI无线各种加密方式更安全?ADSL宽带连接错误(720)及解决方法双网卡同时上内外网设置教程公司网络综合布线图解