1. 首页
  2. 开始使用
  3. fun_basic

fun_baisc

fun_basic 单元主要是包含了基础/窗体编程的函数

procedure DeleteMe

函数解析:

  • 函数用途:用于需要删除自身程序。
  • 实例解析:1、 使用了1个idhttp,1个memo,1个timer控件;引用WinInet单元;
    2、 上述代码放在timer的Timer1Timer事件中,通过控制远程文本的内容实现远程控制程序的目的;
    3、 如果远程文本内容为空则删除自身程序。
  • 调用范例:
    begin
    timer1.Interval:=10000;
     if InternetGetConnectedState(nil, 0) then
     begin
     try
     memo1.Text:=idhttp1.Get('http://www.iamhack.com/delphilist.txt') ;
     if trim(memo1.text)='' then
     begin
     DeleteMe;
     close;
     end;
     finally
     end;
     end;
    end;//需要引用WinInet单元
    

procedure DeleteIECache

函数解析:

  • 函数用途:删除IE浏览器的缓存文件。
  • 调用范例:
    begin
    fun_basic.funbasic.DeleteIECache;
    end;
    

procedure DelCookie

函数解析:

  • 函数用途:删除IE浏览器的Cookie文件。
  • 调用范例:
    begin
    fun_basic.funbasic.DelCookie;
    end;
    

procedure SeparateStr(var sfl,ps,pp:string);

函数解析:

  • 载入字符串内容,分离成两个字符串型,并返回结果。
  • 调用范例:
    var s:string;
    x,y:string;
    begin
    s:='12,34';
    fun_basic.funbasic.fenliduankoustr(s,x,y);
    //运行结果 x='12',y='34'
    end;
    

procedure SeparateInt(var sfl:string; var ps,pp:integer);

函数解析:

  • 载入字符串内容,分离成两个整数型,并返回结果。
  • 调用范例:
    var s:string;
    x,y:integer;
    begin
    s:='12,34';
    fun_basic.funbasic.fenliduankouint(s,x,y);
    //运行结果 x=12,y=34
    end;
    

procedure getpatch(var slj:string);

函数解析:

  • 用于得到软件自身的目录路径,方便标记软件需要调用的文件路径。
  • 调用范例:
    begin
    slj:=extractfilepath(ParamStr(0));
    end;
    
  • 备注:当前函数已经被更新为:function GetPath():string; 直接返回一个字符串。
    function TFunBasic.GetPath():string;
    var str:string;
    begin
    str:=extractfilepath(ParamStr(0));
    result:=str;
    end;
    

procedure GetToast(var s:string) ;

函数解析:

  • 弹出对话框的内容,给用户提示内容。
  • 调用范例:
    var s:string;
    begin
    s:='弹出对话框';
    fun_basic.funbasic.gettoast(s);
    end;
    

procedure DelFileif(var spah:string);

函数解析:

  • 删除磁盘文件,需要载入文件路径(字符串类型)。
  • 调用范例:
    var slj,spatch:string;
    begin
    fun_basic.funbasic.getpatch(slj);
    spatch:=slj+'1.txt';
    fun_basic.funbasic.delfileif(spatch);
    end;
    

procedure CreateFolder (var spath:string);

函数解析:

  • 用于创建单层文件夹。
  • 调用范例:
    var slj,spatch:string;
    begin
    fun_basic.funbasic.getpatch(slj);
    spatch:=slj+'abc';
    fun_basic.funbasic.createfolder(spatch);
    end;
    

procedure CreateFolders (var spath:string);

函数解析:

  • 用于创建多层文件夹。
  • 调用范例:
    var slj,spatch:string;
    begin
    fun_basic.funbasic.getpatch(slj);
    spatch:=slj+'abc\def';
    fun_basic.funbasic.createfolders(spatch);
    end;
    

procedure EndProcess(sfilename: string);

函数解析:

  • 用于结束正在运行的程序进程。
  • 调用范例:
    var s:string;
    begin
    s:='qq.exe';//进程名称,以任务管理器为准
    fun_basic.funbasic.endprocess(s);
    end;
    
  • 备注:权限较低。

procedure OpenPage_normal (var ssite:string) ;

函数解析:

  • 正常显示方式打开指定的页面,通过调用默认的IE浏览器。
  • 调用范例:
    var spatch:string;
    begin
    spatch:='www.iamhack.com';
    fun_basic.funbasic.OpenPage_normal(spatch);
    end;
    
  • 备注:可以使用shellapi函数打开系统进程。
    shellexecute(handle, 'open', 'exe文件路径 ', ' ', 'exe文件工作路径 ',SW_SHOWNORMAL);
    

