-------------------------------------------------------
◇删掉程序自己的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);

Delphi经验总结(3)的更多相关文章

  1. Delphi经验总结(1)

    先人的DELPHI基础开发技巧 ◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar('newfile.txt'),pchar('//computername ...

  2. Delphi经验总结(2)

    Q: 怎么来改变ListBox的字体呢?就修改其中的一行. A: 先把ListBox1.Style 设成lbOwnerDrawFixed 然后在 OnDrawItem 事件下写下如下代码 proced ...

  3. JNI 翻译 转 Delphi 的 经验 方法

    首发在 ①FireMonkey[移动开发] 16523232 欢迎使用 FMX 开发手机程序的高手来访. 注意:如果您看了本文,翻译了 JNI,请发布到本群共享一份.不同意本规定的,请立即删除本文.凡 ...

  4. Delphi调用WebService(通过SoapHeader认证)经验总结

    项目(Delphi开发)需要调用另一个系统的WebService.走了不少弯路,现记录总结一下经验.以下是WebService要求: 1.WebService概述 营销Webservice接口采用Ap ...

  5. delphi 升级到xe7后的一些个人经验

    http://blog.csdn.net/span12/article/details/42522091 你只要记住 字符串使用变了.VCL 下面所有的 char 改 ansichar string ...

  6. Delphi编程防止界面卡死的方法经验分享

    Delphi编程防止界面卡死的方法经验分享! 1.循环里面防止界面卡死的方法可以使用Application.ProcessMessages:  例如下列方法:    var      n: Integ ...

  7. Delphi 10.1.2 berlin开发跨平台APP的几点经验

    1.ios不允许app有退出功能,所以不能调用Application.Terminate. 2.info.plist文件的自定义:info.plist文件是由info.plist.TemplateiO ...

  8. (转: daifubing的博客 )Delphi二维码中文支持、分组、批量打印经验小结

    一直也没接触到什么复杂的报表,都是一些简单的报表,在DelphI下使用QuickReport一般也就能满足需要了,由于公司现在需求的变化,对条码扫描提出了新的要求,主要是扫码要包含更多地内容,以前的一 ...

  9. Delphi面向对象设计的经验原则(61条)

    (1)所有数据都应该隐藏在所在的类的内部. (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者. (3)尽量减少类的协议中的消息. (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深 ...

随机推荐

  1. 解决already defined in .obj 的问题(定义/声明的区别)

    首先需要搞清楚什么是定义(definition ),什么是声明(declaration). 一.函数 函数的声明: int myfunc(int a,int b); 定义: int myfunc(in ...

  2. 【POJ 3320】Jessica's Reading Problemc(尺取法)

    题 题意 P个数,求最短的一段包含P个数里所有出现过的数的区间. 分析 尺取法,边读边记录每个数出现次数num[d[i]],和不同数字个数n个. 尺取时,l和r 代表区间两边,每次r++时,d[r]即 ...

  3. BIEEE 创建多维钻取分析(4)

    在上一节时,我们创建了一个基于部门号的工资分类汇总. 这里就引出了一个概念:维度 专业的解释大家自行百度,这里就不班门弄斧了.从数据的使用角度看,维度可以简单的理解成“数据分类汇总的一种依据”. 按“ ...

  4. TYVJP1933 绿豆蛙的归宿

    背景 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 描述 给出一个有向无环图,起点为1终点为N,每条边都有一个长度,并且从起点出发能够到达所有的点,所有的点也都能够到达 ...

  5. 关于Asp.Net Mvc3.0 使用KindEditor4.0 上传图片与文件

    http://blog.csdn.net/fyxq14hao/article/details/7245502 今天我们的Asp.Net Mvc 3的项目中,把KindEditor3.9改为 KindE ...

  6. Putty远程登录VMware虚拟机Linux(Ubuntu)

    安装SSH服务 Ubuntu默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ssh-server.判断是否安装ssh服务,可以通过如下命令进行: www.linuxidc.c ...

  7. mybatis使用小记

    参考资料:http://blog.csdn.net/hupanfeng/article/details/9098453 1.设置不缓存每次查询的结果: 如题,通过设置 flushCache=" ...

  8. spring mvc文件上传和下载

    首先要导入2个包(上传文件包和io的包)

  9. JS 省,市,区

    // 纯JS省市区三级联动 // 2011-11-30 by http://www.cnblogs.com/zjfree var addressInit = function (_cmbProvinc ...

  10. Emag eht htiw Em Pleh(imitate)

    Emag eht htiw Em Pleh Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2901   Accepted:  ...