erzet49 Geschrieben 23. Januar 2010 Teilen Geschrieben 23. Januar 2010 Hallo Forum, ... äh ... Hallo Kim ... Bei meinem 1,5ten Versuch mit VectorScript etwas eigenes hinzubekommen, bin ich sogleich steckengeblieben: Ich würde gerne mit Scripthilfe ein Tastenkürzel hinbekommen um folgenden Wert zu steuern: Programmeinstellungen -> Bearbeiten -> Objekte um Raster verschieben -> Eigener Wert Hier erstmal die Kernproblem-Fehlermeldung dabei: Line #3: SetPref(89,1.0) ; | { Error: Expected a Boolean. } Nun der Reihe nach: Im VectorScript Language Guide fand ich diese Liste: Appendix F - Preference Selectors - dort finde ich: Show Other Objects While In Group --- 14 --- TRUE or FALSE Zoom Line Thickness --- 9 --- TRUE or FALSE Custom Move Distance --- 89 --- REAL Die ersten beiden konnte ich (geholfenerweise) in einem sehr einfachen Script (bin weitgehend ahnungslos diesbzgl.) erfolgreich verwenden. Nun wollte ich das abwandeln und eben den 89-Wert per Script manipulieren - das mündet in der oben genannten Fehlermeldung und ich denke: Hä?! - wieso will der einen Boolean, 89 steht doch für einen Real? Genau die genannte Fehlermeldung kriege ich so (beim Kompilieren): PROCEDURE Verschiebung1m10m; BEGIN SetPref(89,10.0); END; RUN(Verschiebung1m10m); Eigentlich will ich so was: PROCEDURE Verschiebung1m10m; {Toggelt eine Programmeinstellung zwischen 1 und 10, und zwar den Verschiebewert, den man dann mit den Pfeiltasten bewirken kann.} BEGIN if getpref(89)=1.0 then SetPref(89,10.0); Else SetPref(89,1.0); END; RUN(Verschiebung1m10m); Nun noch kurz, warum ich das will: Die Verschiebemöglichkeiten Strg+M, Infopalette, oder Werzeug Verschieben find ich alle recht zäh und oft benutze ich die 1m-Verschiebung mit Strg+Shift+Pfeil; nun würde ich da den Wert gerne schnell auf 10m umschalten können. Oft nutze ich das Tastenkürzel zur Steuerung der außerhalb-Gruppe-Objekte-Sichtbarkeit, möglich durch Tastenkürzel für Programmeinstellungen; entsprechend habe ich auch ein Tastenkürzel einrichten können, um die Liniendicken-Sichtbarkeit schnell zu steuern (mein 0,5ter Versuch mit VectorScript etwas eigenes hinzubekommen). Gruß, rz. VW 2014 Arch Win XP Link zu diesem Kommentar
klr-landarch Geschrieben 23. Januar 2010 Teilen Geschrieben 23. Januar 2010 hallo rz, da du mich ja quasi direkt fragst möchte ich dir auch keine antwort schuldig bleiben ... Hier erstmal die Kernproblem-Fehlermeldung dabei: Line #3: SetPref(89,1.0) ; | { Error: Expected a Boolean. } die function "Pref" ist eine boolsche funktion deshalb beschwert sich vectorscript natürlich! der index "89 - custom move distance" ist aber eine "PrefReal" function! erkennbar im appendix f in der vierten spalte. folglich musst du die prozeduren "GetPrefReal" und "SetPrefReal" verwenden! dein script müsste also wie folgt aussehen: PROCEDURE Verschiebung1m10m; BEGIN IF GetPref(136)=TRUE then {als abfrage, ob die option auch aktiv ist} IF GetPrefReal(89)=1000 then {der wert wird in millimeter angegeben} SetPrefReal(89,10000) Else SetPrefReal(89,1000); END; RUN(Verschiebung1m10m); gruß kim p.s.: schau dir das nächste mal den appendix f etwas genauer an ... viel erfolg! Windows 7/10 Prof. (x64), VW 2016/2017 Landschaft Link zu diesem Kommentar
erzet49 Geschrieben 29. Januar 2010 Autor Teilen Geschrieben 29. Januar 2010 Hallo Kim, Danke! Hat auf Anhieb geklappt! da du mich ja quasi direkt fragst möchte ich dir auch keine antwort schuldig bleiben Nun, das war etwas frech, aber andererseits dachte ich, es wäre heuchlerisch zu verschweigen mit wessen Antwort ich da gerechnet hatte. p.s.: schau dir das nächste mal den appendix f etwas genauer an ... Hm, tja, ich befürchte das Problem ist grundsätzlicherer Natur - ich habe zu wenig Ahnung davon. Ich hab' zwar mal etwas Pascal gelernt, ist aber zu blass, um noch genug von Funktionen und Parametern zu wissen. Ich dachte halt: so eine kleine copy&paste-Abwandlung, das ist doch bestimmt kein Problem... Immerhin hast Du mich ja in Kontakt mit VektorScript gebracht... Gruß, rz. VW 2014 Arch Win XP Link zu diesem Kommentar
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden