|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | 
|  |  | 
|  | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung 
 | 
| Autor | Thema:  Teilstring ausfiltern (3003 mal gelesen) | 
 | Theodor Schoenwald Ehrenmitglied
 
 
      
 
      Beiträge: 1672Registriert: 16.04.2002
 |    erstellt am: 08. Nov. 2003 21:25  <-- editieren / zitieren -->    Unities abgeben:            
  Hallo, wenn ich mit dem Lisp-Befehl "GETFILED" die unten stehende Zeile erhalte, wie kann ich daraus den Dateivornamen "TEST" herausfiltern? D:\user\dwg_s\TEST.TXT Die Darstellung ist nur als Beispiel gedacht, der Ordername und der Dateiname könnten auch anders sein. GrußTheodor Schönwald
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 09. Nov. 2003 00:29  <-- editieren / zitieren -->    Unities abgeben:           Nur für Theodor Schoenwald   
  Hallo Theodor, so bekommst du den Pfad:
 Code:
 (defun getpath (file /)
 (apply 'strcat(reverse (cdr(member "\\"(reverse (f:str-in-list file))))))
 )
 (defun f:str-in-list (sil_str / sil_i sil_strli)
 (setq sil_i 0)
 (if (= 'STR (type sil_str))
 (reverse
 (while (< sil_i (strlen sil_str))
 (setq sil_i (1+ sil_i)
 sil_strli (cons (substr sil_str sil_i 1) sil_strli)
 )
 )
 )
 )
 )
 
 
 Und die Datei dann mit : Code:
 (setq pfad(getpath(setq gewdat(getfiled "Datei aus Verzeichnis wählen" "" "dxf" 16)))
 pdats (substr gewdat (+ 2 (strlen pfad)))
 )
 
 Da brauchst du nur noch die Dateierweiterung weg machen, aber das ist für dich sicher kein Problem. Bei Fragen ... Grüße Holger ------------------Holger Brischke
 (defun - Lisp over night!
 AutoLISP-Programmierung für AutoCAD
 NEU: AutoLISP- Projektschulung
 NEU: Praxisorientierte Schulungen und Workshops durch die bekannten CAD.de Moderatoren
 AutoCAD, AutoCAD LT, AutoCAD Mechanical, Mechanical Desktop, Architectural Desktop
 
   Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Theodor Schoenwald Ehrenmitglied
 
 
      
 
      Beiträge: 1672Registriert: 16.04.2002
 |    erstellt am: 09. Nov. 2003 02:23  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | Helmut F Mitglied
 Dipl.-Ing
 
  
 
      Beiträge: 38Registriert: 09.05.2003
 |    erstellt am: 10. Nov. 2003 07:59  <-- editieren / zitieren -->    Unities abgeben:           Nur für Theodor Schoenwald   | 
                        | fuchsi Mitglied
 Programmierer c#.net Datawarehouse
 
     
 
      Beiträge: 1201Registriert: 14.10.2003
 AutoCad Version 2012 deu/enu<P>Windows 7 64bit
 |    erstellt am: 10. Nov. 2003 08:26  <-- editieren / zitieren -->    Unities abgeben:           Nur für Theodor Schoenwald   
  muss helmut recht geben (print (vl-filename-base "D:\\user\\dwg_s\\TEST.TXT"))   ; ergibt TEST(print (vl-filename-directory "D:\\user\\dwg_s\\TEST.TXT"))  ; ergibt D:\\user\\dwg_s
 (print (vl-filename-extension "D:\\user\\dwg_s\\TEST.TXT"))  ; ergibt .EXE
 ------------------***********************************************
 AutoCad 2000i, 2002, 2004 deutsch und englisch
 Windows 2000, NT, XP
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 10. Nov. 2003 09:47  <-- editieren / zitieren -->    Unities abgeben:           Nur für Theodor Schoenwald   
  Hallo, auch wenn vieles mit den VisualLISP-Befehlen einfacher ist, versuche ich weitesgehend ohne diese auszukommen, da viele der Tool's eben auch auf LT+Extender zum Einsatz kommen. Dann sitzt man früher oder später doch da und bastelt sich eigene Funktionen. Kann man das ausschließen, dann ist die (vl-irgendwas ..)-Variante sicher auch eine elegante Möglichkeit. Bei Fragen ... Grüße Holger ------------------Holger Brischke
 (defun - Lisp over night!
 AutoLISP-Programmierung für AutoCAD
 NEU: AutoLISP- Projektschulung
 NEU: Praxisorientierte Schulungen und Workshops durch die bekannten CAD.de Moderatoren
 AutoCAD, AutoCAD LT, AutoCAD Mechanical, Mechanical Desktop, Architectural Desktop
 
   Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                       
 | Theodor Schoenwald Ehrenmitglied
 
 
      
 
      Beiträge: 1672Registriert: 16.04.2002
 |    erstellt am: 10. Nov. 2003 20:56  <-- editieren / zitieren -->    Unities abgeben:            
  Hallo, an an Alle die Vorschläge gemacht haben.Alle Vorschläge sind sehr gut.
 Die VL-Varianten sind wirklich elegant.
 Da mein Lisp-Programm manchmal auch bei LT, mit dem Extender von Torsten Moses, eingesetzt wird, muss ich bei der Variante von Holger bleiben.
 Übrigens, im Forum "Industrie24 - ACAD Programmierung" wurde ein Weg gesucht, den Pfad auszulesen, ich habe auf diesen Beitrag verwiesen.
 Vielen Dank! GrußTheodor Schönwald
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |