Delphi中实现全角转半角
Delphi中实现全角转半角
function SbctoDbc(s:string):string;
var
nlength,i:integer;
str,ctmp,c1,c2:string;
{
在windows中,中文和全角字符都占两个字节,
并且使用了ascii chart 2
(codes 128 - 255
)。
全角字符的第一个字节总是被置为163,
而第二个字节则是相同半角字符码加上128(不包括空格)。
如半角a为65,则全角a则是163(第一个字节)、
193 (第二个字节, 128 + 65 )。
而对于中文来讲,它的第一个字节被置为大于163,(
如 ' 阿 ' 为:
176 162 ),我们可以在检测到中文时不进行转换。
}
begin
nlength: =
length(s);
if (nlength = 0 ) then
exit;
str: = '' ;
setlength(ctmp,nlength + 1 );
ctmp: = s;
i: = 1 ;
while (i # 163 ) then //
如果是汉字
begin
str:
= str + c1;
str: = str +
c2;
inc(i, 2
);
continue ;
end;
if (c1 = # 161 ) and (c2 = # 161 )
then // 如果是全角空格
begin
str: = str + ' '
;
inc(i, 2
);
continue ;
end;
str: = str + c1;
inc(i);
end;
result: = str;
end; ---
本文章使用“国华软件”出品的博客内容离线管理软件MultiBlogWriter撰写并发布
相关文档:
这样一来,Delphi使用Webservice和JAVA通讯时,可以将DELPHI的时间直接传给JAVA。从而免去了时间字符串parse之间的消耗,提高的程序效率。
Delphi时间实质就是double类型,整数部分表示天,小数部分表示当天时间,每毫秒为1/86400000。考虑到时区的转换后,JAVA和DELPHI时间之间的转换类如下:
import java.util.Calendar ......
.pas ---- pascal的缩写, 单元原始程式档( unit source files )
.dpr ---- 专案档 ( project files )
.dpk ---- 包裹原始程式档/组件包 ( package source files )
.dfm ---- 表单档 (记录form的内容,除去这个内容就等于删除了form这个表单)
.dcu ---- 是编译好的单元文件.若只有一个dcu文件,则不能看到源代码.
......
delphi中的realAudio ActiveX控件的使用
作者:seeker 日期:2009-04-26
1:{=====================打开=========================}
procedure TRealOneFrm.OpenBtnClick(Sender: TObject);
begin
if OpenRMDlg.Execute then
begin
RealAudio1.SetSource(RealOneFrm.OpenRMDlg.FileName);
RealAudio1.DoPlay;
EndPos ......
看如下代码:
var
buffer:array [0..6] of char;
begin
buffer:='delphi';
end;
编译通过
再看如下代码:
var
buffer:array [1..7] of char;
begin
buffer:='delphi';
end;
编译错误:
Incompatible types: 'Array' and 'String'
真不知道 ......
以前用过delphi 2007的这个函数的,参数超多,现在的公司用D7,结果网上一查这个函数,用不成了,原来我用错了函数
unit QDialogs;
{$IFDEF LINUX}
function SelectDirectory(const Caption, Root: WideString;
var Directory: WideString; ShowHidden: Boolean = False): Boolean;
{$ENDIF}
{$IFDEF MSWINDOW ......