自造字与生僻字输入
一、自造字处理(xp系统下,其他系统适当修改)1、字库更新:拷贝下列内容至新建文本文件Windows Registry Editor Version 5.00[HKEY_CURRENT_USEREUDC936]"SystemDefaultEUDCFont"="C:1EUDC.TTE"将该文本文件重命名为.reg格式的文件,运行该.reg格式文件即可。说明:其中C:1EUDC.TTE为自造字文件EUDC.EUF、EUDC.TTE所放文件夹路径。2、字库复原:拷贝下列内容至新建文本文件Windows Registry Editor Version 5.00[HKEY_CURRENT_USEREUDC936]"SystemDefaultEUDCFont"="C:WINDOWSFONTSEUDC.TTE"将
n间隔四舍六入
function TmainForm.tysswr(n,i:integer;s:string):string; //n间隔四舍六入 var temp:real; t:string; begin temp:=strtofloat(s)/n; t:=mainForm.sswr(floattostr(temp),i); temp:=strtofloat(t)*n; t:=mainForm.sswr(floattostr(temp),i); result:=t; end;[@more@]
计算两个日期间有多少个工作日
function TmainForm.WorksDay( //计算两个日期间有多少个工作日 mStartDate: TDate; //开始日期 mEndDate: TDate //终止日期 ): Integer; //返回两个日期间的工作日,如果输入错误则返回-1 var m,n:integer; begin Result := -1; if mEndDate < mStartDate then Exit; m:=DaysBetween(mStartDate,mEndDate); n:=(m div 7)*2; if m mod 7<>0 then begin if DayOfWeek(mStartDate)>DayOfWeek(m
delphi四舍六入函数
function TmainForm.sswr(s:string;i:integer):string;var str,str20,temp,temp0,temp1,r:string;beginstr:=s;str20:=copy(str,pos('.',str)+1,length(str));//showmessage(str20);temp:=copy(str20,i+1,1);temp0:=copy(str20,i,1);temp1:=copy(str20,i+2,length(str20));if ((length(str20)<=i)and(length(str20)>0 )) thenbeginr:=str+'00000000000';r:=copy(r,1,pos('.',str)+i);end elseif (length(temp1)=0 )and (strtoint(temp)=5 ) and (strtoint(temp0)mod 2=0) thenbeginr:=copy(str,1,pos('.',str)+i);end elsebeginif i=
取得汉字的第一个字母
function GetPYIndexChar( hzchar:string):char;begin case WORD(hzchar[1]) shl 8 + WORD(hzchar[2]) of $B0A1..$B0C4 : result := 'A'; $B0C5..$B2C0 : result := 'B'; $B2C1..$B4ED : result := 'C'; $B4EE..$B6E9 : result := 'D'; $B6EA..$B7A1 : result := 'E'; $B7A2..$B8C0 : result := 'F'; $B8C1..$B9FD : result := 'G'; $B9FE..$BBF6 : result := 'H'; $BBF7..$BFA5 : result := 'J'; $BFA6..$C0AB : result := 'K'; $C0AC..$C2E7 : result := 'L'; $C2E8..$C4C2 : result := '
字符串递增
function TgjcForm.IncreamNo(sNo: String): String;variPos : Integer;iLen : Integer;iNo : Integer;beginiPos := Length(sNo);while (iPos > 0) and (sNo[iPos] in ['0'..'9']) do dec(iPos);if iPos > 0 thenbeginiLen := Length(sNo) - iPos;iNo := StrToInt(Copy(sNo, iPos + 1, iLen));Result := Copy(sNo, 1, iPos) + RightStr(StringOfChar('0', iLen) + IntToStr(iNo + 1), iLen);endelseResult := sNo;end;procedure TgjcForm.Button4Click(Sender: TObject);beginShowMessage (IncreamNo('fg00100227'));end;[@more@]
按月流水
create function funr(@受理时间 datetime)returns varchar(100)asbegindeclare @re varchar(100)select @re=max(流水号) from 器具 where convert(char(7), 受理时间, 120)=convert(char(7), @受理时间, 120)if @re is nullset @re='0001'elseset @re=right('0000'+rtrim(@re+1), 4)return @reend[@more@]
四舍六入函数
CREATE function tttRound(@num varchar(20),@i int)returns varchar(20)asbegindeclare @str varchar(20) /*转换成字符类型*/declare @str20 varchar(20) /*小数位数后面的字符串*/declare @temp varchar(20) declare @temp0 varchar(20) declare @temp1 varchar(20) /*小数位数字符串*/set @str = convert(varchar,@num)set @str20=substring(@str,charindex('.',@str) + 1,len(@str))set @temp=substring(@str20,@i+1,1)set @temp0=substring(@str20,@i,1)set @temp1=substring(@str20,@i+2,len(@str20))if len(@str20)<@ibegin set