Aby wyświetlać komunikaty w zdefiniowanej przez użytkownika sekcji paska stanu, można korzystać z ciągów tekstowych i języka DIESEL.
Wartość zmiennej systemowej MODEMACRO określa elementy wyświetlane w zdefiniowanej przez użytkownika, położonej najbardziej na lewo sekcji paska stanu. Najprostszym (i najmniej użytecznym) zastosowaniem zmiennej systemowej MODEMACRO jest wyświetlanie stałej wartości tekstowej.
Na przykład, aby wyświetlić na pasku stanu nazwę firmy/instytucji, należy wprowadzić:
Polecenie: modemacro
Wprowadź nową wartość zmiennej MODEMACRO lub . dla żadnego <"">: Greg's Excavating
Wartość tekstowa pozostanie bez zmian; pasek stanu nie będzie odzwierciedlał zmian wewnętrznego stanu aplikacji. Nie ulegnie to zmianie, dopóki wartość zmiennej systemowej MODEMACRO nie zostanie zaktualizowana.
Aby pasek stanu odzwierciedlał bieżący stan, należy wprowadzić wyrażenia makra w następującym formacie przy użyciu języka DIESEL:
$(func_name, arg1, arg2, ...)
W wyrażeniu makra func_name jest nazwą funkcji DIESEL, a arg1 , arg2 itd. są argumentami funkcji interpretowanymi zgodnie z jej definicją.
W poniższym przykładzie wyświetlana jest na pasku stanu nazwa bieżącego stylu tekstu:
Polecenie: modemacro
Wprowadź nową wartość zmiennej MODEMACRO lub . dla żadnego <"">: Style: $(getvar, textstyle)
Można pobrać bieżącą wartość dowolnej zmiennej systemowej, wprowadzając $(getvar, nazwa_zmiennej). Bieżąca wartość zmiennej systemowej zastępuje wyrażenie makra na pasku stanu. Gdy zmienna systemowa ulegnie zmianie, na przykład zostanie zmieniony bieżący styl tekstu, ciąg tekstowy przypisany do zmiennej systemowej MODEMACRO zostanie ponownie określony i pasek stanu zostanie zaktualizowany.
Wyrażenia makra mogą być zagnieżdżone, a także dowolnie złożone. W następującym przykładzie na pasku stanu wyświetlana jest bieżąca wartość jednostki skoku i kąt (w stopniach). Wykorzystuje on zagnieżdżone wyrażenia do konwersji kąta skoku z radianów na stopnie i obcina je do liczby całkowitej.
Polecenie: modemacro
Wprowadź nową wartość zmiennej MODEMACRO lub . dla żadnego <"">: Snap: $(getvar, snapunit) $(fix,$(*,$(getvar,snapang),$(/,180,3.14159)))
Wartości można również wyświetlać w bieżących trybach liniowych i kątowych jednostek.
Polecenie: modemacro
Wprowadź nową wartość zmiennej MODEMACRO lub . dla żadnego <"">:
Skok: $(rtos,$(index,0,$(getvar,snapunit))),$(rtos,$(index,1,$(getvar,snapunit))) $(angtos,$(getvar,snapang))
Język DIESEL kopiuje wprost dane wejściowe do danych wyjściowych, dopóki nie napotka znaku dolara ($) lub ciągu w cudzysłowie. Tak więc ciągi w cudzysłowie można wykorzystywać do blokowania wyliczania sekwencji znaków, które w przeciwnym wypadku byłyby interpretowane jako funkcje DIESEL. Same znaki cudzysłowu można również włączyć do ciągu w cudzysłowach, jeśli użyje się do tego celu dwóch znaków podwójnego cudzysłowu. W następnym przykładzie bieżąca warstwa jest ustawiona jako ARKUSZ, a MODEMACRO jest ustawiona jako ciąg.
Polecenie: modemacro
Wprowadź nową wartość zmiennej MODEMACRO lub . dla żadnego <"">: "$(getvar,clayer)= """$(getvar,clayer)""""
Na pasku stanu wyświetlana jest następująca informacja:
$(getvar,clayer)="ARKUSZ"