Vla-getstring

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月24日 (日) 00:22時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-getstring ''vla-object'' ''HasSpaces'' ''Prompt'' ) ; 機能 : ユーザから文字列を取得する。 ; 引数 :* vla-object … Uti...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-getstring vla-object HasSpaces Prompt )


機能
ユーザから文字列を取得する。


引数
  • vla-object … Utility の VLAオブジェクト
  • HasSpaces … スペースの有無
  • 0 : 返される文字列にスペースを含めることはできない。改行またはスペースで終了する。
  • 1 : 返される文字列にスペースを含めることができる。改行でのみ終了する。
  • Prompt … ユーザに入力を求めるときに表示される文字列。


戻り値
ユーザから返される文字列。


  • MEMO : CAD は、ユーザが文字列を入力するのを待って、ユーザが入力した文字列に対する結果を設定する。
  • HasSpaces パラメータは、文字列にスペースを含められるかどうかを指定する。
  • Prompt パラメータは、ユーザ入力を求める際に AutoCAD が表示する文字列を指定する。
  • CAD のユーザは、キーボードから文字列を入力できる。HasSpaces パラメータが True の場合、文字列に空白を含むことができ、ユーザは[Enter]を押して入力を終了する必要がある。HasSpaces が False の場合、空白を入力するか[Enter]を押して入力を終了する。133 文字以上の文字が入力された場合、空白が入力されるか[Enter]が押されるまで(HasSpaces で設定)文字列の入力は継続されますが、GetString メソッドは最初の 132 文字しか戻り値に設定しない。


サンプル
(vl-load-com)
(defun c:Example_GetString()
    ;; ユーザーが入力した文字列を返すさまざまな方法を示す。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))    
    
    ;; プロンプト ・入力は空白を含めることはできない。
    (setq returnString (vla-GetString (vla-get-Utility doc) :vlax-false "文字を入力 (スペースまたは <enter>は、入力を終了): "))
    (alert (strcat "入力文字列は '" returnString "'"))
    
    ;; プロンプト ・入力は空白を含めることができる。
    (setq returnString (vla-GetString (vla-get-Utility doc) :vlax-true "文字を入力 (スペースまたは <enter>は、入力を終了): "))
    (alert (strcat "入力文字列は '" returnString "'"))
    
    ;; プロンプト ・入力が空白、空の文字列ではありませんを含めることができない。
    (setq NoNull 1)    ;; Null を許可しません。
    (vla-InitializeUserInput (vla-get-Utility doc) NoNull)
    (setq returnString (vla-GetString (vla-get-Utility doc) :vlax-true "文字を入力 (スペースまたは <enter>は、入力を終了):  "))
    (alert (strcat "入力文字列は '" returnString "'"))
)

関連事項