Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Text kopieren und ändern

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Text kopieren und ändern (1020 mal gelesen)
Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

Autocad 2021/64B
Win10
WORKSTATION Intel(R) CPU E5-1620 3.60GHz
32 GB Ram
64 Bit-Betriebssystem
HP Designjet T7200
Grafik NVIDIA Quadro P4000
ZWCAD2021

erstellt am: 29. Sep. 2005 09:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Lispler
Bin Anfänger
Habe einen Text 111/9 will ihn kopieren und die neun um eine erhöhen.
Nach abfrage bekomme ich das zurück "111/9" wie muss ich das umwandeln um den Text bearbeiten zu können bzw. die 9 auf 10 umwandeln.

_$ (setq letzteob (cdr (assoc 1 abfrage)))
"111/9"


danke heinz

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



Sehen Sie sich das Profil von tunnelbauer an!   Senden Sie eine Private Message an tunnelbauer  Schreiben Sie einen Gästebucheintrag für tunnelbauer

Beiträge: 7085
Registriert: 13.01.2004

ich hab eh keine Probleme damit...

erstellt am: 29. Sep. 2005 09:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dober Heinz 10 Unities + Antwort hilfreich

Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

erstellt am: 29. Sep. 2005 09:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

Autocad 2021/64B
Win10
WORKSTATION Intel(R) CPU E5-1620 3.60GHz
32 GB Ram
64 Bit-Betriebssystem
HP Designjet T7200
Grafik NVIDIA Quadro P4000
ZWCAD2021

erstellt am: 29. Sep. 2005 11:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Tunelbauer
einen Frage
Was macht diese Befehl
VL-PRINC-TO-STRING
will auch den Ablauf vestehn was ich da schreibe.
danke heinz
will ja mal weiter gehn.
Das er mir ,von diesen Text "200.1/22" auch mal die 1 erhöht als dan 2/22 wird,
danke heinz

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



Sehen Sie sich das Profil von tunnelbauer an!   Senden Sie eine Private Message an tunnelbauer  Schreiben Sie einen Gästebucheintrag für tunnelbauer

Beiträge: 7085
Registriert: 13.01.2004

ich hab eh keine Probleme damit...

erstellt am: 29. Sep. 2005 12:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dober Heinz 10 Unities + Antwort hilfreich

Dieses vl-princ-to-string gibt Daten aus einem AutoLISP-Ausdruck in der Form wieder, wie es mittels princ am Bildschirm ausgegeben werden würde.

(Starte mal deinen vlide, drück dort F1 und lies nach - dort sind alle AutoLISP-Ausrücke erklärt; inkl. Beispiele; dann wird es verständlicher)

------------------
Grüsse

Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad-intensiv
Mitglied
CAD-Anbieter


Sehen Sie sich das Profil von cad-intensiv an!   Senden Sie eine Private Message an cad-intensiv  Schreiben Sie einen Gästebucheintrag für cad-intensiv

Beiträge: 31
Registriert: 14.06.2005

erstellt am: 29. Sep. 2005 12:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dober Heinz 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Dober Heinz:
Hallo Lispler
Bin Anfänger
Habe einen Text 111/9 will ihn kopieren und die neun um eine erhöhen.
Nach abfrage bekomme ich das zurück "111/9" wie muss ich das umwandeln um den Text bearbeiten zu können bzw. die 9 auf 10 umwandeln.


Hallo Heinz,

das sollte doch in dem gerade von Dir absolvierten LISP Seminar in Wien behandelt worden sein, oder hat Herr Berger das versäumt? Wenn Du mir sagst, wo Du dabei noch Probleme hast, dann kann vielleicht auch ich Dir hier weiter helfen.

IMO das entscheidende Problem dabei besteht darin, zu erkennnen, welche Zahl dabei Du hochzählen willst, denn in Deinem Text stehen mehrere Ziffern, und Du musst beispielsweise erkennen, dass Texte der Form "200/1" in "200/2" geändert werden sollen, Texte der Form "200/9" aber in "200/10". Dabei geht es also nicht nur um simples Hochzählen, sondern um das Erkennen der Bedeutung des Textes, konkret darum, wie viele Zeichen am Ende des Textes eine Zahl bilden, die hochgezählt werden soll.

