Vytisknout stránku | Zavřít okno

Text na znaky

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=6451
Datum vytištění: 15.srp.2026 v 12:42


Téma: Text na znaky
Odeslal: Konzal
Předmět: Text na znaky
Datum odeslání: 05.kvě.2008 v 10:01
Potřeboval bych pomoc s funkci na rozložení textu na jednotlivé znaky. Přečtu z razítka výkresu text (kód) a potřebuju zpracovat seznam jeho jednotlivých písmenek. S Lispem začínám a nevím si moc rady. Přečtený text mám, ale nevím jak na ty písmenka.



Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 05.kvě.2008 v 10:05
To jde řešit buď nějakou smyčkou a podřetezci (substr) nebo elegantněji přes mapcar - zkuste si třeba:
(mapcar 'chr (vl-string->list "Můj řetězec"))


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Seiner
Datum odeslání: 05.kvě.2008 v 10:14
Což o to, elegantní to je. Otázka je, co s tím pak dál :-)
Jinak - co p. Konzal zamýšlí.
Funkce SUBSTR je opravdu použitelná. S její pomocí jsem dělal kdysi funkci najdi-nahraď pro nadstavbu rohového razítka. Dělal jsem si pomocnou fci, která mi řešila výskyt hledaného a určovala text před a za hledaným.
 
(defun find(co vcem / i)
(setq pred "" po "" lco (strlen co) lvcem (strlen vcem) i 1 jetam nil)
(while (<= i  lvcem)
  (if (= co (substr vcem i lco))(progn
   (setq pred (substr vcem 1 (- i 1)))
   (setq po (substr vcem (+ i lco) ))
   (setq i lvcem jetam T)  )
   (setq i (1+ i))
  )
)
)


-------------
Vítězslav Seiner

Chrudim


Odeslal: Konzal
Datum odeslání: 05.kvě.2008 v 10:44
Díky, ta mapcar funkce dělá to co potřebuju. Podle písmenek z kódu pak vkládám do výkresu předem nadefinované bloky.



Vytisknout stránku | Zavřít okno