BlockReference br = new BlockReference(new Point3d(10, 10, 0), CreateEmployeeDefinition());
為
BlockReference br = new BlockReference(pos, CreateEmployeeDefinition());
· 替換
xRec.Data = new ResultBuffer( new TypedValue((int)DxfCode.Text, "Earnest Shackleton"), new TypedValue((int)DxfCode.Real, 72000), new TypedValue((int)DxfCode.Text, "Sales"));
為
xRec.Data = new ResultBuffer( new TypedValue((int)DxfCode.Text, name), new TypedValue((int)DxfCode.Real, salary), new TypedValue((int)DxfCode.Text, division));
把這些常數加入到try語句后面: string empName = "Earnest Shackleton"; string divName = "Sales"; double salary = new double(); salary = 10000; Point3d position = new Point3d(0, 0, 0); bool gotPosition = new bool(); //布爾值用來判斷用戶是否已輸入職位 gotPosition = false;
3) 現在讓我們提示用戶輸入值。我們先使用PromptXXXOptions類來初始化要顯示的提示字符串。 //提示輸入每個雇員的詳細資料 PromptStringOptions prName = new PromptStringOptions("Enter Employee Name <" + empName + ">"); PromptStringOptions prDiv = new PromptStringOptions("Enter Employee Division <" + divName + ">"); PromptDoubleOptions prSal = new PromptDoubleOptions("Enter Employee Salary <" + salary + ">"); PromptPointOptions prPos = new PromptPointOptions("Enter Employee Position or");
注意,提示字符串用尖括號來顯示變量的值。這是AutoCAD用來提示用戶這個值為缺省值。 4) 當提示用戶輸入職位時,我們也提供了一個關鍵字列表選項,如名字、部門和薪水。如果用戶想要在選擇一個點的時候改變為其它值,他可以選擇那個關鍵字。 一個命令提示的例子如下: Command: CREATE Enter Employee Position or [Name/Division/Salary]:
要創建一個雇員,用戶會選擇一個點而其它的值被設置為缺省值。如果用戶要改變其它的值,如名字,他可以輸入”N”或全名”Name”,然后輸入名字: Command: CREATE Enter Employee Position or [Name/Division/Salary]:N Enter Employee Name <Earnest Shackleton>: