大家好,我现在遇到一个问题:
在Oracle数据库中取出的数值是半角格式数据, 需要将其转换成全角格式数据;
不知道 在Delphi中是否有这样的函数,能够进行全半角的转换?如果没有,应该如何解决这个问题?谢谢大家了,实时等待。
在Oracle数据库中取出的数值是半角格式数据, 需要将其转换成全角格式数据;
不知道 在Delphi中是否有这样的函数,能够进行全半角的转换?如果没有,应该如何解决这个问题?谢谢大家了,实时等待。
解决方案 »
- 请问怎么变成修改本地安全策略?
- 用spcomm给wave modem发送指令没有反应
- 我的程序中的图片字段怎么不能保存JPG格式的图片??高手请进,立即给分!
- 请大家帮忙看一下,门诊费用查询SQL语句是否可以这样写?
- 如何改变打印机的默认属性?
- 讨论:Delphi的编译器的特点
- 怎样用delphi语句直接创建的sqlserver数据库,也就是说,用户不用直接操作sqlserver??
- sql执行时出错:error creating cursor handle 怎么回事?在线等待
- 如何写SQL语句
- 域名怎樣連接固定ip呢?
- vc编写的dll,delphi调用并传回一个结构体数组,如何做?
- 大家帮忙,如何复制文件到共享文件夹
const
cCharCn: array[#32 .. #126] of string[2] =
(
{ }' ',{!}'!',{"}'"',{#}'#',{ }'$',{%}'%',{&}'&',{'}''',{(}'(',
{)}')',{*}'*',{+}'+',{,}',',{-}'-',{.}'。',{/}'/',{0}'0',{1}'1',
{2}'2',{3}'3',{4}'4',{5}'5',{6}'6',{7}'7',{8}'8',{9}'9',{:}':',
{;}';',{<}'<',{=}'=',{>}'>',{?}'?',{@}'@',{A}'A',{B}'B',{C}'C',
{D}'D',{E}'E',{F}'F',{G}'G',{H}'H',{I}'I',{J}'J',{K}'K',{L}'L',
{M}'M',{N}'N',{O}'O',{P}'P',{Q}'Q',{R}'R',{S}'S',{T}'T',{U}'U',
{V}'V',{W}'W',{X}'X',{Y}'Y',{Z}'Z',{[}'[',{\}'\',{]}']',{^}'^',
{_}'_',{`}'`',{a}'a',{b}'b',{c}'c',{d}'d',{e}'e',{f}'f',{g}'g',
{h}'h',{i}'i',{j}'j',{k}'k',{l}'l',{m}'m',{n}'n',{o}'o',{p}'p',
{q}'q',{r}'r',{s}'s',{t}'t',{u}'u',{v}'v',{w}'w',{x}'x',{y}'y',
{z}'z',{{}'{',{|}'|',{ }'}',{~}'~');function StrToGBText(mStr: string): string; { 返回字符串转换成全角字符串 }
var
I: Integer;
begin
Result := '';
for I := 1 to Length(mStr) do
case mStr[I] of
#32 .. #126: Result := Result + cCharCn[mStr[I]];
else Result := Result + mStr[I];
end;
end; { StrToGBText }function GBTextToStr(mText: string): string; { 返回字符串转换成半角字符串 }
var
I: Integer;
J: Char;
S: string;
begin
Result := '';
for I := 1 to Length(WideString(mText)) do begin
S := WideString(mText)[I];
if Length(S) > 1 then for J := #32 to #126 do
if cCharCn[J] = S then begin
S := J;
Break;
end;
Result := Result + S;
end;
end; { GBTextToStr }
///////End Source///////Begin Demo
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Text := StrToGBText(Memo2.Text);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
Memo2.Text := GBTextToStr(Memo1.Text);
end;
///////End Demo
转自http://expert.csdn.net/Expert/topic/2125/2125749.xml?temp=.3728601