Ob die letzten Zeichen Deines Textes als Zahl interpretiert werden können, und wieviele Zeichen dabei benutzt werden, kannst Du mit den Funktionen SUBSTR und NUMBERP testen. Dabei gehst Du in einer Schleife vom letzten Zeichen des Textes aus schrittweise rückwärts:

(numberp (read (substr teststring (- (strlen teststring) counter))))

Wenn Du counter nun bei 0 beginnen lässt und in der Schleife hochzählst, dann wird dabei geprüft, ob das letzte Zeichen eine Zahl ist, oder ob die letzten beiden Zeichen eine Zahl sind, die letzten 3 Zeichen usw.. Das machst Du solange, bis das Resultat keine Zahl mehr  ergibt, und die zuletzt gewonnene Zahl ist dann die richtige, die Du um eins hochzählen kannst.

Die Funktion zum Erkennen der Zahl, die am Ende eines Strings steht, sieht also so aus:

Zitat:

(defun str-zahl-am-ende (teststring / zaehler stringende zahl-am-ende)
  (setq zaehler 0)
  (while (numberp (read (setq stringende (substr teststring (- (strlen teststring) zaehler)))))
    (setq zahl-am-ende (read stringende))
    (setq zaehler (1+ zaehler))
  )
  zahl-am-ende
)

Falls der String keine Zahl am Ende hat, wird NIL zurück gegeben. Damit solltest Du erst mal weiter kommen, hoffe ich.

Davon abgesehen würde mich interessieren, ob der Kurs Dir was gebracht hat.

Grüßle
Robert

------------------
Lisp-Seminare in Wien am 25. und 26. Sep 2005 und später in München, Frankfurt, Köln , Berlin ... -> Infos unter cad-intensiv@gmx.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 29. Sep. 2005 12:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dober Heinz 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Dober Heinz:
Hallo Lispler
Bin Anfänger
Habe einen Text 111/9 will ihn kopieren und die neun um eine erhöhen.
Nach abfrage bekomme ich das zurück "111/9" wie muss ich das umwandeln um den Text bearbeiten zu können bzw. die 9 auf 10 umwandeln.

_$ (setq letzteob (cdr (assoc 1 abfrage)))
"111/9"


danke heinz


ich würds so machen

(setq a1 "115/1")
(setq a2 (fsplit a1 "/")) ; -> (115 1)
(strcat (itoa (car a2 )) "/" (itoa (1+ (cadr a2))))


;------------------------------------------------------------------------------
; Fuktion Split für Zahlen                                                             
; wandelt einen string in eine liste um                                       
; (fsplit "1 2 3 4" " ") -> '(1 2 3 4)               
;------------------------------------------------------------------------------
(defun fSplit (String Separator / )
  (setq String (replace String Separator " "))
  (setq String (strcat "(list " String ")"))
  (eval (read String))
)

------------------

Ing. Anton Fuchs
WWW.FFZELL.AT.TC

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 29. Sep. 2005 12:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dober Heinz 10 Unities + Antwort hilfreich

hab noch eine zweiote benötigte Hilfsroutine vergessen

;------------------------------------------------------------------------------
; Replace Funktion ersetzten eines Suchstrings durch den ReplaceString       
;                                                                             
;------------------------------------------------------------------------------
;  -> String          zu durchsuchender String                               
;  -> Searchstring    zu suchender/ersetztender string                       
;  -> ReplaceString    string mit dem ersetzt wird                           
;------------------------------------------------------------------------------
(defun Replace (String SearchString ReplaceString / )
  (while (/= String (vl-string-subst ReplaceString SearchString String))
    (setq String (vl-string-subst ReplaceString SearchString String))
  )
String
)

------------------

Ing. Anton Fuchs
WWW.FFZELL.AT.TC

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

erstellt am: 29. Sep. 2005 13:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Cad-intensiv
Wir haben das im Kurs nur besprochen, und darum frage ich auch ihr im Forum wie das am besten geht und ich will bei jeder Zeile wissen was ich du und was Programm macht.
nur so kann ich es lernen, wen ich versteh was ich mache
danke dir für Angebot
komme gern zurück auf angebot
mfg heinz
und danke an alle für hilfe
du mir ziemlich schwer, kann kein englich und muss mir alles ausdeutschen.
habe mir alle befehle, die momentan brauche rausgeschreiben mit beschreiben.
damit geht es schon besser aber manche sachen sind wir noch nicht so klar wie ich den Text "220/1.1" umwandle und letzte Zahl um eins erhöhe.
 

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

