 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
請問把文字 "2,3,7-9,10,13-16"轉換成 "2,3,7,8,9,10,13,14,15,16" ?
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
tigerlee39y
註冊時間: 2007-11-26 文章: 132 來自: taipei
第 1 樓
|
發表於: 星期五 十一月 28, 2008 7:08 am 文章主題: 請問把文字 "2,3,7-9,10,13-16"轉換成 "2,3,7,8,9,10,13,14,15,16" ? |
|
|
請問有沒有方法把文字 "2,3,7-9,10,13-16"轉換成 "2,3,7,8,9,10,13,14,15,16" _________________ 各取所需 各盡所能 |
|
回頂端 |
|
 |
DennisTsai
註冊時間: 2005-07-26 文章: 178
第 2 樓
|
發表於: 星期五 十一月 28, 2008 8:21 am 文章主題: |
|
|
好久沒試刀了,以下這樣可以嗎
PARAMETERS C_TEXT
ALINES(RR1,C_TEXT,1,',')
FOR N=1 TO ALEN(RR1,1)
IF OCCURS('-',RR1(N))>0
N_B=VAL(LEFT(RR1(N),AT('-',RR1(N))-1))
N_E=VAL(SUBSTR(RR1(N),AT('-',RR1(N))+1))
C_TRAN=''
FOR M=N_B TO N_E
C_TRAN=C_TRAN+ALLTRIM(STR(M))+','
ENDFOR
C_TRAN=LEFT(C_TRAN,LEN(C_TRAN)-1)
C_TEXT=STRT(C_TEXT,RR1(N),C_TRAN)
ENDIF
ENDFOR
RETURN C_TEXT |
|
回頂端 |
|
 |
tigerlee39y
註冊時間: 2007-11-26 文章: 132 來自: taipei
第 3 樓
|
發表於: 星期六 十一月 29, 2008 12:00 am 文章主題: |
|
|
謝謝DennisTsai
在VFP 9.0可用,差別在 ALINES()函數的參數, VFP6.0沒有第4個參數 _________________ 各取所需 各盡所能 |
|
回頂端 |
|
 |
DennisTsai
註冊時間: 2005-07-26 文章: 178
第 4 樓
|
發表於: 星期六 十一月 29, 2008 3:31 pm 文章主題: |
|
|
那麼再換一個!下一次倒著做
LPARAMETERS C_TEXT
LOCAL C_RET,C_TRAN,RR1,M,N,N_B,N_E
C_RET=''
FOR N=1 TO OCCURS(',',C_TEXT)+1
IF OCCURS(',',C_TEXT)>0
RR1=LEFT(C_TEXT,AT(',',C_TEXT)-1)
ELSE
RR1=C_TEXT
ENDIF
IF OCCURS('-',RR1)>0
N_B=VAL(LEFT(RR1,AT('-',RR1)-1))
N_E=VAL(SUBSTR(RR1,AT('-',RR1)+1))
C_TRAN=''
FOR M=N_B TO N_E
C_TRAN=C_TRAN+ALLTRIM(STR(M))+','
ENDFOR
C_TRAN=LEFT(C_TRAN,LEN(C_TRAN)-1)
C_RET=C_RET+C_TRAN+','
ELSE
C_RET=C_RET+RR1+','
ENDIF
C_TEXT=SUBSTR(C_TEXT,AT(',',C_TEXT)+1)
ENDFOR
C_RET=LEFT(C_RET,LEN(C_RET)-1)
RETURN C_RET |
|
回頂端 |
|
 |
tigerlee39y
註冊時間: 2007-11-26 文章: 132 來自: taipei
第 5 樓
|
發表於: 星期六 十一月 29, 2008 10:56 pm 文章主題: |
|
|
真是謝謝DennisTsai
在VFP6也可以用了 _________________ 各取所需 各盡所能 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|