.NET
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Dealing with Keywords but also alllowing double and return key enter as well

1 REPLY 1
Reply
Message 1 of 2
ralstogj
308 Views, 1 Reply

Dealing with Keywords but also alllowing double and return key enter as well

Hi

 

I am trying to get my code to work more like some of the built in autocad commands below is the code I have come up with. However if the string returned is not a Keyword or a string that can be converted to a double it is then not acceptable input. How do I jump back to re ask for the input. I could use goto I guess but thats not good practice is there a better way?

 

           

           

'ask the user if they want to accept the sureface level at the lid level or enter a new one

           

Dim acDoc AsDocument = Application.DocumentManager.MdiActiveDocument

           

Dim pKeyOpts AsPromptKeywordOptions = NewPromptKeywordOptions("")

           

Dim CurrentLidLevel AsDouble = oStructure.RimElevation

            pKeyOpts.Message = vbLf &

"Structure Lid Level:" & CurrentLidLevel

            pKeyOpts.Keywords.Add(

"Surface")

            pKeyOpts.Keywords.Add(

"New")

           

'pKeyOpts.Keywords.Default = "New"

            pKeyOpts.AllowNone =

True

           

Dim pKeyRes AsPromptResult = acDoc.Editor.GetKeywords(pKeyOpts)

           

SelectCase pKeyRes.StringResult

               

Case"Surface"

                   

'Do nothing

                    Lidlevel = CurrentLidLevel

               

Case"New"

                   

'ask user for grade to use

                    Lidlevel = acDoc.Editor.GetDouble(vbCrLf &

"Enter New lid level of Structure").Value

               

Case""

                   

'Enter key hit

                    MsgBox(

"using surface level for lid level")

               

Case Else

                   

'Check if input was a number that we can work with

                   

Try

                       

Double.TryParse(pKeyRes.StringResult, Lidlevel)

                   

Catch ex AsException

                   

EndTry

 

 

                   

'enter pressed do nothing

           

EndSelect

 

Regards

Justin Ralston
http://c3dxtreme.blogspot.com/
1 REPLY 1
Message 2 of 2
chiefbraincloud
in reply to: ralstogj

Use GetDouble with PromptDoubleOptions and AutoCAD will automatically reprompt if the user enters anything that is not a double or a keyword.  Setting AllowNone = true allows the Enter Key.

Dave O.                                                                  Sig-Logos32.png

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report

”Boost