帮助与文档
  • SOFiSTiK > 
  • 在线帮助 > 
  • Teddy手册 > 
  • TEEDY 宏命令(上)

TEEDY 宏命令(上)

控制命令

PROG - 宏文件的定义


说明
名称

窗口名: Teddy

一个宏输入文件必须开始于行prog teddy 用于定义。

示例:

PROG Teddy - Makrodefinition für Teddy           01.01.1997
$----------------------------------------------------------

menue Popup
  begin
    ...
  ende

MAKRO - 宏命令的定义

解释
名称宏名称
特殊规定: AUTOEXEC 产生一个自动被执行的宏
键盘

键盘操作名称,例如:Alt+T

Bez  命令描述:倘若没有给出任何声明, 宏在宏菜单中不出现。然后它可以通过键盘被定义或者调用被其他宏调用激活。

示例:

MAKRO Test Alt+T Allgemeines Test-Makro
  begin
    edit ...
  ende

MENUE - 宏菜单的定义

解释
名称菜单名
特殊规定: POPUP 鼠标右键点击可以激活属于某一类的菜单
键盘键盘操作名称
例如: Alt+H
Bez菜单的描述

示例:

MENUE Popup
  begin
    rahm Maus
    item ...
  ende

INPUT - 输入宏的定义

解释
名称宏名称
键盘键盘操作名称
例如:Alt+T
Bez命令描述:倘若没有给出任何声明, 宏在宏菜单中不出现。然后它可以通过键盘被定义或者调用被其他宏调用激活。

 一旦这个输入宏的名称在空格后键入则这个输入宏被自动执行。

示例:

INPUT Beto
  begin
    edit ^D1 C 25
  ende

BEGIN -开始一个宏定义

解释
-开始一个宏命令的集

示例:

makro Test Alt+T Allgemeines Test-Makro
  BEGIN
    edit ...
  ende

ENDE - 结束一个宏定义

解释
-结束一个宏命令的集

示例:

makro Test Alt+T Allgemeines Test-Makro
  begin
    edit ...
  ENDE

RAHM - 放置一个宏菜单

解释
X从屏幕左上角开始的列。
Y

从屏幕左上角开始的行。

放置使用替代方式,以下的关键词也是可以的:
MAUS : 现在的鼠标位置
CURSOR : 现在的光标位置
ZENTRIERT : 编辑窗口内的中心位置

示例:

menue Popup
  begin
    RAHM 20 5
    item ...
  ende

ITEM - 宏菜单的菜单项

解释
Text菜单项的描述
描述文本必须用前和后引号 " 括起来。一个制表键的符号可以通过^I 来设置。

示例:

menue Popup
  begin
    rahm maus
    ITEM ...
    ITEM "Ausschneiden ^IStrg+X" edit ~X
    ITEM "Kopieren ^IStrg+C"     edit ~C
    ITEM "Einfügen ^IStrg+V"     edit ~V
    ITEM
    ITEM "Zurücknehmen ^IStrg+Z"     edit ~Z
    ITEM "Wiederherstellen ^IStrg+W" edit ~W
  ende

ISUB -宏菜单的子菜单项

解释
Text

子菜单项的描述
描述文本必须用前和后引号 " 括起来。一个制表键的符号可以通过^I 来设置。

示例:

menue aqua_echo
  begin
    rahm cursor
    item "&MAT  ^I-  Materialparameter"
      ISUB "&JA   ^I-  normale Ausgabe"               edit mat JA
      ISUB "&NEIN ^I-  nichts ausgeben"               edit mat NEIN
    ...
ende

input ECHO - Steuerung der Ausgabe
  begin
    call @(modul)_echo
  ende

编辑命令

EDIT - 输入命令序列

说明
命令

编辑命令或文本输入。
为了在文本输入时输入空格键,可以使用前后双引号。

控制命令可以通过键入 ^ 或是 ~ 被引入

  • ^Y : 代表Strg-Y 以及起着删除行的作用;

  • ~C : 代表Strg C 以及将文本复制到剪贴板;

  • ^^ : 将被转译为^

示例:

makro Hallo Alt+H
  begin
    EDIT ^Q^C                  $ Cursor zum Dateianfang
    EDIT ^Q^Y                  $ Löschen bis Zeilenende
    EDIT Hallo world!          $ Texteingabe:
  ende

这个示例还可以以一种缩略的形式给出:

makro Hallo Alt+H
  begin
    EDIT ^QC^QYHallo world!
  ende

EDLN - 换行输入命令序列

说明
命令编辑命令以及换行输入文本。
为了在文本输入时输入空格键,可以使用前后双引号。

控制命令可以通过键入 ^ 或是 ~ 被引入。

  • ^Y : 代表Strg-Y 以及起着删除行的作用;

  • ~C : 代表Strg C 以及将文本复制到剪贴板;

  • ^^ : 将被转译为^

 

示例:

makro Hallo Alt+H
  begin
    EDLN Hallo world!          $ Texteingabe mit  Zeilenvorschub
    edit ============          $ Texteingabe ohne Zeilenvorschub
  ende

EINF - 载入输入模式

说明
状态设置输入模式(是/否)

示例:

makro Hallo Alt+H
  begin
    EINF ja                    $ Einfügemodus wird gesetzt
    edln Hallo world!          $ Texteingabe
    EINF nein                  $ Überschreibmodus wird gesetzt
    edit ============          $ Vorhandener Text wird überschrieben
  ende

SAVE - 保存编辑器输入

说明
种类

保存:

EINF - 输入模式

POS - 光标位置

示例:

makro Hallo Alt+H
  begin
    SAVE POS                   $ Cursorposition wird gesichert
    SAVE EINF                  $ Einfügemodus wird gesichert
    einf ja                    $ Einfügemodus wird gesetzt
    edln Hallo world!          $ Texteingabe
    back EINF                  $ Einfügemodus wird zurückgesetzt
    back POS                   $ Zurück zur alten Cursorposition
  ende

BACK - 撤销编辑器输入

说明
种类

撤销:

EINF - 输入模式

POS - 光标位置

示例:

makro Hallo Alt+H
  begin
    save POS                   $ Cursorposition wird gesichert
    save EINF                  $ Einfügemodus wird gesichert
    einf ja                    $ Einfügemodus wird gesetzt
    edln Hallo world!          $ Texteingabe
    BACK EINF                  $ Einfügemodus wird zurückgesetzt
    BACK POS                   $ Zurück zur alten Cursorposition
  ende

GOTO - 转到特定位置

说明
行号
输入负值则从低端开始计数。
0 停留在现在的行号。
列号
输入负值则从低端开始计数。
0 停留在现在的列号。
顶端

代替:现在所处的行放置在屏幕边缘的最上方


示例:

makro Hallo Alt+H
  begin
    GOTO 1 1       $ Der Cursor geht zum Anfang der Datei
    ...
    GOTO 1 0       $ Der Cursor geht zum Anfang der aktuellen Zeile
    ...
    GOTO -1 -1     $ Der Cursor geht zum Ende der Datei
  ende

FIND - 查找字符串

说明
查找文本将被查找的文本的字符串,引号内。
Optionen用逗号隔开:
G : 忽略大小写
L : 忽略空格
W : 查找整词
C : 从光标处开始查找
K : 循环查找
T : 在整个文本中查找
B : 在被标记的块中查找
R : 反向查找

示例:

menue Such Alt+S
  begin
    FIND "+prog",cg
  ende

REPL - 查找并替换字符串

说明
查找文本将被查找的文本的字符串,引号内。
替换文本被替换的字符串,引号内。 
选项

用逗号隔开:
G : 忽略大小写
L : 忽略空格
W : 查找整词
C : 从光标处开始查找
K : 循环查找
T : 在整个文本中查找
B : 在被标记的块中查找
R : 反向查找  
N :带着需求

示例:

menue Such Alt+E
  begin
    REPL "-prog","+prog",cg
  ende

OPEN - 打开文件

说明
名称 

打开的文件名

名称需要包括路径说明和/或类的特性。

示例:

menue Popup
  begin
    ...
    item "Autoexec.bat editieren" OPEN c:\\autoexec.bat
  ende

READ - 阅读文件

说明
名称

文件的名称应该被读入。

名称需要包括路径说明和/或类的特性。

示例:

menue Popup
  begin
    ...
    item "Autoexec.bat einlesen" READ c:\\autoexec.bat
  ende

WRITE - 将块写入文件

说明
名称

文件名称 ,在这个文件内一个被标记的文本被扩展。

名称需要包括路径说明和/或类的特性。

示例:

menue Popup
  begin
    ...
    item "Block nach BLOCK.TMP schreiben" WRITE block.tmp
  ende

CALL - 调用一个宏

说明
名称将调用的宏的名称
anz重复次数(预设重复次数= 1)

示例:

makro DelLine
  begin    if @find("Text",c)
      edit ^Y              $ Löscht diese Zeile
    endif
  ende

menue Popup
  begin
    ...
    item "Test-Makro ausführen" CALL DelLine 50
  ende

EXEC - 调用一个外部应用程序

说明
名称外部程序的名称和所有的命令行参数。

示例:

makro DosBox Alt+D DOS-Box
  begin
    EXEC cmd /c st种类 "DOS-BOX" /i
  ende

DEL - 文件的删除

说明
名称

将要删除的文件的名称。

占位符* 和? 允许被使用。也可能有多个名称的顺序指定。名称可以通过空格来隔开。

示例:

makro DelBak Alt+B Löschen aller BAK-Dateien
  begin
    DEL *.bak
  ende

AUTOEXEC - 自动执行开始宏

说明
名称

自动执行的开始宏的窗口名称。一个带有AUTOEXEC 的宏将被自动执行。

示例:

