Arguments
cr
If supplied and not nil, this argument indicates that users can include blanks in their input string (and must terminate the string by pressing ENTER). Otherwise, the input string is terminated by entering a space or pressing ENTER.
msg
A string to be displayed to prompt the user.
Example
(setq str1 (getstring "Enter your country Name :"))
The following prompth will appear
Enter your country Name :
Enter India and check value of variable str1 by entering !str1
now try this
(setq str1 (getstring "Enter your Full Name :"))
try entering your first and last name. as your type your first name and press space bar the getstring function ends and you no more entering your last name. to allow space in string you must use T in getstring function. to do so look below
(setq str1 (getstring T "Enter your country Name :"))
now try to entering your first Name and last name with space. you could do this. check the value of variable str1 by entering !str1 at command line.
Use of Initget
The syntax for Initget is
(initget [bits] [string])
you can use Initget with functions like getint, getreal, getdist, getangle, getorient, getpoint, getcorner, getkword, entsel, nentsel, and nentselp.
bits
A bit-coded integer that allows or disallows certain types of user input. The bits can be added together in any combination to form a value between 0 and 255. If no bits argument is supplied, zero (no conditions) is assumed. The bit values are as follows:
1(bit 0) Prevents the user by entering only ENTER, Null input not allowed.
2(bit 1) Prevents the user entering zero.
4(bit 2) Prevents the user by entering a negative value.
8(bit 3) Allows the user to enter a point outside the current drawing limits. This condition applies to the next user-input function even if the AutoCAD system variable LIMCHECK is currently set.
16(bit 4) Return 3D point.
32(bit 5) Uses dashed lines when drawing a rubber-band line or box. For those functions with which the user can specify a point by selecting a location in the drawing area, this bit value causes the rubber-band line or box to be dashed instead of solid. (Some display drivers use a distinctive color instead of dashed lines.) If the system variable POPUPS is 0, AutoCAD ignores this bit.
64(bit 6) Prohibits input of a Z coordinate to the getdist function; lets an application ensure that this function returns a 2D distance.
128(bit 7) Allows arbitrary input as if it is a keyword, first honoring any other control bits and listed keywords. This bit takes precedence over bit 0; if bits 7 and 0 are set and the user presses ENTER, a null string is returned.
256(bit 8) Give direct distance input precedence over arbitrary input. For external applications, arbitrary input is given precedence over direct distance input by default. Set this bit if you wish to force AutoCAD to evaluate user input as direct distance input. Note that legal point input from the keyboard always takes precedence over either direct distance or arbitrary input.
512(bit 9) If set before a call to getpoint or getcorner, a temporary UCS will be established when the cursor crosses over the edge of a planar face of a solid. The temporary UCS is reset when the cursor moves off of a face. It is dynamically re-established when the cursor moves over a different face. After the point is acquired, the dynamic UCS is reset to the current UCS. This functionality is not enabled for non-planar faces such as the side of a cylinder.
1024(bit 10) When calling getdist, getangle, getorient, getpoint, or getcorner, you may not want the distance, angle, orient, point, or corner to be influenced by ortho, polar, or otracking in the Z direction. Setting this bit before calls to any of these functions will temporarily disable ortho, polar, and otracking in the Z direction. This is useful when you create 2D entities such as PLINE, ARC, or CIRCLE, or when you use the ARRAY command, which creates only a 2D array. In 2D-only commands it can be confusing and error-prone to allow 3D points to be entered using ortho Z, polar Z, or otrack Z.
string
A string representing a series of keywords. See “Keyword Specifications” for information on defining keywords.
as describled above bit code can be used individual or added togather. for example if you do not want to Get function to accept null and zero input, your syntax may as following
(initget 3)
(setq age (getint "Enter Your Age :"))
in this example you notice that there is no bit value of 3 for initget. 3 is compination of bit 0 and bit 1 (1+2). it prevent user by entering null or zero value. but not all of these bit values are used with all Get Functions. here are list of which bit values of Getint are used with which Get Function.
Getint : 1,2,4,128
Getreal : 1,2,4,128
Getdist : 1,2,4,32,64,128,256,1024
Getangle : 1,2,32,128,256,1024
Getorient : 1,2,32,128,256,1024
Getpoint : 1,8,32,128,256,512,1024
Getcorner : 1,8,32,128,256,512,1024
Getkword : 1,128
now we look example of initget. suppose you ask user for distance in your program. u may use Getdist with two point requirement. at this point suppose user wants to input distance value by keyboard. this will be possible with use with initget. thus initget allow user to accept inputs from keyboard and mouse.
Example
(setq pt1 (getpoint "Select point :"))
(initget 1)
(setq dist1 (getdist pt1 "specity second point :"))
when you see prompt specity second point : at command line just type 25 other than select point on screen. when you enter 25 the getdist function ends and value 25 is assigned to variable dist1. check value of dist1 by entering !dist1 at command line
Getkword
The syntax for Initget is
(getkword [msg])
Valid keywords are set prior to the getkword call with the initget function. The user cannot enter another AutoLISP expression as the response to a getkword request.
Arguments
msg
A string to be displayed to prompt the user; if omitted, getkword does not display a prompting message.
if such a situation where user is asked to choose one of many options. you can use strings in initget function. let's look
(initget "Word Autocad Excel")
(setq txt (getkword "Enter your Choice [Word / Autocad / Excel] :"))
When you enter above two sentence on command line the following prompt will shown
Enter your Choice [Word / Autocad / Excel] :
now user have three choices, but one thing is important, that is capitalization of keyword. The required portion of the keyword is specified in uppercase characters, and the remainder of the keyword is specified in lowercase characters. The uppercase abbreviation can be anywhere in the keyword (for example, "LType", "eXit", or "toP").
in our example when user type only a or A the stirng Autocad is assigned to variable txt. and if user type except w a e or W A E the message Invalid option keyword will appear and ask again to choose one of the option. the user may enter the whole string also like autocad.