|
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 文章: 4215 來自: Taipei,Taiwan
第 5 樓
|
發表於: 星期二 十二月 18, 2012 11:59 am 文章主題: |
|
|
TEXT 物件上設PICTURE (INPUTMASK) 不就好了.
=REPLICATE('x',FSIZE(某欄)) _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
yctsai
註冊時間: 2003-04-11 文章: 179
第 6 樓
|
發表於: 星期二 十二月 18, 2012 4:17 pm 文章主題: |
|
|
他應該是問因為text寬度不足,所以顯示不完全的問題吧 |
|
回頂端 |
|
|
asd89839032
註冊時間: 2012-10-15 文章: 49
第 7 樓
|
發表於: 星期二 十二月 18, 2012 4:39 pm 文章主題: |
|
|
我的不就是檢查有沒有超過嗎= =?
超過會提示
至於超過消失的資料就.....XD _________________ 菜鳥路過... |
|
回頂端 |
|
|
yctsai
註冊時間: 2003-04-11 文章: 179
第 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 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|