makro AUTOEXEC
  begin
    tab 8,100*4     $ Setzt unterschiedliche Tabulatorabstände
  ende

MAK - 加载一个宏文件

说明
名称宏文件的文件名
Ext

宏文件的扩展应该被激活。

可以指定多个扩展类别。也可以指定一个完整的文件名。

Diese Makro eignet sich z.B. innerhalb des St种类-Makros AUTOEXEC extensionabhängig eine zugehörige Makro-文件zu laden.

示例:

makro autoexec
  begin
    MAK fortran.wtm *.for *.f77 *.f90
  ende

HLP - 加载一个关键词或者帮助文件

说明
名称文件的关键词或帮助文件的名称(无扩展名).
Ext

宏文件的扩展应该被激活。

可以指定多个扩展类别。也可以指定一个完整的文件名。

这个宏适合在一个开始宏的内部AUTOEXEC 依赖于扩展名的从属的关键词或是帮助文件地加载。

示例:

makro autoexec
  begin
    HLP QWALLS .QWA .ANK
  ende

DTYP - 确定一个待处理的文件的种类

说明
种类 文件种类的说明
S : Sofistik-输入文件
E : Sofistik-结果文件
C : C/C++ 来源
F : Fortran 来源

示例:

menue 数据类型 - Datei-Typ festlegen
  begin
    item "Generell"                 dtyp Generell
    item "SOFiSTiK - Eingabedatei"  dtyp Sofistik
    item "SOFiSTiK - Ergebnisse"    dtyp Ergebnis
    item "C/C++ Source"             dtyp C/C++
    item "Fortran Source"           dtyp Fortran
  ende

TAB - 设置制表符间距

说明
Tabs

制表符间距。

可以定义一个窗口或是多个变化的间距。 逗号作为分隔符以及乘号作为重复的标志。

该宏适用于在开始宏中AUTOEXEC中的制表符定义

示例:

makro autoexec
  begin
    TAB 8,100*4    $ Ergibt: 8 12 16 20 24 usw.
  ende

MBOX - 通知窗口的输出

说明
文本 消息文本
标题

消息窗口的标题。文本和标题需要分别被前后引号" 分隔开来。

示例:

makro Hallo Alt+H
  begin
    ...
    MBOX  "Ende des Makros","Bestätigen !"
  ende

BEEP - 警告的输出

说明
数量

警告的数量

默认的警告数为一个

示例:

makro Hallo Alt+H
  begin
    ...
    BEEP
    mbox  "Ende des Makros","Bestätigen !"
  ende

命令分枝

IF - 条件的命令导向

解释
条件

是决定后面的条件是否应该被执行的条件。一个IF块必须以一个ENDIF命令作为结束。

可能的比较条件:
输出1 == 输出2 (检查是否相等)
输出1 <> 输出2 (检查不等关系)

示例:

makro temp Alt-T
  begin
    edit ~S
    IF "@environ(temp)" <> ""
      exec copy @(file) @environ(temp)\@(name).bak
    elseif "@environ(tmp)" <> ""
       exec copy @(file) @environ(tmp)\@(name).bak    else
      exec copy @(file) C:\@(name).bak
    endif
  ende

ELSEIF - 命令的分枝

解释
条件

是决定后面的条件是否应该被执行的条件。

一个 ELSEIF块以先前的的 IF块作为条件而且也必须以一个ENDIF命令作为结束。在一个ELSEIF命令之后还可以再次接上其他的ELSEIF命令。

可能的比较条件:
输出1 == 输出2 (检查是否相等)
输出1 <> 输出2 (检查不等关系)

示例:

makro temp Alt-T
  begin
    edit ~S    if "@environ(temp)" <> ""
      exec copy @(file) @environ(temp)\@(name).bak
    ELSEIF "@environ(tmp)" <> ""
       exec copy @(file) @environ(tmp)\@(name).bak    else
      exec copy @(file) C:\@(name).bak
    endif
  ende

ELSE - 可替换的命令串

解释

这个命令可以跟在一个IF块或是一个ELSEIF快后面。这个ELSE块必须以一个ENDIF命令作为结束。

示例:

makro temp Alt-T
  begin
    edit ~S    if "@environ(temp)" <> ""
      exec copy @(file) @environ(temp)\@(name).bak
    elseif "@environ(tmp)" <> ""
       exec copy @(file) @environ(tmp)\@(name).bak
    ELSE
      exec copy @(file) C:\@(name).bak
    endif
  ende

ENDIF - 一个条件的命令串的结束

解释

一个IF块, ELSEIF块或是ELSE块都必须以一个ENDIF命令作为结束。

示例:

makro temp Alt-T
  begin
    edit ~S    if "@environ(temp)" <> ""
      exec copy @(file) @environ(temp)\@(name).bak
    elseif "@environ(tmp)" <> ""
       exec copy @(file) @environ(tmp)\@(name).bak    else
      exec copy @(file) C:\@(name).bak
    ENDIF
  ende

0 个评论

要回答文章请先登录注册