フォローする

LISP , VBA , .NETのキーワード取得について

更新 : 2017-02-02 02:28:58 UTC

対象製品: IJCAD 2015 以降

ダイナミック入力がサポートされてから、Lisp の initget や VBA/.NET の GetKeywaord 等のキーワードリストは、角括弧 [] で囲むように仕様の変更がされており、丸括弧 () は使用できません。

以下に各言語のサンプルを示します。

VB.NET

Imports GrxCAD.ApplicationServices
Imports GrxCAD.EditorInput
Imports GrxCAD.Runtime

<CommandMethod("GETKEYWORDTEST")>
Public Sub GetKeywordTest()
    Dim icDoc As Document = Application.DocumentManager.MdiActiveDocument
    Dim icEd As Editor = icDoc.Editor
    Dim pmtKeyOpt As New PromptKeywordOptions(vbCrLf + _
"オプションを指定[テスト(T)/サンプル(S)]", "Test Sample") pmtKeyOpt.AllowNone = True pmtKeyOpt.Keywords.Default = "Test" Dim pmtKeyRes As PromptResult = icEd.GetKeywords(pmtKeyOpt) If pmtKeyRes.Status = PromptStatus.OK Then icEd.WriteMessage(vbCrLf + pmtKeyRes.StringResult) End If End Sub

 

C#

using GrxCAD.ApplicationServices;
using GrxCAD.EditorInput;
using GrxCAD.Runtime;

[CommandMethod("GETKEYWORDTEST")]
public void GetKeywordTest()
{
    Document icDoc = Application.DocumentManager.MdiActiveDocument;
    Editor icEd = icDoc.Editor;

    PromptKeywordOptions pmtKeyOpt = new PromptKeywordOptions(
"\nオプションを指定[テスト(T)/サンプル(S)]", "Test Sample"); pmtKeyOpt.AllowNone = true; pmtKeyOpt.Keywords.Default = "Test"; PromptResult pmtKeyRes = icEd.GetKeywords(pmtKeyOpt); if (pmtKeyRes.Status == PromptStatus.OK) { icEd.WriteMessage("\n" + pmtKeyRes.StringResult); } }

 

VBA

Public Sub GetKeywordTest()
    On Error Resume Next
    Call Utility.InitializeUserInput(0, "Test Sample")

     Dim res As String
     res = Utility.GetKeyword(vbCrLf + "オプションを指定[テスト(T)/サンプル(S)]:")
     If Err Then
         MsgBox Err.Description & "(" & Err.Number & ")"
         Exit Sub
     End If
     Utility.Prompt res
End Sub

 

LISP

(defun C:GETKYEWORDTEST ( / res )
  (initget 0 "Sample Test")
  (setq res (getkword "\nオプションを指定[サンプル(S)/テスト(T)] : "))
  (print res)
  (princ)
)

入力時にS,Tの場合と、_s,_sa,_sam...や_t,_te,_tesの場合に"Test"や"Sample"を返します。

 

※ LIPS や VBA の場合では : を最後につけなければ、コマンド起動時のメッセージに : が表示されません。

付けない場合 : コマンドラインに表示されるメッセージに : が表示されていない。

付けた場合 : コマンドラインに表示されるメッセージに : が表示されている。

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント