From 9fee0e1eb47c94e019ec72e986aaddc1fd1cdb02 Mon Sep 17 00:00:00 2001 From: Michael Stangl Date: Thu, 7 May 2026 17:53:51 +0200 Subject: [PATCH] =?UTF-8?q?call=20von=20Test=20Funktionen=20dazu=20in=20di?= =?UTF-8?q?e=20Men=C3=BCs.=20Aufruf=20einer=20externen=20Python=20Funktion?= =?UTF-8?q?=20.=20R=C3=BCckgabe=20von=20Ergebnissen=20=C3=BCber=20eine=20D?= =?UTF-8?q?atei.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lisp/tests.lsp | 31 +++++++++++++++++++++++++++++++ bin/on_start.lsp | 8 ++++++++ bin/setenv.bat | 1 + menu/SSG_LIB.mnu | 3 +++ 4 files changed, 43 insertions(+) create mode 100644 Lisp/tests.lsp diff --git a/Lisp/tests.lsp b/Lisp/tests.lsp new file mode 100644 index 0000000..aa8612b --- /dev/null +++ b/Lisp/tests.lsp @@ -0,0 +1,31 @@ +;; ============================================================ +;; tests.lsp - Test- und Hilfsfunktionen +;; ============================================================ + +(defun c:CALLPYTHON ( / log-pfad py-skript return-datei cmd fh zeile) + (setq log-pfad (getenv "DXFM_LOG")) + (setq py-skript (strcat (getenv "DXFM_LIB") "\\testpycall.py")) + (setq return-datei (strcat log-pfad "\\testpycall_return.txt")) + (if (findfile py-skript) + (progn + (setq cmd (strcat "python \"" py-skript "\" \"" log-pfad "\"")) + (command "_.SHELL" cmd) + (if (findfile return-datei) + (progn + (setq fh (open return-datei "r")) + (setq zeile (read-line fh)) + (close fh) + (princ (strcat "\n[SSG_LIB] Python Rueckgabe: " zeile)) + ) + (princ "\n[SSG_LIB] WARNUNG: Keine Rueckgabe von Python erhalten.") + ) + ) + (princ (strcat "\n[SSG_LIB] FEHLER: " py-skript " nicht gefunden!")) + ) + (princ) +) + +(defun c:EXPORTCSV () + (princ "\n[SSG_LIB] EXPORTCSV: Noch nicht implementiert (Dummy).") + (princ) +) diff --git a/bin/on_start.lsp b/bin/on_start.lsp index fbaa732..f891df5 100644 --- a/bin/on_start.lsp +++ b/bin/on_start.lsp @@ -58,6 +58,14 @@ ) (princ "\n[SSG_LIB] WARNUNG: ILSModulInsert.lsp nicht gefunden!") ) + ;; Tests laden + (if (findfile (strcat lisp-pfad "/tests.lsp")) + (if (ssg-lib-safe-load (strcat lisp-pfad "/tests.lsp")) + (princ "\n[SSG_LIB] tests.lsp geladen.") + ) + (princ "\n[SSG_LIB] WARNUNG: tests.lsp nicht gefunden!") + ) + ;; OmnifloModulInsert laden (if (findfile (strcat lisp-pfad "/OmnifloModulInsert.lsp")) (if (ssg-lib-safe-load (strcat lisp-pfad "/OmnifloModulInsert.lsp")) diff --git a/bin/setenv.bat b/bin/setenv.bat index 9b62e8b..efde649 100644 --- a/bin/setenv.bat +++ b/bin/setenv.bat @@ -16,6 +16,7 @@ set "DXFM_BIN=%DXFMAKRO%\bin" set "DXFM_LIB=%DXFMAKRO%\lib" set "DXFM_DATA=%DXFMAKRO%\data" set "DXFM_CFG=%DXFMAKRO%\cfg" +set "DXFM_LOG=%DXFMAKRO%\log" set "DXFM_BLOCKS=%DXFMAKRO%\Blocks" set "DXFM_LISP=%DXFMAKRO%\Lisp" set "DXFM_RESULTS=%DXFMAKRO%\results" diff --git a/menu/SSG_LIB.mnu b/menu/SSG_LIB.mnu index cfb5607..42bcfb6 100644 --- a/menu/SSG_LIB.mnu +++ b/menu/SSG_LIB.mnu @@ -72,3 +72,6 @@ [Antriebst. rechts fuer TEF rechts]^C^COMNI_TEF_AntriebR [<-TEF Gerade]^C^COMNI_TEF_Gerade [<-KettenFoerderer]^C^COMNI_KettenFoerderer +[->External] +[Call Python]^C^CCALLPYTHON +[<-Export CSV]^C^CEXPORTCSV