• Delphi经验总结(3)


    -------------------------------------------------------
    ◇删掉程序自己的exe文件
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    var
    F:TextFile;
    begin
    AssignFile(F,'delself.bat');
    Rewrite(F);{F为TextFile类型}
    WriteLn(F,'del '+ExtractFileName(Application.ExeName));
    WriteLn(F,'del %0'); //删除自己delself.bat
    CloseFile(F);
    WinExec('delself.bat',SW_HIDE);
    end;
    --------------------------------------------------------
    ◇汉字是双字节的
    if ord(s[9])>128 then
    ShowMessage('该位置字符是汉字');
    --------------------------------------------------------
    ◇更改系统时间格式:
    var
    str: string;
    begin
    str := 'yyyy-mm-dd';
    if SetLocaleInfoa(LOCALE_SYSTEM_DEFAULT, LOCALE_SLONGDATE, PChar(str)) then
    begin
    showmessage('更改日期格式成功');
    end;
    end;
    ---------------------------------------------------------
    ◇休息一分钟:
    var
    I:integer;
    begin
    i:=gettickcount;
    while (Gettickcount-i)< =10000 do
    application.ProcessMessages;//保证消息循环
    end;
    --------------------------------------------------------
    ◇取主文件名:
    function retuFileName(const FileName: string): string;
    var
    I: Integer;
    begin
    I := LastDelimiter('.', FileName);
    Result := Copy(FileName, 1, i-1);
    end;
    ---------------------------------------------------------
    ◇调用EXCLE打开文件。
    USES SHELLAPI
    Shellexecute(handle,nil,pchar('c:报表.xls'),nil,nil,sw_shownormal);
    -----------------------------------------------------------------------
    ◇[DELPHI]关于处理注册表
    uses Registry;
    var reg:Tregistry;
    reg:=Tregistry.create;
    reg.rootkey:='HKey_Current_User';
    reg.openkey('Control PanelDesktop',false);
    reg.WriteString('Title Wallpaper','0');
    reg.writeString('Wallpaper',filelistbox1.filename);
    reg.closereg;
    reg.free;
    --------------------------------------------------------
    ◇报错函数
    procedure ErrMsg(sMsg:String; sPrompt:String='出错信息');//出错信息显示框
    begin
    Application.MessageBox(PChar(sMsg), PChar(sPrompt), MB_ICONERROR or MB_OK)
    end;
    ----------------------------------------------------------
    ◇出错信息
    try
    except
    on E: Exception do begin
    ErrMsg(Format('登录[%s]数据库失败,回退操作将失效;'#13#10, [Server]) + E.Message);
    Result := False;
    end;
    end;
    -------------------------------------------------------------------
    ◇中文提示框
    Application.MessageBox('无法打开指定文件', '提示', MB_OK);
    ---------------------------------------------------------------------
    ◇转换时间的函数
    formatdatetime('yyyy"年"mm"月"dd"日"', UnccSysDate);UnccSysDate 为TDATATIME类型
    -----------------------------------------------------------------------
    ◇定死小数点后的位数
    Format('%*.*n', [10, 2, FieldByName('syje').AsFloat]
    ---------------------------------------------------------------------
    ◇类型转换函数
    inttostr(); 将数字转换为字符串
    ord(); 返回一个字符的序号(ASCII码)
    Char(); 把一个整型数转化成相应序号的字符
    UpCase(); 把小写转化为大写
    --------------------------------------------------------------------
    ◇字符串处理函数
    concat(); 与(+)功能相同,将多个字符串组合在一起
    copy(); 会返回一个字符串中的子字符串
    delete(); 在一个字符串中从一个指定位置起删除一定数字的字符()
    insert(); 在一个字符串中插入一个字符串
    length(); 返回字符串的长度
    pos(); 返回一个子字符串在一个字符串中的位置
    -------------------------------------------------------------------
    ◇载入文件的实现方法
    var
    ts:tstring;
    begin
    ts:tstinglist.creat;
    ts.loadfromfile('文件的绝对路径'); //调用文件
    ----------------------------------------------------------------------
    ◇文件夹操作
    uses filectrl;
    procedure ForceDirectorys(dir:string)
    //一次建立指定的多级文件夹
    function DirectoryExists(Name: string): Boolean;
    // 指定文件夹是否存在
    function SelectDirectory(var Directory: string; Options: TSelectDirOpts; HelpCtx: Longint):Boolean;
    // 打开一个选择文件夹的对话框(英文的)
    ----------------------------------------------------------------
    ◇var mytextfile:textfile;
    begin assignfile(mytextfile,'mytextfile.exe');
    reset(mytextfile);//rewrite()创建并打开文件(已有就覆盖),reset()以只读方式打开文件,append()以追加方式打开文件;
    try
    //可以加一句while nit eof(mytextfile) do;
    {
    //操作文件
    for i:=1 to 5 do
    begin s:='This is line #';
    writeln(mytextfile,s,i);//结果被创建的文件中包含 this is line # 1……this is line # 5
    //writeln()为往指定文件中写东西,还有readln(mytextfile,s,i)从指定的文件中读数据;
    end;
    }
    finally
    closefile(mytextfile);
    end;
    end;
    ------------------------------------------------------------------------
    ◇edit只能接收数字
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    if ((Key < '0') or (Key > '9'))
    then Key := Chr(0);
    end;
    -----------------------------------------------------------------------
    ◇创建路径USES FileCtrl;
    if not DirectoryExists(ExtractFilePath(paramstr(0)) + 'ElectronicBill') then
    CreateDir(ExtractFilePath(paramstr(0)) + 'ElectronicBill');
    fileexists();判断文件是否存在。
    ----------------------------------------------------------------------
    ◇选择一个路径 USES FileCtrl;
    SelectDirectory('请选择存储路径!', '我的电脑', sSavePath);

  • 相关阅读:
    JS框架_(Bootstrap.js)实现简单的轮播图
    Unity3D_(网格导航)简单物体自动寻路
    Android_(菜单)选项菜单
    Android_(传感器)获取手机中的传感器
    Java基础__Java中常用数学类Math那些事
    Java基础__Java中异常处理那些事
    Android_(控件)动态添加或删除Spinner下拉菜单
    Android_(消息提示)多种使用Toast的消息提示
    Java基础__随机生成1~15之间不重复的数字
    Android_(自动化)获取手机存储卡的容量
  • 原文地址:https://www.cnblogs.com/m0488/p/3430650.html
Copyright © 2020-2023  润新知