Autocad 2021/64B
Win10
WORKSTATION Intel(R) CPU E5-1620 3.60GHz
32 GB Ram
64 Bit-Betriebssystem
HP Designjet T7200
Grafik NVIDIA Quadro P4000
ZWCAD2021

erstellt am: 29. Sep. 2005 16:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Anton
Danke auch dir
werde versuchen das ihn mein Lisp einzuarbeiten.

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad-intensiv
Mitglied
CAD-Anbieter


Sehen Sie sich das Profil von cad-intensiv an!   Senden Sie eine Private Message an cad-intensiv  Schreiben Sie einen Gästebucheintrag für cad-intensiv

Beiträge: 31
Registriert: 14.06.2005

erstellt am: 29. Sep. 2005 16:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dober Heinz 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Dober Heinz:

damit geht es schon besser aber manche sachen sind wir noch nicht so klar wie ich den Text "220/1.1" umwandle und letzte Zahl um eins erhöhe.


Naja, es kommt halt prinzipiell drauf an, welche Texte da so auf einen zukommen können, und was die alles enthalten können. Die Frage ist schon mal die, ob in diesem Fall die letzte Zahl die letzte "1" ist, oder ob das die "1.1" ist. Meine oben gezeigte Funktion gibt letzteres zurück. Diese 1.1 auf 2.1 hochzuzählen ist simpel, und diese dann wieder in einen String zurück zu verwandeln ist es auch. Wenn Du diesen hochgezählten String dann wieder mit dem "200/" vereinen willst, dann musst Du natürlich wissen, ab welcher Position die Zahl beginnt - dazu kannst Du meine Funktion so verändern, dass sie nicht nur die Zahl, sondern auch die Position zurück gibt - die steckt ja implizit in der Variablen counter drin. Oder noch besser: Du lässt aus dieser obigen Funktion die Zahl und den Anfangsstring zurück geben, also beispeilsweise als Liste ("200/" 1.1) - damit kannst Du dann nämlich gleich alle Kopien fortlaufend von 1.1 als Startwert aus hochzählen.

Gruß
Robert

------------------
Lisp-Seminare in Wien am 25. und 26. Sep 2005 und später in München, Frankfurt, Köln , Berlin ... -> Infos unter cad-intensiv@gmx.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

Autocad 2021/64B
Win10
WORKSTATION Intel(R) CPU E5-1620 3.60GHz
32 GB Ram
64 Bit-Betriebssystem
HP Designjet T7200
Grafik NVIDIA Quadro P4000
ZWCAD2021

erstellt am: 29. Sep. 2005 18:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo cad-intensiv
Ja das will ich gerade machen deinen Vorschlag einzubauen.
ist nicht leicht als Anfänger gebe aber nicht auf, da ich noch nicht alles Versteh.

ich will mir zwei Lisps bauen einmal wo er mir nur die letzte Hochzählt (222.1/1  wird 222.1/2) und eins wo er mir das Vorletzte Hochzählt(222.1/1 wird 222.2/1)
danke für Antwort

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

erstellt am: 29. Sep. 2005 19:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Cad-in

wenn ich mir meinen Text so einlese ist das überhaupt ein string den ich bearbeiten kann.

(setq textw (car (entsel)))
  (setq abfrage (entget textw))
  (setq letzteob (cdr (assoc 1 abfrage)))


mf heinz

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cad-intensiv
Mitglied
CAD-Anbieter


Sehen Sie sich das Profil von cad-intensiv an!   Senden Sie eine Private Message an cad-intensiv  Schreiben Sie einen Gästebucheintrag für cad-intensiv

Beiträge: 31
Registriert: 14.06.2005

erstellt am: 29. Sep. 2005 21:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dober Heinz 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Dober Heinz:
Hallo Cad-in

wenn ich mir meinen Text so einlese ist das überhaupt ein string den ich bearbeiten kann.

(setq textw (car (entsel)))
  (setq abfrage (entget textw))
  (setq letzteob (cdr (assoc 1 abfrage)))


Du solltest mehr prüfen und solltest die Variablen so benennen, dass sie wenigstens irgend was mit dem Inhalt zu tun haben und nicht völlig falsche Namen haben.

Beispiel:

Code:

(if (and (setq text-entityname (car (entsel "\nTextelement wählen: ")))
        (setq text-entgetlist (entget text-entityname))
        (= "TEXT" (cdr (assoc 0 text-entgetlist)))
    )
    (progn
      (setq text-inhalt (cdr (assoc 1 text-entgetlist)))
      ....

    )
)


Hier steht dann in der Variablen text-inhalt ganz garantiert ein String.

Gruß
Robert

------------------
Lisp-Seminare in Wien am 25. und 26. Sep 2005 und später in München, Frankfurt, Köln , Berlin ... -> Infos unter cad-intensiv@gmx.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

Autocad 2021/64B
Win10
WORKSTATION Intel(R) CPU E5-1620 3.60GHz
32 GB Ram
64 Bit-Betriebssystem
HP Designjet T7200
Grafik NVIDIA Quadro P4000
ZWCAD2021

erstellt am: 18. Okt. 2005 14:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@Fuchsi

Habe dein Lisp getestet
(setq aus (car(entsel)))
(setq umw (entget aus))
(setq txt (cdr (assoc 1 umw)))
(setq a2 (fSplit txt "/"))
(strcat (itoa (car a2 )) "/" (itoa (1+ (cadr a2))))


(defun fSplit (String Separator /)
  (setq String (replace String Separator " "))
  (setq String(strcat "(list " String ")"))
  (eval (read String))
  )


(defun Replace (String SearchString ReplaceString /)
(while (/=String (vl-string-subst ReplaceString
    SearchString String))
    (setq String (vl-string-subst ReplaceString
  SearchString String))
  )
  String
  )
bekomme aber folgende Meldung

"150/1"
; Fehler: no function definition: /=STRING

danke

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 18. Okt. 2005 14:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dober Heinz 10 Unities + Antwort hilfreich

Hallo Heinz,

du programmierst nicht zufällig im VLIDE? Dort hat man ja eine farbliche Unterscheidung bzgl Funktionen und Variablen. Dann wäre dir aufgefallen, dass ein Leerzeichen zwischen dem Operanden und der Variablen fehlt
(/=[LEER]STRING ...

Grüße Holger

------------------
Holger Brischke
CAD on demand GmbH                              Autodesk User Group Central Europe
Individuelle Lösungen von Heute auf Morgen.              AUGCE Manager Deutschland

Jackpot on demand - Wir eröffnen den Spätsommer mit einer Verlosung!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

erstellt am: 18. Okt. 2005 15:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@ Holger
Ja schon bin noch bissi Blind für solche sachen
danke dir

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dober Heinz
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von Dober Heinz an!   Senden Sie eine Private Message an Dober Heinz  Schreiben Sie einen Gästebucheintrag für Dober Heinz

Beiträge: 1143
Registriert: 20.12.2002

Autocad 2021/64B
Win10
WORKSTATION Intel(R) CPU E5-1620 3.60GHz
32 GB Ram
64 Bit-Betriebssystem
HP Designjet T7200
Grafik NVIDIA Quadro P4000
ZWCAD2021

erstellt am: 19. Okt. 2005 06:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@Fuchsi
Habe mir das Lisp nochmal umgebaut um diese Zahlen zu erhöhen 1/2 wird 2/3 das funkt mal.
Aber mit Text M1/2 geht das Lisp nicht. Sollte M2/3 werden

(setq aus (car(entsel)))
(setq umw (entget aus))
(setq txt (cdr (assoc 1 umw)))
(setq a2 (fSplit txt "/"))
(setq fertig(strcat (itoa (1+ (car a2 ))) "/" (itoa (1+ (cadr a2)))))


(defun fSplit (String Separator /)
  (setq String (replace String Separator " "))
  (setq String(strcat "(list " String ")"))
  (eval (read String))
  )


(defun Replace (String SearchString ReplaceString /)
(while (/= String (vl-string-subst ReplaceString
    SearchString String))
    (setq String (vl-string-subst ReplaceString
  SearchString String))
  )
  String
  )

weis nicht wiklich was (defun Replace macht) kann es mir nicht daher nicht umschreiben, kannst mir nochmal helfen.
danke

------------------
Heinz 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz