線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:10805
推到 Plurk!
推到 Facebook!

半形字轉全形字

答題得分者是:banson1716
kiki_cat
一般會員


發表:2
回覆:1
積分:0
註冊:2003-03-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-28 15:20:07 IP:61.218.xxx.xxx 未訂閱
我想請教各位高手 : 我要把一串字串,半形字轉成全形字 字串裡,可能有數字、英文字、常用符號... 請問我該怎麼做才對 ??? 救救我吧......... 感激不盡...
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-28 15:23:26 IP:211.23.xxx.xxx 未訂閱
引言: 我想請教各位高手 : 我要把一串字串,半形字轉成全形字 字串裡,可能有數字、英文字、常用符號... 請問我該怎麼做才對 ??? 救救我吧......... 感激不盡...
這個之前好像有討論過了~~你去搜尋一下就知道了~~ 不過做法好像是做一個 TABLE(表格)做對映搜尋~~ 比如說 'A' = 'A' 這樣子 -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
banson1716
高階會員


發表:55
回覆:182
積分:167
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-31 03:15:26 IP:61.223.xxx.xxx 未訂閱
(包含空白也要轉全形) 謝謝 function AsciiToAlpha(Source: String): String; const Alpha: array[45..122] of String = ('-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '\', '}', '︿', '─', '', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v','w','x','y','z'); ASCII: array[45..122] of String = ('-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', #0, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\', ']', '^', '-', #0, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x','y','z'); var I, S1: Integer; begin Result := ''; for I := 1 to Length(Source) do begin S1 := ord(Source[i]); if ((S1>=Low(ASCII)) and (S1<=High(ASCII))) then begin Result := Result Alpha[S1]; end; end; end;
kiki_cat
一般會員


發表:2
回覆:1
積分:0
註冊:2003-03-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-31 09:35:55 IP:61.218.xxx.xxx 未訂閱
多謝Jasonwong 及 banson 的幫助,我已經可以順利做轉換了..
jere
一般會員


發表:3
回覆:7
積分:2
註冊:2006-08-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-01-22 11:04:02 IP:59.124.xxx.xxx 訂閱
請問如果是半形、全形混合的字串,要如何轉成全形呢?
要多一個全形的判斷嗎?要如何做呢?謝謝!
taokang
一般會員


發表:0
回覆:2
積分:0
註冊:2004-05-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-01-29 18:43:59 IP:211.20.xxx.xxx 訂閱



===================引 用 jere 文 章===================
請問如果是半形、全形混合的字串,要如何轉成全形呢?

要多一個全形的判斷嗎?要如何做呢?謝謝!
==================================================
USE WINDOWS

半形-->全形

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
var
Chr : array [0..255] of char;
begin
Windows.LCMapString(
GetUserDefaultLCID(),
LCMAP_FULLWIDTH,
PChar(Edit1.Text),
Length(Edit1.Text) 1,
Chr,
Sizeof(chr)
);
Edit2.Text := chr;
end;

[/code]

全形-->半形

[code delphi]
procedure TForm1.Button3Click(Sender: TObject);
var
Chr : array [0..255] of char;
begin
Windows.LCMapString(
GetUserDefaultLCID(),
LCMAP_HALFWIDTH,
PChar(Edit1.Text),
Length(Edit1.Text) 1,
chr,
Sizeof(chr)
);
Edit2.Text := Chr;
end;

[/code]

以上請參考。
系統時間:2024-03-19 10:37:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!