Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  directory sortieren

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 PTC CREO
Autor Thema:  directory sortieren (751 mal gelesen)
Martin.M
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 352
Registriert: 05.10.2002

erstellt am: 11. Dez. 2006 16:31    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,

ich möchte eine directory Liste sortieren. Wie stelle ich das am einfachsten an ?

Für die Funktion directory habe ich keine Option gefunden damit es die Liste sortiert liefert.

Und mit sort hatte ich auch keinen Erfolg.

Ich hatte mir das so ähnlich vorgestellt:

(setf idx-Datei-lst (sort (directory (format NIL "~A/*.htm" Idx-Ordner)) #'string< ))

oder so

(setf idx-Datei-lst (sort (namestring (directory (format NIL "~A/*.htm" Idx-Ordner))) #'string< ))


Wie würdet Ihr die Liste sortieren ?


Tschuess
Martin

------------------
OSDM - Die freie Wissensdatenbank
WorkManager Forum

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 11. Dez. 2006 17:17    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 Martin.M 10 Unities + Antwort hilfreich

Das Problem ist wohl, dass die Elemente der von directory zurückgegebenen Liste vom Typ PATHNAME sind und nicht STRING, damit geht  string< natürlich in die Hose und man muss sich eine eigene Sortierbedingung basteln. Wie immer schnell und ungetestet:
Code:

  (setf sortiert
  (sort unsortiert
    #'(lambda (vor nach)
      (let ()
        (if (string< (format NIL "~a" vor) (format NIL "~a" nach)) t nil)
      );;let
      );;lambda
  );;sort
  );;setf

------------------
meine LISP-Makros sind auf osd.cad.de
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

clausb
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2914
Registriert: 20.12.2000

Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.

erstellt am: 11. Dez. 2006 17:33    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 Martin.M 10 Unities + Antwort hilfreich

Vollstaendigere und leicht verbesserte Version:

Code:

(defun sort-directory(path)
  (sort (directory path)
    #'(lambda (f1 f2)
        (string< (file-namestring f1) (file-namestring f2)))))

(sort-directory "c:/temp/*.htm")



------------------
OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 11. Dez. 2006 18:59    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 Martin.M 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von clausb:
Vollstaendigere und leicht verbesserte Version:


Autsch! Vielleich sollte ich doch mal einen richtigen Kurs besuchen 

------------------
meine LISP-Makros sind auf osd.cad.de
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

clausb
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2914
Registriert: 20.12.2000

Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.

erstellt am: 11. Dez. 2006 19: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 Martin.M 10 Unities + Antwort hilfreich

Wer lambda im Code verwendet, kann auch selbst Kurse geben 8-)

Claus


------------------
OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 11. Dez. 2006 19:41    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 Martin.M 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von clausb:
Wer lambda im Code verwendet, kann auch selbst Kurse geben

Aber in meinem Fall nur für "Wie probier ich so lange rum, bis das Richtige rauskommt" 

------------------
meine LISP-Makros sind auf osd.cad.de
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

Martin.M
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 352
Registriert: 05.10.2002

erstellt am: 14. Dez. 2006 20:26    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 Claus,

vielen Dank für die Hilfe, funktioniert gut. In die Lamda-Spezialitäten bin ich noch nicht eingestiegen. Wann hast Du denn Zeit für den LISP-Kurs ?


hallo Walter,

sollen wir das Angebot von Claus annehmen und uns bei ihm zum LISP-Kurs anmelden ?


Tschuess
Martin

------------------
OSDM - Die freie Wissensdatenbank
WorkManager Forum

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