Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Textzeilen löschen / hinzufügen

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
Autor Thema:   Textzeilen löschen / hinzufügen (685 mal gelesen)
Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 03. Mai. 2012 19:24    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,

ich habe z.B. den folgenden Text in einer Textdatei:
-------------------------------------
T   ;D   ;Speed ;Feed ;RL ;Bemerkung
1   ;1   ;40000 ;100  ;R  ;Stichel
1   ;1   ;40000 ;500  ;R  ;Fräser
2   ;4   ;3000  ;606  ;R  ;Fräser
3   ;6   ;2000  ;600  ;R  ;Fräser
5   ;10  ;1000  ;750  ;R  ;Fräser
7   ;4   ;3500  ;600  ;R  ;Radius-Fräser
8   ;4   ;10000 ;300  ;R  ;Bohrer
9   ;6   ;6000  ;300  ;R  ;Bohrer
#

---------------------------------------                    
Bei diesem Text sollen Textzeilen hinzugefügt oder glöscht werden.
Mit einem Editor ist das ganz einfach.
Die Änderung soll aber mit Lisp gemacht werden.
Die Reihenfolge:
- Der Text soll gelistet werden (Listbox).
- Löschen einer Zeile, durch anwählen der Zeile.
- Die Werte für eine neue Zeile, werden mit Edit-Boxen eingegeben.
- Zum Schluss werden die Werte - in Tabellenform nach den ersten beiden Spalten, sortiert - in die Texttdatei geschrieben.
Wurde in der Listbox eine Zeile angewählt, wird sie gelöscht.

Kennt jemand Code-Schnipsel für diese Aufgabe, damit ich nicht bei Null anfangen muss?

Gruß
Theodor Schönwald


[Diese Nachricht wurde von Theodor Schoenwald am 04. Mai. 2012 editiert.]

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9538
Registriert: 01.12.2003

AutoCAD 2.5 - 201x, Civil 3D, Win10

erstellt am: 03. Mai. 2012 20:34    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 Theodor Schoenwald 10 Unities + Antwort hilfreich

Das List-Box Example ließe sich wohl am ehesten als Editor ausbauen -  so auf den ersten Blick. http://www.lee-mac.com/listboxfunctions.html

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 04. Mai. 2012 01:06    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 Udo,

ein sehr gutes Beispiel zum anfangen und weiter bauen.

Vielen Dank.

Gruß
Theodor

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 05. Mai. 2012 12:12    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


Bild01.gif

 
Hallo Udo,

das Ergebis (siehe Bild) aus Deinem Einstiegsvorschlag.
;; ------------------------------------------------------
(cond
  ((<= (length TO_LST_1) 26) (setq LB_H (itoa (+ 6 (length TO_LST_1)))))
  ((> (length TO_LST_1) 26) (setq LB_H "32"))
)
(setq TO_FILE_1 (close TO_FILE_1))
(setq TMP_DCL (open (setq TMP (vl-filename-mktemp NIL NIL ".dcl")) "w"))
(foreach N0
          (list
           "TOOL_SET : dialog { label = \"Technologieangaben\"; initial_focus = \"T\";"
           ": column { : list_box { label = \"Vorhandene Werkzeuge:\";"
           "allow_accept = true; key = \"LBOX\"; width = 60;"
           (strcat "height = " LB_H ";")
           "fixed_width_font = true; allow_accept = true; }"
           ": text_part { label = \"Um ein Tool zu löschen, eine Zeile anwählen\";} spacer_1;"
           ": boxed_column { label = \"Werkzeug hinzufügen:\";"
           ": row { : boxed_column { : edit_box { label = \"Werkzeug-Nummer: T\"; key = \"T\"; edit_width = 6; edit_limit = 4; }"
           ": edit_box { label = \"Durchmesser:\"; key = \"TD\"; edit_width = 6; edit_limit = 6; } }"
           ": boxed_column { : edit_box { label = \"Drehfrequenz S\"; key = \"S\"; edit_width = 6; edit_limit = 6; }"
           ": edit_box { label = \"Vorschub: F\"; key = \"F\"; edit_width = 6; edit_limit = 6; } } }"
           ": edit_box { label = \"Bemerkung:\"; key = \"BEM\"; } }"
           ": boxed_column { : toggle { label = \"Weitere Werkzeuge\"; key = \"JN\"; } } }"
           ": row { : spacer { width = 5; } : button { label = \"Weiter\"; key = \"accept\"; is_default = true; }"
           ": spacer { width = 5; } } spacer_1; }"
           "LBOX : dialog { key = \"DATN\"; : list_box { label = \"Vorhandene Werkzeuge:\"; allow_accept = true;"
           "key = \"LBOX\"; width = 60;"
           (strcat "height = " LB_H " ;")
           "fixed_width_font = true; } spacer_1; ok_only; }"
          )
  (write-line N0 TMP_DCL)
)
(setq TMP_DCL (close TMP_DCL))
;; -------------------------------------------------------

Mit der temporären DCL, habe ich die Möglichkeit die Höhe der List-Box einzustellen.
Sind wenige Zeilen (Werkzeuge) in der Tool-Datei, ist die List-Box nur so noch, wie die Anzahl der Zeilen.
Ist die Anzahl sehr hoch, wird die List-Box mit 32 Zeilen begrenzt.

Das Tool funktioniert einwandfrei, die Werkzeuge werden nach Werkzeugnummern und Werkzeugdurchmesser sortiert.

Nochmals Danke
Theodor

[Diese Nachricht wurde von Theodor Schoenwald am 06. Mai. 2012 editiert.]

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)2018 CAD.de | Impressum | Datenschutz