TEEDY宏命令(下)
调用函数
@FIND() - 查找字符串
值 | 说明 |
查找文本 | 需要查找的文本的字符串,在引号内 |
选项 | 用逗号隔开: G : 忽略大小写 L : 忽略空格 W : 查找整词 C : 从光标处开始查找 K : 循环查找 T : 在整个文本中查找 B : 在被标记的块中查找 R : 反向查找 |
示例:
menue Such Alt+S begin if @FIND("+prog",cg) ... endif ende
@FRAGE(Text,Titel) - 选择是/否的问题窗口的输出
值 | 说明 |
文本 | 问题文本 |
标题 | 信息窗口的标题。返回值: 是或否 |
示例:
makro Frage Alt+F begin if @FRAGE("Wollen Sie ein DOS-Fenster aktivieren ?","DOS-Fenster") == Ja exec cmd /c start "DOS-BOX aus TEDdy" /i endif ende
@(MODUL) - 插入现有模式(CADINP-输入)
值 | 说明 |
- | 在CADINP输入文件插入现有模式的名称:例如 prog aqua -> aqua |
示例:
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
@(FILE) - 现文件的文件名
值 | 说明 |
- | 插入现有文件的文件名。一个更前的路径被剪掉。例如: c:\daten\test.dat -> test.dat |
示例:
makro Save Alt+S Aktuelle Datei auf Diskette kopieren begin exec copy @(FILE) a: ende
@(NAME) - 现文件的不带后缀的文件名
值 | 说明 |
- | 插入现有文件的文件名。一个更前的路径被剪掉。例如: c:\daten\test.dat -> test.dat |
示例:
makro Save Alt+C Sicherungskopie der aktuellen Datei erstellen begin exec copy @(FILE) @(NAME).bak ende
@(EXT) - 现有文件的扩展名
值 | 说明 |
- | 插入现有文件的扩展名。一个更前的路径被剪掉。返回值一直以一个点开始。 例如: c:\daten\test.dat -> .dat |
示例:
makro DelBak Alt+B BAK-Dateien löschen begin if @lower(@(EXT)) == .bak del *.bak endif ende
@(PFAD) - 现有文件的路径
值 | 说明 |
- | 插入现有文件的路径。文件名和扩展名将被剪掉。例如: c:\daten\test.dat -> C:\daten\ |
示例:
makro DelTemp Alt+T TEMP-Verzeichnis aufräumen begin if @lower(@(PFAD)) == C:\\TEMP\\ del *.* endif ende
@(TEMP) - 暂时的文件名
值 | 说明 |
- | 产生一个随机的8个字符的字符串。首字符始终为一个$, 后面跟着7个大写字母。 例如: $AXKDZBM |
示例:
makro TempCopy Alt+T Datei temporär kopieren begin exec copy @(file) @(TEMP) ende
@(LAST) - 最后一个产生的暂时文件名的审阅权
值 | 说明 |
- | 得到@(TEMP)命令产生的名称。 在调用@(LAST)之前至少一次@(TEMP) 命令已经被调用。在下一次的@(TEMP)调用之后 @(LAST) 将被覆盖。 |
示例:
makro TempCopy Alt+T Datei temporär kopieren begin exec copy @(file) @(TEMP) .. del @(LAST) ende
@(TIME) - 附上现在的时间
值 | 说明 |
- | 在光标位置插入现在的时间。 返回值: 时间 |
示例:
makro Zeit Alt+Z Aktuelle Uhrzeit begin edit Die derzeitige Uhrzeit: @(TIME) ende
@(DATE) - 附上现在的日期
值 | 说明 |
- | 在光标位置插入现在的日期。 返回值: 日期 |
示例:
makro Datum Alt+D Aktuelles Datum begin edit Das heutige Datum: @(DATUM) ende
@(YEAR) - 附上现在的年份
值 | 说明 |
- | 在光标位置插入现在的年份。 返回值: 年份 |
示例:
makro Jahr Alt+J Aktuelle Jahreszahl begin edit Wir haben das Jahr: @(YEAR) ende
@(MONTH) - 附上现在的月份
值 | 说明 |
- | 在光标位置插入现在的月份。 返回值: Monat(月份) |
示例:
makro Jahr Alt+M Aktueller Monat begin edit Der derzeitige Monat ist: @(MONTH) ende
@UPPER() - 改写为大写字母
值 | 说明 |
- | 把给出的文本转化为大写字母。例如: @UPPER(Hallo Welt) -> HALLO WELT |
示例:
makro Gross Alt+G Dateinamen einfügen begin edit @UPPER(@(file)) ende
@LOWER() - 改写为小写字母
值 | 说明 |
- | 把给出的文本转化为小写字母。例如: @LOWER(Hallo Welt) -> hallo welt |
示例:
makro Klein Alt+K Dateinamen einfügen begin edit @LOWER(@(file)) ende
@FEXIST(File) - 测试文件是否存在
值 | 说明 |
File | 测试带有某"File"文件名的文件是否存在。 返回值:是或否 |
示例:
makro TedLog Alt+L TEDdy.LOG im aktuellen Verzeichnis begin if @FEXIST(teddy.htm) open teddy.htm endif ende
@FSEARCH(File) - 查找一个文件
值 | 说明 |
文档 | 在以下的目录查找带有某"File"的文件名: 返回值: 带有完整路径的文件名 |
示例:
makro TedLog Alt+L LOG-Datei zu Teddy begin open @FSEARCH(ted.htm) ende
@ENVIRON(Set) - 从环境表格上登记
值 | 说明 |
设置 | 从环境表格中插入"设置" 登记。返回值: 环境登记\ 例如: @ENVIRON(temp) -> c:\windows\temp |
示例:
makro TedLog Alt+L LOG-Datei zu Teddy begin if "@ENVIRON(temp)" <> "" edit ~S exec copy @(file) @ENVIRON(temp)\@(name).bak endif ende
@LINE(nr,i,n) - 从现文件中插入一行
值 | 说明 |
nr | 在现有文件中按照nr插入指定的行。 nr将会按以下的规则被转译: nr = 0 : 在光标处放置行; nr > 0 : 从文件开头计算行号; nr < 0 : 从文件末尾计算行号。 |
i | i > 0 : 从i-ten 字符开始 i < 0 : 从底端的i-ten字符开始 |
n | n > 0 : 字符的长度 参数i 和 n为可选项。 返回值: 指定行的文本 |
示例:
makro ErsteZeile Alt+1 Erste Zeile kopieren begin edit @LINE(1) ende
@WORD(nr,i,n) - 从现在的行中插入一个单词
值 | 说明 |
nr | 在现有行中按照nr插入指定的单词。 nr将会按以下的规则被转译: nr = 0 : 在光标处放置单词; nr > 0 : 从行开头计算单词的号码; nr < 0 : 从行末尾计算单词的号码; |
i | i > 0 : 从i-ten 字符开始 i < 0 : 从底端的i-ten字符开始 |
n | n > 0 : 字符的长度 n < 0 : 从指定的单词的号码完整字符串的字符将被考虑 参数i 和 n为可选项。 返回值: 现处行中指定的单词的文本。 |
示例:
makro ErstesWort Alt+1 Erste Wort kopieren begin edit @WORD(1) ende
@CHAR(nr) - 从现在的行中插入一个字符
值 | 说明 |
nr | 在现有行中按照nr插入指定的字符。 返回值: 现处行的指定位置的字符 |
示例:
makro ErstesZeich Alt+1 Erstes Zeichen kopieren begin edit @CHAR(1) ende
@LANG(art) - 内置系统-, 输入或输出语言
值 | 说明 |
Art(种类 ) | 按照Art的不同插入内置语言 返回值: |
示例:
makro Test Alt+F Test Language begin ... if @LANG(system) == 0 mbox("Falscher Dateiname !","Fehler") else mbox("Filename is wrong !","Error") endif ende
全局命令
#DEFINE - 全局定义
值 | 解释 |
Name | 替换文本(没有空格的单词)。 |
DefText | 可以被置入的文本。 |
这个命令起到一个对于全文全局的查找和替换的作用。从现在的#DEFINE命令开始,确切的带有准确名字的被标记文本将被替换。
示例:
prog teddy#ifdef @lang(system) == 0 $ Deutsch #DEFINE [Fehler] "Fehler" #DEFINE [MText] "Falscher Dateiname !" #endif #ifdef @lang(system) == 1 $ Englisch #DEFINE [Fehler] "Error" #DEFINE [MText] "Wrong filename !" #endifmakro Test Alt+F Test begin ... mbox([MText],[Fehler]) ende
#IFDEF - 全局命令分枝
值 | 解释 |
条件 | 条件是决定后面的条件是否应该被执行的条件。 每一个 #IFDEF命令都必须以#ENDIF命令结束。 可能的比较条件: |
示例:
prog teddy #IFDEF @lang(system) == 0 $ Deutsch #define [Fehler] "Fehler" #define [MText] "Falscher Dateiname !" #endif #IFDEF @lang(system) == 1 $ Englisch #define [Fehler] "Error" #define [MText] "Wrong filename !" #endif makro Test Alt+F Test begin ... mbox([MText],[Fehler]) ende
#ENDIF - 结束一个全局命令分枝
值 | 解释 |
一个#IFDEF命令的结束命令 |
示例:
prog teddy #ifdef @lang(system) == 0 $ Deutsch #define [Fehler] "Fehler" #define [MText] "Falscher Dateiname !" #ENDIF #ifdef @lang(system) == 1 $ Englisch #define [Fehler] "Error" #define [MText] "Wrong filename !" #ENDIFmakro Test Alt+F Test begin ... mbox([MText],[Fehler]) ende
#INCLUDE - 挂载一个文件
值 | 解释 |
名称 | 没有路径带后缀的文件名。文件将在相同的路径被查找, 在宏文件中也会被找到。 |
示例:
prog teddy #ifdef @lang(system) == 0 $ Deutsch #INCLUDE deutsch.wtm #endif #ifdef @lang(system) == 1 $ Englisch #INCLUDE english.wtm #endif