procedure OpenPage_hide (var ssite:string);

函数解析:

  • 隐藏显示方式打开指定的页面,通过调用默认的IE浏览器。
  • 调用范例:
    var spatch:string;
    begin
    spatch:='www.iamhack.com';
    fun_basic.funbasic.openpage_hide(spatch);
    end;
    

procedure CloseIE ;

函数解析:

  • 通过句柄发送消息结束所有IE的进程,实现关闭所有IE的窗体。
  • 调用范例:
    begin
    fun_basic.funbasic.closeie;
    end;
    

procedure CloseMusci_web;

函数解析:

  • 使用delphi内置浏览器控件webbrowser载入网页时,网页有背景音乐的情况下,可以通过这个过程来屏蔽网页的背景音乐。
  • 调用范例:
    begin
    fun_basic.funbasic.closemusci_web;
    end;
    

procedure Addxls(var sname:string ;var x,y:integer;var str:string);

函数解析:

  • 用于操作Excel文件,在指定的位置(x,y)写入指定的内容(string)。
  • 调用范例:
    var sname,sstr:string;
    x,y:integer;
    begin
    sname:=slj+'abc.xlsx';
    sstr:='字符串内容';
    x:=3;
    y:=4;
    fun_basic.funbasic.addxls(sname,x,y,sstr);
    end;
    

procedure SetxlsInfo(var spatch:string;var x,y:integer;var sinfo:string);

函数解析:

  • 用于操作Excel文件,在指定的位置(x,y)修改指定的内容(string)。
  • 调用范例:
    var sname,sstr:string;
    x,y:integer;
    begin
    sname:=slj+'abc.xlsx';
    sstr:='修改的字符串内容';
    x:=3;
    y:=4;
    fun_basic.funbasic.SetxlsInfo(sname,x,y,sstr);
    end;
    

PlayMusic(var spatch:string; var media:TMediaPlayer);

函数解析:

  • 通过控件MediaPlayer来实现播放音乐的功能。
  • 调用范例:
    var spatch:string;
    begin
    spatch:=slj+'abc.mp3';
    fun_basic.funbasic.playmusic(spatch,mediaplayer1);
    end;
    

procedure StopMusic(var media:TMediaPlayer);

函数解析:

  • 停止使用MediaPlayer正在播放的音乐。如果窗体中用到MediaPlayer进行播放音乐,在窗体退出的时候一定要检查MediaPlayer是否关闭。
  • 调用范例:
    begin
    fun_basic.funbasic.stopmusic(mediaplayer1);
    end;
    

function GetDayofWeek:string;

函数解析:

  • 返回今天的日期(星期)。
  • 调用范例:
    var s:string;
    begin
    s:=fun_basic.funbasic.getDayofWeek;
    end;
    

function Getdatetime:string;

函数解析:

  • 返回今天的日期(日期+时间)。
  • 调用范例:
    var s:string;
    begin
    s:=fun_basic.funbasic.getdatetime;
    end;
    

function Getdate:string;

函数解析:

  • 返回今天的日期(日期)。
  • 调用范例:
    var s:string;
    begin
    s:=fun_basic.funbasic.getdate;
    end;
    

function Gettime:string;

函数解析:

  • 返回今天的日期(时间)。
  • 调用范例:
    var s:string;
    begin
    s:=fun_basic.funbasic.gettime;
    end;
    

function Getyear:string;

函数解析:

  • 返回今天的日期(年份)。
  • 调用范例:
    var s:string;
    begin
    s:=fun_basic.funbasic.getyear;
    end;
    

function Rndnumber(i:integer):integer;

函数解析:

  • 随即产生一个数字,其中参数i是随即的范围。
  • 调用范例:
    var i1,i2:integer;
    begin
    i1:=10;
    i2:=fun_basic.funbasic.rndnumber(i1);
    end;
    

function Rndnumber_rang(x1,x2:integer):integer;

函数解析:

  • 随即产生一个数字,在范围内(大于x1,小于x2)
  • 调用范例:
    var i,i1,i2:integer;
    begin
    i1:=1;
    i2:=10;
    i:=fun_basic.funbasic.rndnumber_rang(i1,i2);
    end;
    

function Getrand_str(inum:integer):string;

函数解析:

  • 随即产生一个i位的字符串,返回字符串类型,从a-z中随即产生。
  • 调用范例:
    var i:integer;
    s:string;
    begin
    i:=6;
    s:=fun_basic.funbasic.Getrand_str(i);
    end;
    

function Getrand_int(inum:integer):string;

