Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  DCL Ansteuerung

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 Ansteuerung (905 mal gelesen)
fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 28. Mai. 2004 12:20    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

nach langer Zeit muss ich mich wiedermal mit DCL beschäftigen (oh Graus)

ich hab jetzt das Problem mit einem Slider. muss man da wirklich die MIN, MAX und INCREMENT fix in der DCL verdrahten. Ich brächte das so, dass ich es zur Programmlaufzeit ändern kann.

Ich hab schon in der Hilfe gewühlt wie ein Berserker, hab aber noch nichts gefunden. die einzigen Befehle um Tiles zu ändern ist doch Set_tile und mode_tile, aber wie ändere ich Attribute ?

    : slider {
      key = "4-SLIDER";
      action = "(AHC_BNASK-S 4 $value)";
      width = 16;
      min_value = 10;
      max_value = 100;
      small_increment = 1;
      value = "50";
      is_tab_stop = false;
    }

------------------

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

valerich
Mitglied
Programmierer


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

Beiträge: 12
Registriert: 22.09.2003

erstellt am: 28. Mai. 2004 12:55    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 fuchsi 10 Unities + Antwort hilfreich

Hallo fuchsi,

hier ist ein Ausschnitt aus Help:

When you handle actions and callbacks from sliders, your application should check the reason code that it receives along with the callback. This is not required, but it is a good idea because it can reduce processing.

A callback occurs when an increment boundary on a slider is crossed. For example, if the slider is defined with a minimum value of 0, a maximum value of 10, and both small and big increments of 1, a callback is issued 10 times as the user traverses from one end of the slider to the other.

The following function shows the basic scheme of a function to handle a slider. It is called from an action expression associated with the slider tile. The slider_info tile used by the function displays the slider's current value in decimal form. Often such a tile is an edit box as well, which gives users the choice of either manipulating the slider or entering its value directly. If a user enters a value in slider_info, your edit box callback should update the value of the slider as follows:

(action_tile
  "myslider"
  "(slider_action $value $reason)"
)
(action_tile
  "slider_info"
  "(ebox_action $value $reason)"
)
  .
  .
  .
(defun slider_action(val why)
  (if (or (= why 2) (= why 1))    ; Check reason code.
  (set_tile "slider_info" val)    ; Show interim result.
  )
)

(defun ebox_action(val why)
  (if (or (= why 2) (= why 1))    ; Check reason code.
  ( set_tile "myslider" val)      ; Show interim result.
  )
)


Gruß Serghei

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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 29. Mai. 2004 13:00    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

ja das weiss ich, ich hab aber nach was anderem gefragt.

ich möchte aufgrund eines ereignisses ZUR LAUFZEIT den min und max wert verändern können.

z.B.: min = 0 : max = 100, aktiviert jetzt der benutzer ein kontrollkästchen , soll sich der max-wert auf 150 ändern !

------------------

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


Ex-Mitglied

erstellt am: 29. Mai. 2004 14:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von fuchsi:

z.B.: min = 0 : max = 100, aktiviert jetzt der benutzer ein kontrollkästchen , soll sich der max-wert auf 150 ändern !

Wo ist das Probem? Wenn Du im DCL-Feld die Min/Max Werte angezeigt haben willst, dann mach' das am besten in einem Textfeld. Die DCL-Werte für Min/Max lässt Du völlig unabhängig immer auf 0 und 100, und rechnest diese erst durch Deine Applikation auf die benötigten Werte um. Nach Betätigen des Häkchens durch den Anwender wird also lediglich dieser Umrechungsfaktor geändert.

Gruß
Tom Berger

------------------
Architekturwerkzeuge für AutoCAD: http://www.archtools.de

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 01. Jun. 2004 11: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

@tom.berger

ja das wär eine Möglichkeit, das Problem ist dann "nur" das increment, ein click auf den pfeil rechts wäre eine erhähung um 1, würd ich das mit nem umrechnungsfaktor machen, wärs dann z.B.: 1.5

wenn uich vno 0 bis 100 ausgehe, und dann per faktor bis 150 "anzeige" , frage ich mich wie man da dann genau 101 einstellt ??

------------------

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


Ex-Mitglied

erstellt am: 01. Jun. 2004 11:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von fuchsi:
wenn uich vno 0 bis 100 ausgehe, und dann per faktor bis 150 "anzeige" , frage ich mich wie man da dann genau 101 einstellt ??

Du hast es doch noch nicht verstanden: der Regler geht immer nur von 0 bis 100, oder von mir aus auch von 0 bis 1. Umgestellt wird nur der Faktor, um daraus den wirklichen Wert zu erhalten, bzw um aus dem wirklichen Wert den Anzeigewert des Reglers zu erhalten.

Soll also der Regler nun die wirklichen Werte (WW) von 0 bis 150 anzeigen, so entspricht der Vollausschlag von 100 Anzeigewerten (AW) 150. Allgemein:

AW/WW=100/150

Daraus kannst Du Dir immer den wirklichen Wert aus dem Anzeigewert errechnen oder den Anzeigewert für einen WW. Den AW für WW=101 ermittelst Du einfach so:

x=100*101/150

Tom Berger

------------------
Architekturwerkzeuge für AutoCAD: http://www.archtools.de

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