字符转换
有谁能知道,将一个字符串中的所有半角字符,全部转换成全角字符,能解决的,立刻给分,决不食言
问题点数:20、回复次数:5Top
1 楼Teng_s2000(分涨的太慢,升星难啊!!)回复于 2005-08-11 17:27:59 得分 10
up
正好 看见一篇文章http://www.topdelphi.net/bbs/dispbbs.asp?boardid=1&id=5361
但是我不会使用Top
2 楼hqhhh(枫叶)回复于 2005-08-11 17:37:34 得分 10
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 }
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Text := StrToGBText(Memo2.Text);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo2.Text := GBTextToStr(Memo1.Text);
end;
Top
3 楼lianshaohua(永远深爱一个叫“...”的好女孩儿!)回复于 2005-08-11 18:30:48 得分 0
这样太麻烦了;Top
4 楼tylz1985(天涯浪子)回复于 2005-08-11 20:53:39 得分 0
这样太麻烦了;
有必要这么费劲吗?Top
5 楼pingzhifan()回复于 2005-08-12 11:08:46 得分 0
谢谢各位的了 ,问题已经解决了
Top




