Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  DCL Button - Label

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 Autodesk Produkte
Autor Thema:  DCL Button - Label (1246 mal gelesen)
gerhard123
Mitglied
techn.Angestellter


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

Beiträge: 151
Registriert: 29.11.2007

erstellt am: 04. Sep. 2013 13:10    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 zusammen,

ich muss einige LISP/DCL-Programme mehrsprachig umsetzten.
Nun habe ich aber das Problem, dass ich bei den DCL-Boxen den Label eines Buttons nicht von der deutschen Beschreibung ins englische oder italienische übersetzen kann.
Hab auch im Internet gesucht, aber nicht wirklich was gefunden.

Gibt es da ein Lösung??

Vorab schon mal Danke für eure Hilfe

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

heidi
Mitglied
CAD-Dienstleister


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

Beiträge: 1130
Registriert: 01.11.2001

Dell Precicion M6700
Nvidia Quadro K3000M
AutoCAD 2012 Sp2
nXtRender
Tetra4D
eigene Tools
Adobe CreativeSuite 6
———————————
MacBook Pro i9 2,3/16/5
Big Sur 11.5.1
BricsCAD V21 Pro

erstellt am: 04. Sep. 2013 13:27    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 gerhard123 10 Unities + Antwort hilfreich

Hallo gerhard123,

in den DCL's sind doch die Label einfach mit einem "Text" beschriftet:
}
        :radio_button {
  label = "Linie wählen";  --> in z.B. label = "pick line";
          key  = "but_5";
        }

Der sollte sich problemlos in eine andere Sprache ändern lassen. Die Übersetzung bleibt dann natürlich dir überlassen 

------------------
Gruß Heidi
http://www.cad-point.de

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 04. Sep. 2013 13:28    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 gerhard123 10 Unities + Antwort hilfreich

mach doch in der DCL 2 Dialoge / einen Deutsch / einen Englisch  die sich nur in den "Labels" unterscheiden  und lad in deiner Lisp ( in Abhängigkeit von der eingestellten Sprache )den entsprechenden ....

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

gerhard123
Mitglied
techn.Angestellter


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

Beiträge: 151
Registriert: 29.11.2007

erstellt am: 04. Sep. 2013 13:36    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 Thomas,

hab gerade auch im Internet so ein Beispiel gefunden und wollte gerade damit anfangen meine DCL-Datei entsprechent umzubauen.
Dennoch Danke für den raschen Tip

Lg.
Gerhard

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 04. Sep. 2013 15:08    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 gerhard123 10 Unities + Antwort hilfreich

Du kannst aber auch deine DCL Boxen 'on the fly' erstellen lassen, also direkt aus deinem Lisp programm heraus, das hat dann den Vorteil, das du den Key mit einer Variablen versiehst, die eben je nach Sprache dann belegt wird.
Das ist auf alle Fälle ein grundsätzlich einfacheres Vorgehen, vor allem, wenn noch weitere Sprachen hinzukommen.

Wenn du Beispiele für so ein Vorgehen brauchst, sag Bescheid.

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

gerhard123
Mitglied
techn.Angestellter


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

Beiträge: 151
Registriert: 29.11.2007

erstellt am: 05. Sep. 2013 07:29    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 CADwiesel,

vorab danke für den Tip, wäre nett wenn du mir ein Beispiel zulassen könntest.

Lg.
Gerhard

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 05. Sep. 2013 07:50    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 gerhard123 10 Unities + Antwort hilfreich


DCL_2_LSP.zip

 
In Hinblick auf zur Laufzeit zu erzeugenden DCL-Dateien hilft vielleicht folgendes Tool weiter....Im Vorfeld wird dann die DCL-Datei dabei ganz normal mit dem VLisp-Editor erstellt und, nachdem Design und Funktion erfolgreich getestet worden sind, auch als DCL abgespeichert.

Anschließend wird das Tool DCL2LSP geladen und mit dem in dem Falle gleichlautenden Befehlsaufruf DCL2LSP gestartet. Im Programm wird dann der Anwender aufgefordert die DCL-Datei zu wählen. Die Zeilen der DCL-Datei werden nun als Textliste eingelesen  und zu einem Lispfunktionstext (defun WRITE-DCL….) erweitert, der später dann die DCL-Datei zur Laufzeit erzeugt und deren mittels vl-filename-mktemp erzeugten Dateinamen zurückliefert, damit die später den Dialog aufrufende Funktion darauf zurückgreifen kann. Weiterhin schreibt das Tool einen rudimentären Programmrumpf um das Handling der dynamischen DCL-Erzeugung zu dokumentieren.... Viel Spaß beim Testen 

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 05. Sep. 2013 08:22    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 gerhard123 10 Unities + Antwort hilfreich

das Tool von CADmium ist erstmal ziemlich Hilfreich, um schon bestehende Dialogboxen in ein Lisp Format zu bringen.
An den Stellen wo der Label sitzen soll, muss dann nur noch manuell editiert werden und eine Variable eingesetzt werden, die dann zur Laufzeit mit einem Wert befüllt wird. Siehe dazu mein Beispiel mit der wortliste.
Hier mal ein Beispiel
Code:
(defun c:test (/ strDCLFile wortliste dcl_id country list_box1)

  (defun MakeDcl:setup (strFile wortliste / f)
    (setq f (open strFile "w"))
    (write-line
      (strcat
        "e_setup : dialog {label="
        (nth 0 wortliste)
        "; key = \"e_setup\";"
        ) ;_ end of strcat
      f
      ) ;_ end of write-line
    (write-line
      (strcat
        ":column {: popup_list { key        = \"list_box1\" ; label      = "
        (nth 1 wortliste)
        ";height = 2; width = 15; }"
        ) ;_ end of strcat
      f
      ) ;_ end of write-line
    (write-line
      (strcat
        ": popup_list { key        = \"list_box2\" ; label      = "
        (nth 2 wortliste)
        "; height = 2; width = 15; } } ok_cancel;}"
        ) ;_ end of strcat
      f
      ) ;_ end of write-line
    (close f)
    ) ;_ end of defun

  (setq strDCLFile
        (strcat
          (getvar "TEMPPREFIX")
          "testus.dcl"
          ) ;_ end of strcat
        ) ;_ end of setq
  (setq wortliste '("Label1Text" "Labeltext2" "Labeltext3"))

  (MakeDcl:setup strDCLFile wortliste)

  (setq dcl_id (load_dialog strDCLFile))
  (if (not (new_dialog "e_setup" dcl_id))
    (exit)
    ) ;_ end of if
  (setq country  (list "Europe" "USA")
        list_box1 (nth 0 country)
        ) ;_ end of setq
  (start_list "list_box1" 3)
  (mapcar 'add_list Country)
  (end_list)
  (action_tile
    "list_box1"
    "(setq list_box2(atoi $value))"
    ) ;_ end of action_tile
  (action_tile
    "list_box2"
    "(setq list_box2_erg (atoi $value))"
    ) ;_ end of action_tile
  (action_tile "cancel" "(done_dialog)")
  (action_tile
    "ok"
    "(auswert list_box1 list_box2)(done_dialog)"
    ) ;_ end of action_tile
  (start_dialog)
  (unload_dialog dcl_id)
  (vl-file-delete strDCLFile)
  ) ;_ end of defun


------------------
Gruß
CADwiesel
Besucht uns im CHAT

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