Forum:Lisp
Thema:Edit_Box Eintrag in .txt speichern
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
Der-T

Beiträge: 7 / 0

Win 10 64bit
ACAD 2016 Mechanical

Hallo und guten Tag,

ich als absoluter Beginner brauche mal die Hilfe von Profis.
Leider habe ich nicht viel Erfahrung im programmieren,
also habt bitte Nachsicht.

Folgendes Problem,jedenfalls für mich  :

Ich möchte eine .txt Datei erstellen mit Einträgen aus Edit_Boxen.(siehe DCL.png)
Ist das überhaupt so umsetzbar ? Und wo kommt der Code in die Lisp ? Oder muss das eine extra Datei sein ,wo ich die Daten abrufe und speicher ?

Ich habe schon mit (write-line) experementiert,
aber kläglich gescheitert!

Als Basis : http://ww3.cad.de/foren/ubb/Forum145/HTML/000316.shtml#000001

Die K1 Lisp hab ich mir hier aus dem Forum kopiert
und für meine Zwecke umgeschrieben.
Ist vielleicht nicht ganz "sauber",aber funzt und passt.

Also wenn grade jemand Lust und Zeit hat, mir zu helfen, bedanke ich mich im vorraus

Mfg Der-T

Andreas Kraus

Beiträge: 1193 / 1

WIN 10
ACAD 2017

Hallo und willkommen Der-T,
Du brauchst im Code noch:
(action_tile "accept" "(Funktion die die Textdatei macht)(done_dialog)")

In der Funktion die die Textdatei macht sammelst du mit get_tile die Textinhalte der Felder ein und schreibst die in die Datei.

Wenn du mit dieser kurzen Antwort noch nicht weiterkommst machen wir morgen weiter, ich hab nämlich gleich Feierabend 
Tut mir leid aber ich hab eben erst Zeit gehabt hier mal reinzuschauen 
Also bis morgen 

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

Der-T

Beiträge: 7 / 0

Win 10 64bit
ACAD 2016 Mechanical

Zitat:

(action_tile "accept" "(Funktion die die Textdatei macht)(done_dialog)")

In der Funktion die die Textdatei macht sammelst du mit get_tile die Textinhalte der Felder ein und schreibst die in die Datei.

Wenn du mit dieser kurzen Antwort noch nicht weiterkommst machen wir morgen weiter, ich hab nämlich gleich Feierabend 



Ganz ehrlich...kapier ich nicht

(action_tile "accept" (setq file "c:\Cone.txt")(done_dialog))  

joern bosse

Beiträge: 1679 / 6

Window 8.1
ACAD 2012-2020
CIVIL 2012 - 2020
BricsCAD V14-V20
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050

Hallo Der-T,
auch ich bin schon fast im WE, vielleicht hilft Dir ein ganz alter Beitrag von mir:
https://bosse-engineering.com/blog/index.php?listen-speichern-und-loaden

Dort geht es um eine Möglichkeit, wie man benutzerzpezifische Werte in einer LISP-Liste speichern und auch wieder laden kann.

viele Grüße
Jörn

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Multifilter Youtube

Der-T

Beiträge: 7 / 0

Win 10 64bit
ACAD 2016 Mechanical

Hallo Andi ,Jörn @All
erstmal danke für eure Hilfe.

Ich brech das jetzt hier erstmal ab, weil mir einfach das Basiswissen
fehlt um das alles zu kapieren !
Ich muss mich erstmal durch einige Websites lesen, gibt ja genug...

Ich wünsche euch ein schönes We
Ich melde mich , wenn ich soweit bin  

Gruß Thilo

[Diese Nachricht wurde von Der-T am 25. Jan. 2020 editiert.]

Der-T

Beiträge: 7 / 0

Win 10 64bit
ACAD 2016 Mechanical

Hallo ,

hab mal ein bischen was probiert...


(action_tile "cancel" "(done_dialog)(exit)")
(action_tile "accept" "(setq file C:\Konus.txt)(done_dialog)")


(setq file (open "C:\Konus.txt" "w"))
(setq D1 (atof (get_tile "D1")))
(setq D2 (atof (get_tile "D2")))
(princ (list D1 D2 "Test") file)
(close file)

Die Datei Konus.txt wird erstellt, der Inhalt ist (0.0 0.0 Test)  

Kann mir jemand mal bitte die Fehler aufzeigen ? Danke im vorraus

Mfg Thilo

Andreas Kraus

Beiträge: 1193 / 1

WIN 10
ACAD 2017

Hallo Der-T,
ich hab zwar nur einen Programmschnipsel hier aber ich denke du versuchst Werte aus dem Dialogfeld zu lesen nachdem der Dialog schon geschlossen ist.
DAS GEHT NICHT  

Mach das mal so:

Code:
(defun end_dialog (wert)
  (setq D1 (atof (get_tile "D1")))
  (setq D2 (atof (get_tile "D2")))
  (done_dialog wert)
)

(if (< (setq dcl_id (load_dialog "K1")) 0)
  (progn
    (alert "DCL - Datei nicht gefunden")
    (exit)
  )
)
(if (not (new_dialog "K1" dcl_id))
  (exit)
)
(setq breite (dimx_tile "bild")
      hoehe  (dimy_tile "bild")
)
(action_tile "accept" "(end_dialog '1)")
(action_tile "cancel" "(end_dialog '0)")

(action_tile "Bt" "(setq Bt (atof $Value))")

(action_tile "D1" "(setq D1 (atof $Value))")
(action_tile "D2" "(setq D2 (atof $Value))")
(action_tile "H" "(setq H (atof $Value))")
(action_tile "S" "(setq S (atof $Value))")
(action_tile "Z" "(setq Z (atof $Value))")

(mode_tile "Bt" 2)
(set_tile "D1" "")
(set_tile "D2" "")
(set_tile "H" "")
(set_tile "S" "")
(set_tile "Z" "")

(start_image "bild")
(slide_image -135 10 675 235 "K1")
(end_image)
(setq aktion (start_dialog))
(unload_dialog dcl_id)

(if (= aktion 1)
  (progn
    (setq file (open "C:\\Konus.txt" "w"))
    (princ (list D1 D2 "Test") file)
    (close file)
  )
  (exit)
)


Jetzt verstehst du vielleicht auch warum ich geschrieben habe

Zitat:
Du brauchst im Code noch:
(action_tile "accept" "(Funktion die die Textdatei macht)(done_dialog)")

Das ist im Prinzip das.
Also wenn du auf OK drückst muss erst mal alles was du brauchst aus dem Dialogfeld gelesen werden und erst dann kannst du das Ding schließen.

EDIT: noch einen Backslash bei (setq file (open "C:\\Konus.txt" "w")) ergänzt

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

[Diese Nachricht wurde von Andreas Kraus am 30. Jan. 2020 editiert.]

Der-T

Beiträge: 7 / 0

Win 10 64bit
ACAD 2016 Mechanical

Moin,

Dank Andi's Hilfe hab ich es geschafft !
Besten Dank...

Funktioniert so wie ich es wollte.

Allerdings hab ich noch ein kleines Problem,
wie bekomme ich die Datei mit dem Wert aus "Bt" (Bauteil) umbenannt ?

Ist -> (setq file (open "C:\\Konus.txt" "w"))
Soll -> (setq file (open "C:\\[Wert aus "Bt"].txt" "w"))

Wünsche allen ein schönes WE

Mfg


joern bosse

Beiträge: 1679 / 6

Window 8.1
ACAD 2012-2020
CIVIL 2012 - 2020
BricsCAD V14-V20
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050

Hallo Der-T,
mit der Funktion vl-file-rename können Dateien umbenannt werden:

http://help.autodesk.com/view/ACD/2016/ENU/?guid=GUID-188B957C-4CDF-41C7-99BE-8080FA587F74

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Multifilter Youtube

Der-T

Beiträge: 7 / 0

Win 10 64bit
ACAD 2016 Mechanical

Ja,

vl-file-rename hab ich eben auch gefunden.
Aber heute nicht mehr, hab jetzt WE.

Dein LINK hatte ich mir die Tage mal angeschaut, aber das war für mich ne Nummer zu hoch. Soweit bin ich noch nicht.

Schönes WE

Mfg Thilo

Der-T

Beiträge: 7 / 0

Win 10 64bit
ACAD 2016 Mechanical

Hallo ,
Programm läuft 

(setq file (open "C:\\Abwicklungen/Konus.txt" "a" ))
(princ (list Bt ",ØD1 ="D1 ",ØD2 ="D2 ",Höhe ="H ",Wandstärke ="S ",Reib.Zug. ="Z ) file)
(princ "\n"  file)
(setq file (close file))

So sieht die Konus.txt  aus:
(F00123 ,ØD1 = 1164.0 ,ØD2 = 466.0 ,Höhe = 765.0 ,Wandstärke = -30.0 ,Reib.Zug. = 30.0)

Alles Top, Danke an die Helfer ...

Mfg Thilo