CATEGORII DOCUMENTE |
in AutoLISP, orice serie de caractere alfanumerice aflate intre ghilimele duble reprezinta un sir text. {irul poate include caractere speciale cum ar fi *, &, , % si .
in acest capitol veti studia:
Despre sirurile text si valorile lor
Cum sa folositi caracterele de control in sirurile text.
Cum sa luati siruri text de la utilizator.
Cum sa folositi comanda AutoCAD TEXT cu variabile AutoLISP-ul legate la siruri text.
Diferentele dintre cele sase functii de tiparire in AutoLISP.
Cum sa folositi functiile de tiparire.
{irurile text se evalueaza pe sine, adica valoarea unui sir text este sirul in sine.
Command: !'This is a
string'
'This is a string.'
Command:
(setq x 'This is a string.')
'This is a string.'
Command: !x
'This is a string.'
Caracterul 'a' precede un caracter de control in cadrul unui sir text. Caracterul care urmeaza imediat are o semnificatie speciala.
in urmatorul tabel gasiti caracterele de control cunoscute de asemenea si ca 'escape codes' care sint recunoscute in cadrul sirurilor AutoLISP.
Cod |
Semnificatie |
aa |
a caracter |
a' |
' caracter |
ae |
caracter escape |
an |
caracter newline |
ar |
caracter return |
at |
caracter tab |
annn |
Caracter al carui cod octal este nnn |
Tabelul 2. Caractere de control in siruri
Functia getstring asteapta ca utilizatorul sa introduca un sir text. Are doua argumente optionale: suprima caracterul spatiu ca si return si un sir de la utilizator.
Daca primul argument optional este furnizat si acesta nu este nil, atunci este posibil ca sirul sa contina spatii; primul spatiu din sir este tratat ca 'return'.
Introduceti expresiile care urmeaza.
Legati variabila txt de sirul text 'single'.
Command: (setq txt (getstring 'anEnter text:
'))
Enter text: single
'single'
Command: !txt
'single'
Legati variabila txt de sirul text in care s-au introdus spatii.
Command: (setq txt (getstring T 'anEnter text:
'))
Enter text: embedded spaces
'embedded spaces'
Command: !txt
'embedded spaces'
Daca variabila de sistem TEXTEVAL este mai mare decit 0, puteti raspunde la o cerere de comanda TEXT sau DTEXT cu o variabila AutoLISP si comanda va tipari valoarea asignata variabilei; daca nu, comanda va tipari semnul exclamarii si numele variabilei.
Comanda TEXT va tipari intotdeauna valoarea unei variabile sir atunci cind este apelata in cadrul unei functii AutoLISP de tip command indiferent de setarea TEXTVAL.
Comanda DTEXT nu poate fi apelata de functia AutoLISP de tip command.
intr-un desen nou introduceti expresiile care urmeaza.
Prima comanda TEXT va tipari !txt1. A doua comanda TEXT va tipari Second line. Vezi figura 18-1.
Command: (setq txt1 'First line.')
'First line.'
Command: (setq txt2 'Second line.')
'Second line.'
Command: text
Justify/Style/<Start point>: 1,5
Height: 0.5
Rotation: 0
Text: !txt1
Command: (setvar 'texteval' 1)
1
Command: text
Justify/Style/<Start point>: Enter
Text: !txt2
Figura 41. entitati tip text
Exista sase functii de tiparire in AutoLISP. Cinci dintre ele tiparesc siruri text iar una tipareste caractere text. Trei dintre aceste functii tiparesc orice fel de expresii indiferent daca acestea sint de tipul sir text. Functia pentru caractere si patru dintre functiile de tip sir pot tipari nu numai intr-un fisier dar si pe un monitor.
Functia |
Argumente |
Descriere |
prin1 |
sexpr sfile-desctt |
Tipareste expr si returneaza expr. Expandeaza caracterele de control. |
princ |
sexpr sfile-desctt |
Tipareste expr si returneaza expr. Nu expandeaza caracterele de control |
|
sexpr sfile-desctt |
La fel ca prin1, si in plus tipareste un newline inainte de expr si un spatiu dupa expr. |
prompt |
smsgt |
Tipareste msg pe display si returneaza nil. |
write-char |
num sfile-desct |
Tipareste un caracter ASCII conform cu argumentul num pentru codul zecimal ASCII si returneaza numarul. |
write-line |
string sfile-desct |
Tipareste string fara quotes si returneaza string cu quotes. Asemanator cu princ. |
Table 3. Functii de tiparire
Intrarea si iesirea in/si dintr-un fisier incluzind si tiparirea intr-un fisier vor fi discutate mai tirziu in acest curs.
Functia prompt este folosita pentru tiparirea mesajelor destinate utilizatorului, pe afisaj.
Functia print tipareste expresii intr-o maniera compatibila cu functia load, in timp ce functia princ le tipareste intr-o maniera compatibila cu functia read-line. Veti studia functia read-line in capitolul destinat intrarii si iesirii intr-un fisier mai tirziu in acest curs.
Functiile prin1, princ si print accepta orice expresie ca argument si ii va tipari valoarea.
Functiile prompt si write-line accepta numai argumente de tip sir.
{irurile text sint caractere alfanumerice aflate intre ghilimele duble.
Caracterele de control din cadrul unui sir de tip text incep cu un caracter 'a'.
Functia getstring primeste siruri interactiv de la utilizator.
Variabila de sistem TEXTEVAL demonstreaza cum comanda AutoCAD TEXT va tipari o variabila AutoLISP.
AutoLISP-ul dispune de o varietate de functii de tiparire pentru diferite intrebuintari.
exercitiul 22: siruri de text si functii de tiparire
in acest exercitiu:
Veti consolida cunostintele despre siruri de tip text si functii de tiparire.
Veti obtine doua siruri text interactiv de la utilizator.
Veti folosi sirurile de tip text cu patru dintre functiile de tiparire.
Intoduceti expresiile care urmeaza.
Legati cinci variabile de la a la d de diferite tipuri de date: numar intreg, lista, sir si sir care contine caractere de control.
Command: (setq a 1)
Command:(setq b '(1.0 1.0 0.0))
Command: (setq c (getstring 'anString: '))
String: xyz
'xyz'
Command: (setq d (getstring 'anFile name:
'))
File name: astudentax.dwg
'aastudentaax.dwg'
Folositi variabilele ca argumente la diferite functii de tiparire.
Scrieti valorile in casutele corespunzatoare din tabelul care urmeaza.
Variabila |
prin1 |
princ |
|
prompt |
a | ||||
b | ||||
c | ||||
d |
Tabelul 25. Variabile si functii de tiparire
Aceasta pagina a fost lasata libera in mod intentionat.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1101
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved