  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		mp484
 
 
  註冊時間: 2006-08-08 文章: 84
 
  第 1 樓
  | 
		
			
				 發表於: 星期一 十二月 17, 2012 7:32 pm    文章主題: 請問如何知道字元的長度超過Text的欄位長度? | 
				     | 
			 
			
				
  | 
			 
			
				| 如題:如何知道字串長度超過 Text物件的長度?該用什麼函數或屬性檢查? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		bx1166
 
 
  註冊時間: 2011-12-06 文章: 273
 
  第 2 樓
  | 
		
			
				 發表於: 星期一 十二月 17, 2012 7:36 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| len() | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		mp484
 
 
  註冊時間: 2006-08-08 文章: 84
 
  第 3 樓
  | 
		
			
				 發表於: 星期一 十二月 17, 2012 7:47 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				Len() 跟 Width 的結果好像不一樣吧?
 
雖然知道字串長度,但是欄位的寬度是不是超過這樣要怎樣檢查? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		asd89839032
 
 
  註冊時間: 2012-10-15 文章: 49
 
  第 4 樓
  | 
		
			
				 發表於: 星期二 十二月 18, 2012 9:25 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				他想表達的就是用LEN()檢查....
 
text.InteractiveChange 中寫上
 
 	  | 代碼: | 	 		  
 
If Left(This.Value,1) = " "
 
   This.Value = Alltrim(This.Value)
 
Else
 
   If Len(Alltrim(This.Value)) = Len(This.Value)
 
      Messagebox("滿惹")
 
   Endif
 
Endif
 
 | 	  
 
 
因為text會自動補上空格,所以,直接使用LEN可以知道長度多少,allt後當然就是他輸入的東西是多少啦XD
 
問的應該是這個吧?我應該沒搞錯問題....... _________________ 菜鳥路過... | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 5 樓
  | 
		
			
				 發表於: 星期二 十二月 18, 2012 11:59 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				TEXT 物件上設PICTURE (INPUTMASK) 不就好了.
 
 
=REPLICATE('x',FSIZE(某欄)) _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		yctsai
 
 
  註冊時間: 2003-04-11 文章: 180
 
  第 6 樓
  | 
		
			
				 發表於: 星期二 十二月 18, 2012 4:17 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 他應該是問因為text寬度不足,所以顯示不完全的問題吧 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		asd89839032
 
 
  註冊時間: 2012-10-15 文章: 49
 
  第 7 樓
  | 
		
			
				 發表於: 星期二 十二月 18, 2012 4:39 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我的不就是檢查有沒有超過嗎= =?
 
超過會提示
 
至於超過消失的資料就.....XD _________________ 菜鳥路過... | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		yctsai
 
 
  註冊時間: 2003-04-11 文章: 180
 
  第 8 樓
  | 
		
			
				 發表於: 星期二 十二月 18, 2012 9:44 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				其實不簡單,text的值,在中文英文字型等因素下,部份顯示不完全,用什麼判斷???我有見過某軟體,如果顯示不完全,滑鼠移到上頭
 
自動tooltiptext,如果顯示完全,卻不會彈出tooltiptext,此功能對 user and 畫面設計有幫助 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		zxl931
 
 
  註冊時間: 2013-01-08 文章: 1
 
  第 9 樓
  | 
		
			
				 發表於: 星期二 一月 08, 2013 5:03 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				以下程序可以取得字符串像素宽度。
 
 
***********************************************************************
 
* Program....: SIZESTR.PRG
 
* Author.....: Andy Kramek
 
* Date.......: 28 August 2001
 
* Notice.....: Copyright (c) 2001 Tightline Computers Ltd, All Rights Reserved.
 
* Compiler...: Visual FoxPro 07.00.0000.9262 for Windows
 
* Purpose....: Return the exact length of a string (in Pixels) in the specified font
 
* Prototype..: lnLen = SizStr( "This String", "Arial", 9, "BI" )
 
***********************************************************************
 
LPARAMETERS tuInStr, tcFName, tnFSize, tcFStyle
 
LOCAL lcInStr, lnLen, lnParams, lnRetVal
 
lnParams = PCOUNT()
 
**********************************************************************
 
*** Set Default Values if nothing passed
 
*** Default style is "Arial", 9
 
**********************************************************************
 
IF lnParams < 4
 
	tcFStyle = ""
 
	IF lnParams < 3
 
		tnFSize = 9
 
		IF lnParams < 2
 
			tcFName = "Arial"
 
			IF lnParams < 1
 
				tuInStr = "1"
 
			ENDIF
 
		ENDIF
 
	ENDIF
 
ENDIF
 
**********************************************************************
 
*** Convert the input string to character equivalent
 
**********************************************************************
 
lcInStr = TRANSFORM( tuInStr )
 
lnLen = LEN( lcInStr )
 
**********************************************************************
 
*** Get the exact length in Pixels
 
**********************************************************************
 
lnRetVal = INT( TXTWIDTH( lcInStr, tcFName, tnFSize, tcFStyle) * ;
 
	FONTMETRIC(6, tcFName, tnFSize, tcFStyle))
 
 
**********************************************************************
 
*** And return the length
 
**********************************************************************
 
RETURN lnRetVal | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |