Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Fehlermeldung

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:  Fehlermeldung (406 mal gelesen)
Waldemar
Mitglied
Applikationsingenieur


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

Beiträge: 264
Registriert: 06.09.2001

Windows 7, Intel Core 2 Duo, P8600
AutoCAD, AutoCAD MEP, Revit MEP
Navisworks

erstellt am: 04. Jun. 2003 11:07    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 zusammen,
habe nachfolgenden Bereich in einem Lispprogramm vor einigen Jahren geschrieben (noch unter R14).

(Defun DKL ()
(Setq KL (Getstring (Strcat "\nKanallänge <"VKL">: ")))
(If (/= KL "") (Setq VKL KL))
(Setq KL VKL)
(Setq KL (Atof KL))
(If (<= KL 0)
  (And (Princ "\nWert muss positiv und ungleich Null sein.") (DKL))
);If
)

Seitdem habe ich mich mit Lisp nicht beschäftigt. Unter R2000 bekomme ich nachfolgende Fehlermeldung:

; Fehler: Fehlerhafter Argumenttyp: stringp nil

Offensichtlich liegt es an der Zeile mit Getstring und Strcat. Wo ist hier der Fehler begraben. Kann mir jem helfen.


Schöne Grüße
Waldemar

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

axeld
Mitglied
Projektingenieur/CAD-Administrator


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

Beiträge: 267
Registriert: 18.11.2002

erstellt am: 04. Jun. 2003 12:10    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 Waldemar 10 Unities + Antwort hilfreich

VKL ist beim ersten Aufruf noch nicht definiert, es muß aber ein String sein, damit es mit STRCAT verbunden werden kann.

Schreibe am Anfang:

(if (not VKL)(setq VKL ""))

------------------
Axel

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

Waldemar
Mitglied
Applikationsingenieur


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

Beiträge: 264
Registriert: 06.09.2001

Windows 7, Intel Core 2 Duo, P8600
AutoCAD, AutoCAD MEP, Revit MEP
Navisworks

erstellt am: 04. Jun. 2003 12: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 Axel,

besten Dank! Es funktioniert!

Waldemar

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



Konstrukteur (m/w/d)

Die De Dietrich Process Systems Gruppe entwickelt, fertigt und vermarktet als globaler Marktführer innovative und kundenorientierte Lösungen auf Basis von Apparaturen mit Stahl/Email-, Edelstahl-, Speziallegierungs- und Borosilikatglas-Technologien für die chemische und pharmazeutische Industrie. Am Standort Mainz bilden über 200 Mitarbeiter das QVF® Kompetenzzentrum für den Glasapparatebau, ...

Anzeige ansehenKonstruktion, Visualisierung
Dabrunz
Mitglied



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

Beiträge: 127
Registriert: 28.05.2003

erstellt am: 04. Jun. 2003 12:39    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 Waldemar 10 Unities + Antwort hilfreich

Tag Waldemar.

Dein Variable [b]VKL[b] ist nicht als STRING initialisert. Es ist auch nicht klar, wo denn ein Wert herkommen soll - ist ja 'ne globale Variable. Außerdem arbeit die Funktion ohne brauchbare Rückgabe. Meine Empfehlung:

Code:

;
;***************************************************************************
;****                                                                  ****
;****  (get-positive-number <prefix> <default> <postfix> )              ****
;****                                                                  ****
;****  <prefix>    ::= STRING      - 1. Teil der User-Anfrage          ****
;****  <default>  ::= REAL/STRING - positiver Vorgabe-Wert            ****
;****  <postfix>  ::= STRING      - Abschluss der User-Anfrage        ****
;****                                                                  ****
;****  Rückgabe: REAL - Abstand oder Länge                            ****
;****                                                                  ****
;****  Aufforderung zu Eingabe einer positiven Zahl, auch abgreifbar  ****
;****                                                                  ****
;***************************************************************************
;****                                                                  ****
;****  BEISPIEL:                                                      ****
;****                                                                  ****
;****  (:get-positve-number "\nGrabStein-Länge? <" 12.5 "> ")          ****
;****                                                                  ****
;****  Befehl:                                                        ****
;****  GrabStein-Länge? <12.5> <ENTER>                                ****
;****  -> 12.5                                                        ****
;****                                                                  ****
;****  Befehl:                                                        ****
;****  GrabStein-Länge? <12.5> 38.45678 <ENTER>                        ****
;****  -> 38.4568                                                      ****
;****                                                                  ****
;***************************************************************************
;
(defun get-positive-number (#msg-prefix #default-value #msg-postfix)
  ;** no : ZERO, NEGATIVE, 3D
  (initget (+ 2 4 64))
  (cond
  ((getdist
      ;** zusammen gesetzte Eingabe-Aufforderung
      (strcat
        #msg-prefix
        (str-or-empty #default-value)
        (str-or-empty #msg-postfix)
      )
    )
  ); end Alternative0: Es wurde eine Brauchbare Zahl eingegeben
  ;**** ansonsten wird der <#default-value> wieder zurück gegeben,    ****
  ;**** allerdings zuerst definitiv in eine REAL-Zahl gewandelt.      ****
  ((atof(str-or-empty #default-value)))
  )
)
;
;***************************************************************************
;****  (str-or-empty <Zahl> )                                          ****
;***************************************************************************
;****  - wandelt Zahl in STRING (m. fester Anz. Nachkommastellen) ODER  ****
;****  - gibt einen eigegebenen STRING unverändert zurück ODER          ****
;****  - erzeugt den Standard-Wert ""                                  ****
;***************************************************************************
;
(defun str-or-empty (#zahl / )
  (cond
    ((numberp #zahl)      (rtos #zahl 2 4))
    ((='STR (type #zahl)) #zahl)
    ('T "")
  )
); end DEFUN <str-or-empty>


Ich denke mal, damit kann eine ganz brauchbare Lösung gebaut werden.

Achim Dabrunz

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