| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		whh
 
 
  註冊時間: 2010-04-16 文章: 166
 
  第 1 樓
  | 
		
			
				 發表於: 星期五 二月 22, 2013 10:49 am    文章主題: len 取不到正確的長度問題? | 
				     | 
			 
			
				
  | 
			 
			
				很簡單一個
 
 
Text1 → InteractiveChang
 
 
N_LEN = LEN(THIS.VALUE)
 
C_LEN = ALLTRIM(STR(N_LEN))
 
THISFORM.Label13.CAPTION = C_LEN  <--取出來怎麼輸入都是10
 
 
 
我只是要抓到目前欄位,輸的東西共幾碼了
 
 
為什麼會這樣?
 
 
Text1屬性我有設 MaxLength = 10的關係嗎?
 
可是我把設定拿掉,更怪怎麼輸入都出現21.......
 
 
 
****************************************
 
因為我做了一個圖片,要在畫面上面顯示0~10
 
IF N_LEN > 0 AND N_LEN < 11
 
   THISFORM.Image9.PICTURE = 'd:\mydesign\圖示\'+ ALLTRIM(STR(N_LEN)) +'.gif'
 
ELSE
 
   THISFORM.Image9.PICTURE = 'd:\mydesign\圖示\00.gif'
 
ENDIF | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 2 樓
  | 
		
			
				 發表於: 星期五 二月 22, 2013 10:57 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				這一行應該改成這樣才對
 
N_LEN = LEN( alltrim(THIS.VALUE) ) _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		whh
 
 
  註冊時間: 2010-04-16 文章: 166
 
  第 3 樓
  | 
		
			
				 發表於: 星期五 二月 22, 2013 12:03 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | garfield 寫到: | 	 		  這一行應該改成這樣才對
 
N_LEN = LEN( alltrim(THIS.VALUE) ) | 	  
 
 
可是下2行
 
C_LEN = ALLTRIM(STR(N_LEN))
 
THISFORM.Label13.CAPTION = C_LEN <--取出來怎麼輸入都是10
 
 
結果為何是10 有把它alltrim掉了? | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		215001
 
 
  註冊時間: 2003-06-11 文章: 393
 
  第 4 樓
  | 
		
			
				 發表於: 星期五 二月 22, 2013 1:40 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				參考 garfield 兄的答案就對了
 
 
 
雖然一樣都用 alltrim 處理
 
但是你的 N_LEN 與 this.value 是不一樣的東西 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		h02022
 
 
  註冊時間: 2012-11-28 文章: 35
 
  第 5 樓
  | 
		
			
				 發表於: 星期五 二月 22, 2013 2:58 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | whh 寫到: | 	 		   	  | garfield 寫到: | 	 		  這一行應該改成這樣才對
 
N_LEN = LEN( alltrim(THIS.VALUE) ) | 	  
 
 
可是下2行
 
C_LEN = ALLTRIM(STR(N_LEN))
 
THISFORM.Label13.CAPTION = C_LEN <--取出來怎麼輸入都是10
 
 
結果為何是10 有把它alltrim掉了? | 	  
 
 
THIS.VALUE = '123456    '
 
ALLTRIM(THIS.VALUE) = '123456'
 
 
要一起看比較清楚
 
N_LEN = LEN(ALLTRIM(THIS.VALUE))  *不一樣THIS.VALUE<<裡面空值一起算進去了
 
C_LEN = ALLTRIM(STR(N_LEN))    *N_LEN已經算完所以出來就是正確
 
THISFORM.Label13.CAPTION = C_LEN | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		whh
 
 
  註冊時間: 2010-04-16 文章: 166
 
  第 6 樓
  | 
		
			
				 發表於: 星期五 二月 22, 2013 6:23 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 我搞懂了,謝謝各位 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |