MidasFan
一般會員
發表:41 回覆:22 積分:12 註冊:2004-06-03
發送簡訊給我
|
請教各位先進!
我現在有一個資料格式長度為32的字串
用來存我的訂單編號
格式為訂單編號要向右對齊,剩下不足的部份
補上0
ex: 訂單編號:112233
=>0000 0000 0000 0000 0000 0000 0000 112233
當然訂單編號長度並非均為4碼
不知道各位先進有什麼好方式....
Tks
|
Coffee
版主
發表:31 回覆:878 積分:561 註冊:2006-11-15
發送簡訊給我
|
如果確定空間一定為32, 那麼... 利用Length取得整個字串長度, 將32-長度就是前面要補多少空白或零 再省事一點..用format格式化.. 要快速也是有快速的方法啦..(略)
------ 不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
|
Stallion
版主
發表:52 回覆:1600 積分:1995 註冊:2004-09-15
發送簡訊給我
|
笨方法,直接快速!
var aTotal,aNumber,aString:String; begin aTotal := '00000000000000000000000000000000'; aNumber := '112233'; aString := LeftBStr(aTotal,Length(aTotal)-Length(aNumber)) aNumber; ShowMessage(aString); end;
|
Coffee
版主
發表:31 回覆:878 積分:561 註冊:2006-11-15
發送簡訊給我
|
先敗啊..什麼都戳破就不好玩了..XD 我是用StrMove作出跟你一樣的效果..XD
------ 不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
|
Fishman
尊榮會員
發表:120 回覆:1949 積分:2163 註冊:2006-10-28
發送簡訊給我
|
插一下花!另一種方法:
不管三七二十一,在原字串前加上長度 32 內容皆為 0 的字串後,取右邊 32 個字元 使用函數 StringOfChar --> uses System RightStr --> uses StrUtils
Fishman
------ Fishman
|
MidasFan
一般會員
發表:41 回覆:22 積分:12 註冊:2004-06-03
發送簡訊給我
|
謝謝各位的回答,那想請教填0用各位所說的方式,如果填入的是空格也可以這樣做嗎?謝謝喔
|
Coffee
版主
發表:31 回覆:878 積分:561 註冊:2006-11-15
發送簡訊給我
|
把0換成你要的字元就好了,這應該不是什麼大問題。
------ 不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
|
MidasFan
一般會員
發表:41 回覆:22 積分:12 註冊:2004-06-03
發送簡訊給我
|
我是用Delphi5好像沒有LeftBStr這一個Fuction耶
那我應該怎麼做
|
Coffee
版主
發表:31 回覆:878 積分:561 註冊:2006-11-15
發送簡訊給我
|
StrMove應該有吧
------ 不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
|
MidasFan
一般會員
發表:41 回覆:22 積分:12 註冊:2004-06-03
發送簡訊給我
|
|
Coffee
版主
發表:31 回覆:878 積分:561 註冊:2006-11-15
發送簡訊給我
|
程式不難,為什麼不試著自己寫寫看?help也告訴你StrMove該怎麼用了
------ 不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
|
MidasFan
一般會員
發表:41 回覆:22 積分:12 註冊:2004-06-03
發送簡訊給我
|
function StrMove(Dest: PChar; const Source: PChar; Count: Cardinal): PChar;
Help我看的懂,只是我寫出時有錯誤,因為在help中傳入值是PChar而我的程式要傳入的是字串
所以我不懂你的意思是要怎麼要用strMove去做,才會要妳寫出你的程式碼,並非我懶不想去試
謝謝
|
Coffee
版主
發表:31 回覆:878 積分:561 註冊:2006-11-15
發送簡訊給我
|
typecast it? PChar(aString)
------ 不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
|
MidasFan
一般會員
發表:41 回覆:22 積分:12 註冊:2004-06-03
發送簡訊給我
|
|
暗黑破壞神
版主
發表:9 回覆:2301 積分:1627 註冊:2004-10-04
發送簡訊給我
|
如果是以C來寫的話。 wsprintf(buffer, "2d", i); 這樣就做到你要的功能了。
|
edwardloh717
一般會員
發表:0 回覆:1 積分:0 註冊:2006-12-28
發送簡訊給我
|
Function Strz(num:integer;len:integer):String; begin result:=IntToStr(num); result:=copy(repl('0',len),1,len-Length(Result)) result; end;
strz(訂單編號,32);
|