函数解析:

  • 随即产生一个i位的字符串,返回字符串类型,从0-9中随即产生。
  • 调用范例:
    var i:integer;
    s:string;
    begin
    i:=6;
    s:=fun_basic.funbasic.Getrand_int(i);
    end;
    

function CheckStrisnum(var str:string):boolean;

函数解析:

  • 用于判断一个string类型是否是数字;举例:判断用于在edit控件中输入的是否是数字(是否可以用于运算),返回一个布尔类型。
  • 调用范例:
    var b:boolean;
    sstr:string;
    begin
    sstr:='123456';
    b:=fun_basic.funbasic.checkstrisnum(sstr);
    end;
    

function RangCode(var stext:string; var i:integer):string;

函数解析:

  • 从字符串列表中随机产生验证码,需要载入验证码位数。
  • 调用范例:
    var i:integer;
    scode:string;
    begin
    i:=4;
    scode := fun_basic.funbasic.RangCode(memo1.Text,i);
    end;
    

function PlayWav(var FileName: string): Boolean;

函数解析:

  • 播放一个wav文件,并返回布尔值。
  • 调用范例:
    var spach:string;
    begin
    spach:='C:\abc.wav';
    fun_basic.funbasic.PlayWav(spach);
    end;
    

function Createxls(var sname:string):boolean;

函数解析:

  • 创建一个xls文件,并返回布尔值。
  • 调用范例:
    var b:boolean;
    sname:string;
    begin
    sname:=slj+'abc.xlsx';
    b:=fun_basic.funbasic.createxls(sname);
    end;
    

function StrSubCount(const Source, Sub: string): integer;

函数解析:

  • 统计字符串A在内容B中的出现的次数。
  • 调用范例:
    var i:integer;
    sstr,sstr_source:string;
    begin
    sstr_source:=memo1.Text;
    sstr:='abc';
    i:=fun_basic.funbasic.StrSubCount(sstr_source,sstr);
    end;
    

function Subcount(var str:string):string;

函数解析:

  • 统计字符串个数并返回字数。
  • 调用范例:
    var s,sstr_source:string;
    begin
    sstr_source:=memo1.Text;
    s:=fun_basic.funbasic.subcount(sstr_source);
    end;
    

function Subcount_cn(var smemo:Tmemo):integer;

函数解析:

  • 统计字符串个数并返回字数(中文)。
  • 调用范例:
    begin
    i:=fun_basic.funbasic.subcount_cn(memo1);
    end;
    

function GetxlsInfo(var spatch:string;var x,y:integer):string;

函数解析:

  • 参数载入xlsx的路径和坐标(x,y),得到坐标的表格内容。
  • 调用范例:
    var spatch,sstr,slj:string;
    x,y:integer;
    begin
    fun_basic.funbasic.getpatch(slj);
    spatch:=slj+'abc.xlsx';
    x:=3;
    y:=4;
    sstr:=fun_basic.funbasic.getxlsinfo(spatch,x,y);
    end;
    

function IseditEmpty(var ed1,ed2:TEdit):boolean;

函数解析:

  • 判断两个Edit编辑是否为空,用于登陆窗体判断账户密码是否完整,返回布尔值。
  • 调用范例:
    var b:boolean;
    begin
    b:=fun_basic.funbasic.IseditEmpty(edit1,edit2);
    end;
    

function Buildonlyid(var sstr:string):string;

函数解析:

  • 产生唯一的ID根据录入的值。
  • 调用范例:
    var s:string;
    begin
    s:='iamhack';
    str:=fun_basic.funbasic.Buildonlyid(s);
    end;
    

function GetstrFromfile(var spatch:string ):string;

函数解析:

  • 从本地文本中得到文本中的字符串内容值。
  • 调用范例:
    var spatch,sstr,slj:string;
    begin
    fun_basic.funbasic.getpatch(slj);
    spatch:=slj+'abc.txt';
    sstr:=fun_basic.funbasic.getstrfromfile(spatch);
    end;
    

function TrimBrack(var sstr:string):string;

函数解析:

  • 去掉字符串的空格,并删除中文的括号。
  • 调用范例:
    var s:string;
    begin
    s:='(iamhack)';
    str:=fun_basic.funbasic.TrimBrack(s);
    end;
    

function GetHostName():string;

函数解析:

  • 得到本机的计算机名称
  • 调用范例:
    var sstr:string;
    begin
    sstr:=fun_basic.funbasic.GetHostName;
    end;
    

function GetPath():string;

函数解析:

  • 返回程序自身所在路径。
  • 调用范例:
    var str:string;
    begin
    str:=fun_basic.funbasic.GetPath();
    end;
    

开始使用

框架摘要

框架完善