Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Verfasser Nachricht
erzet49
Beitrag: #1
Betreff des Beitrags: Einfachstes Vectorscript - Variablentyp-Problem

Offline

**
Mitglied
Registriert seit: 01.11.2008
Beiträge: 35
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
23.01.2010 01:01
Alle Beiträge dieses Benutzers finden |  | Diese Nachricht in einer Antwort zitieren
klr-landarch
Beitrag: #2
Betreff des Beitrags: Re: Einfachstes Vectorscript - Variablentyp-Problem

Offline

******
Vectorworks-Guru
Registriert seit: 07.05.2008
Beiträge: 1.065
hallo rz,

da du mich ja quasi direkt fragst möchte ich dir auch keine antwort schuldig bleiben ... Wink

erzet49 schrieb: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 ... Wink
viel erfolg!

Windows 7/10 Prof. (x64), VW 2016/2017 Landschaft
23.01.2010 19:08
Alle Beiträge dieses Benutzers finden |  | Diese Nachricht in einer Antwort zitieren
erzet49
Beitrag: #3
Betreff des Beitrags: Re: Einfachstes Vectorscript - Variablentyp-Problem

Offline

**
Mitglied
Registriert seit: 01.11.2008
Beiträge: 35
Hallo Kim,

Danke! Hat auf Anhieb geklappt!

Zitat: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.

Zitat: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
29.01.2010 23:52
Alle Beiträge dieses Benutzers finden |  | Diese Nachricht in einer Antwort zitieren
Antwort schreiben 



 
© ComputerWorks | Hilfe | Forenregeln | Impressum