#include UserSettings.ini [General] Debug=198 SysFonts=1 Options=4 ; Options: Set [DeleteApps DeleteMacs Ignored Reserved Append Convert Overwrite] FileColor=128 NoKeyEsc=1 ClipCopyAmount=0 CRLFConv=0 Paragraphs=0 HintDelay=1800 NoSplash=0 TrayClick=0 NoEscPrefix=1 ShiftState=1 Proportional=0 KbdClick=1 ShowTrayIcon=1 PinPos=1,400,400 Language=de Wordwrap=1 EditFontSize=8 CommandMode=1 Version=3.5.9.3 Position=167,150,462,554 WindowColor=16777215 Sorting=ANSI ; Change this to "numeric" for sorting by character value EditorPos=13, 248, 861, 453 OpenWindow=1 ProxyServer= UseIEProxy=0 ReplaceBaseIni=0 ShowTooltips=1 ReadFtp=0 WriteFtp=0 DictFtp=0 FtpPassive=1 FtpHost= FtpDir=/ FtpUser= FtpPwd= UseProxy=0 Programs=Notepad ("Notepad.exe"),Wordpad ("Wordpad.exe") MacroExecPwd= PasswordColor=16766666 DialogColor=-2147483633 SyncMethod=FTP NetDrivePath= LargerListFont=0 SplitterPos=206 ShowSplitter=1 TEditorPos=136, 190, 738, 586 TParagraphs=0 TProportional=0 TWordwrap=1 TSplitterPos=300 TShowSplitter=1 TEditFontSize=8 NoMsgRestriction=0 NoMsgContextMenu=1 FlushInterval=20 CheckUpdate=1 RestoreUpdates=1 ShowRecInd=0 ShowFtpInd=1 ProxyUser= ProxyPwd= AutoVerify=1 UpdateStatus=0 Urls=http://www.typer.de,http://www.viebke.info ModulePath=/modules.sc CheckUpdateIndex=1 LastUpdate= 3.98490933912037E+0004 UseProxyList=1 Withdraw=0 [Completion] Completion=1 DictionaryFile=Dict.txt DefaultWords=allerdings, andererseits, besonderen, insbesondere, beispielsweise StopWords=diese, diesem, diesen, dieser, dieses, ganze, ganzem, ganzen, ganzer, ganzes, selten, unser Syllables=mit, bei, ent, über, unter, weiter, heraus, zer, gegen, trans, inter, edel, sonder, hyper, schwarz, blau, grün Delimiters=%()[]{}<>="' SpaceCharacters=_ DefPriority=0 AlwaysShow=0 FollowUps=1 Rollover=1 ExtendedSearch=1 Abbreviation=1 SubWords=1 Resolve=121,0 IgnoreBuffer=0 PhraseDelimiters=.,;:!? [MacroFiles] Number=0 [WinAppRegs] Number=0 [ErrorLog] Position=463,55,391,223 ErrorLevel=3 MaxErrors=200 [Recording] Position=496, 77, 460, 252 MonitorPos=500,200 BufferWarning=1 ShowRecMon=1 [Updates] Denied=0 [Apps] Number=3 AppDelay=800 Resolve=122,0 A2=ex ,Explorer.exe,, A3=np ,Notepad.exe,, A1=da ,*Datum in Textfenster einfügen,,\[+c]¤parse(macro("#da"));¤exit; [Macros] Number=31 Resolve=118,0 ClearQueue=1 KeyShortcuts=1 PasteText=0 SortMacros=1 ResortSysMacros=1 MaxDiff=800 MinDiff=800 Delay=10 KeyDelay=5 Repeat=2 Wildcards=1 M1=33224,@ff0000* C1=53,Textbausteine H1=0,0 P1= M2=138,#b\[+c]¤¤NAME:=input("","Enter the name of the environment:")¤Result:="\\begin\{"+$NAME+"\}\n\ \n\b\b\\end\{"+$NAME+"\}\u";¤echo Result;¤* C2=113,Insert begin-end with prompt H2=85,6 P2= M3=202,#da\[+c]¤// Ort und Datum ausgeben¤// ----------------------¤¤echo "Musterstadt, "+date("d. mmmm yyyy")+"\n";¤return;* C3=53,Ort und Datum H3=0,0 P3= M4=202,#em\[+c]¤¤// Bei längeren Texten empfiehlt es sich, einen Textblock zu¤// definieren - wie in diesem Makro.¤// ---------------------------------------------------------¤¤\[+t ADR]¤Egon Mustermann¤Musterstr. 1¤99999 Musterstadt¤\[-t]¤¤// Den Textblock ADR plus abschließende Enter-Taste ausgeben.¤¤print ADR+chr(13);¤* C4=65,Eigene Anschrift H4=0,0 P4= M5=202,#kb\[+c]¤¤// Dieses Makro definiert zunächst drei Anreden, aus denen Sie¤// eine auswählen können. Dann wird (außer bei der dritten Anrede)¤// der Name abgefragt. Zum Schluss werden die Anrede und ein¤// vordefinierter Text TEXT ausgegeben.¤// ---------------------------------------------------------------¤¤lists (ANREDEN,ABSCHLUSS)¤ "Sehr geehrte Frau " ""¤ "Sehr geehrter Herr " ""¤ "Sehr geehrte Damen und Herren" ",\n\n"¤;¤¤if !select(ANREDEN,"Anrede:") return; // Abgebrochen?¤¤// Wenn nicht die dritte Anrede ausgewählt wurde, dann ¤// den Namen abfragen.¤¤if (ANREDEN[1]!=3) {¤ if !(NAME:=input("","Name:")) return; // Abgebrochen?¤ }¤¤// Die Anrede plus Abschluss derselben ausgeben. Die gewählte¤// Anrede wird durch die Auswahl zur ersten in der Liste.¤¤echo $ANREDEN[1]+ABSCHLUSS[ANREDEN[1]];¤if defined("NAME") echo $NAME+",\n\n";¤¤// Hier steht der Text, der auf die Anrede folgt.¤¤\[+t TEXT]¤vielen Dank für die Zusendung der Ausschreibungsunterlagen. Wir werden Ihre Anfrage so schnell wie möglich beantworten.¤¤Mit freundlichen Grüßen¤Hans Mustermann¤\[-t]¤¤lprint TEXT;¤return;¤* C5=85,Kurzbrief mit Abfrage H5=0,0 P5= M6=270,#mfgMit freundlichen Grüßen,¤* C6=137,Mit freundlichen Grüßen (Nur Text) H6=0,0 P6= M7=202,#sb\[+c]¤// Ein (zugegebenermaßen unrealistisches) Beispiel für einen¤// Serienbrief. Es zeigt, wie man Datensätze gleicher Größe¤// (hier jeweils 5 Felder) verarbeiten kann.¤// ---------------------------------------------------------¤¤list A ¤ "Hans Muster"¤ "Musterstr. 1"¤ "09999 Musterstadt"¤ "0999 99 99 99"¤ "Sehr geehrter Herr Muster"¤ ¤ "Gabriele Beispiel"¤ "Beispielweg 11"¤ "08888 Beispielen"¤ "0888 88 88 88"¤ "Sehr geehrte Frau Beispiel"¤ ;¤¤SIZE:=5;¤COUNT:=A/SIZE;¤repeat (Z,COUNT) {¤ B:=(Z-1)*SIZE;¤ echo(A[B+SIZE]+',\n\n');¤ echo('wir möchten Sie hiermit darauf hinweisen, dass wir Ihre Anschrift \¤ in unserer Datenbank wunschgemäß geändert haben. Sie lautet nun:\n\n');¤ echo(' ',A[B+1],'\n ',A[B+2],'\n ',A[B+3],'\n\n');¤ echo('Ihre Telefonnummer lautet ',A[B+4],'.\n');¤ echo('\nMit freundlichen Grüßen\nIhre Hausverwaltung\n\^\n');¤}¤* C7=45,Serienbrief H7=0,0 P7= M8=266,#sg*\[+c]¤// Noch ein Makro zur Ausgabe einer Anrede. Hier werden die Zeichen¤// ausgewertet, die anstelle von * im Kürzel eingegeben wurden, also¤// "f", "h" oder "dh", um eine von drei Anreden auszuwählen.¤// -----------------------------------------------------------------¤¤if !pos(' '+SUFFIX+' ',' f h dh ') {¤ beep;¤ S:=popup(("Sehr geehrte Frau ",¤ "Sehr geehrter Herr ",¤ "Sehr geehrte Damen und Herren,"));¤ if S<>-1 echo(S);¤ exit;¤ }¤case "f" echo("Sehr geehrte Frau ");¤case "h" echo("Sehr geehrter Herr ");¤case "dh" echo("Sehr geehrte Damen und Herren,\n\n");¤* C8=141,Sehr geehrte... (#sgf, #sgh, #sgdh) H8=0,0 P8= M9=266,#sig\[+c]¤// Dieses Makro definiert Komponenten einer Signatur. Kombinationen¤// dieser Komponenten werden dem Benutzer zur Auswahl angeboten.¤// Anschließend gibt das Makro die gewählte Kombination aus.¤// ----------------------------------------------------------------¤¤\[+t NAME]¤Martin Mustermann¤\[-t]¤¤\[+t ANSCHRIFT]¤Musterstr. 1¤D-99999 Musterstadt¤\[-t]¤¤\[+t BANK]¤Konto 99999999, Musterbank, BLZ 99999999¤\[-t]¤¤\[+t TELEFON]¤+49 99 999999999¤\[-t]¤¤\[+t FAX]¤+49 99 777777777¤\[-t]¤¤\[+t WEB]¤http://www.mustermann.zz¤\[-t]¤¤ENTER:=chr(13);¤¤// Gleiche Namen wie oben verwenden!¤list ADR¤ "Anschrift, Telefon, Web"¤ "Anschrift, Telefon, Fax"¤ "Anschrift, Bank"¤ "Anschrift, Fax, Bank"¤ "Name, Anschrift, Telefon, Fax, Web, Bank"¤;¤¤SIG:=select(ADR,"Bitte Signaturdaten auswählen:","Signaturdaten");¤if (!SIG) halt;¤A[]:=explode(ADR[1]);¤repeat (I,A) A[I]:=[trim(A[I])];¤print "-- "+$ENTER+string(A,ENTER)+$ENTER;¤exit;¤* C9=41,Signaturen H9=0,0 P9= M10=266,#std\[+c]¤// Dieses Makro zeigt, wie man in einem Textblock (hier BRIEF)¤// Felder ($VORNAME usw.) nach Auswahl eines Datensatzes durch die¤// entsprechenden Werte ersetzt und den Textblock dann über die¤// Zwischenablage ausgibt.¤// ----------------------------------------------------------------¤¤FELDER[]:=("VORNAME","NACHNAME","ANREDE","STR","PLZ","ORT");¤¤lists (NACHNAME,VORNAME,ANREDE,STR,PLZ,ORT)¤ "Muster", "Hans", "Sehr geehrter Herr", "Musterstr. 1", "09999", "Musterstadt"¤ "Erde", "Frank", "Sehr geehrter Herr", "Mondstr. 5", "X-012", "Universum"¤ "Beispiel", "Gabriele", "Sehr geehrte Frau", "Beispielweg 11", "08888", "Beispielen"¤ ;¤¤// Neue Liste für Auswahl zusammenbauen¤¤L[]:=();¤repeat (I,VORNAME) {¤ L.add(VORNAME[I]+", "+NACHNAME[I]+", "+PLZ[I]+" "+ORT[I]);¤ }¤¤if !select(L,"","Bitte Adressaten wählen:") {¤ beep;¤ exit;¤ }¤¤DATENSATZ_NR:=+L[1];¤¤\[+t BRIEF]¤$ANREDE $NACHNAME,¤¤wir danken Ihnen für Ihre Anmeldung in unserem Shop und möchten Ihnen ¤hiermit einen Einkaufsgutschein im Wert 2 EUR überreichen. Dieser ¤Gutschein kann bis 31.12.2009 bei einer Bestellung in Höhe von 300 EUR¤oder mehr eingelöst werden. Er ist nur für Sie persönlich bestimmt. ¤Bitte überprüfen Sie die bei uns gespeicherten Adressdaten:¤¤$VORNAME $NACHNAME¤$STR¤$PLZ $ORT¤¤Bei Unstimmigkeiten bitten wir Sie, Ihre Daten in unserem Shop¤zu korrigieren.¤¤Mit freundlichen Grüßen¤Ihr Karl-Heinz Shopinhaber¤-- ¤www.autotype.de¤\[-t]¤¤¤repeat (I,FELDER) {¤ VARIABLE:="$"+FELDER[I];¤ WERT:=[$FELDER[I]+"["+DATENSATZ_NR+"]"];¤ BRIEF:=replace(BRIEF,VARIABLE,WERT);¤ }¤¤clip(newlines(BRIEF));¤echo("\w2\^v");¤exit;¤* C10=53,Standardbrief H10=0,0 P10= M11=266,#sz*\[+c]¤// Dieses Makro bietet dem Benutzer Sonderzeichen ¤// zur Auswahl an und gibt das gewählte aus.¤// ----------------------------------------------¤¤RESULT:="";¤lists (KEYS,SZ)¤ ">" "»"¤ "<" "«"¤ "." "•"¤ "tm" "™"¤ "c" "©"¤ "a" "ª"¤ "r" "®"¤ "1" "¹"¤ "2" "²"¤ "3" "³"¤ "o" "º"¤ "1/4" "¼"¤ "1/2" "½"¤ "3/4" "¾"¤ "p" "£"¤ "e" "é"¤ "o" "ó"¤ "u" "¯"¤ "cent" "¢"¤ "eur" "€"¤ "mikro" "µ"¤ "schnitt" "ø"¤ "para" "§"¤ "frage" "¿"¤;¤repeat (Z,KEYS) {¤ case KEYS[Z] RESULT:=SZ[Z];¤ break;¤}¤if (RESULT="") {¤ P:=popup(KEYS);¤ if P=-1 halt;¤ RESULT:=SZ[index(KEYS,P)];¤}¤print RESULT;¤* C11=53,Sonderzeichen H11=0,0 P11= M12=207,#ttVersion.txt* C12=105,Datei Version.txt ausgeben H12=0,0 P12= M13=264,#url\[+c]¤¤// Noch ein Makro, das Texte zur Auswahl anbietet und ausgibt.¤// -----------------------------------------------------------¤¤lists (NAMES,URLS) ¤ "typer.de" "http://www.typer.de/",¤ "denic.de" "http://www.denic.de/",¤ "metager.de" "http://www.metager.de/"¤ ;¤¤URL:=popup(NAMES);¤if (URL=-1) {¤ beep;¤ return;¤ }¤¤URL:=index(NAMES,URL);¤if URL print(URLS[URL]);¤* C13=49,URL ausgeben H13=0,0 P13= M14=328,float\[+c]¤// Beispielmakro, das zeigt, wie man Variablen dauerhaft in einer¤// Datei speichert und wieder einliest. Die erste Variable (A) ist¤// eine Fließkommazahl (PI), die zweite (B) eine Ganzzahl (2)¤// ---------------------------------------------------------------¤¤function savevars(V,PATH) {¤ VL[]:=V[];¤ j:=VL;¤ for (i:=1; (i<=j); ++i) {¤ if isfloat(*(VL[i])) {¤ VL.add(sci(*(VL[i]),10));¤ }¤ else VL.add(*(VL[i]));¤ }¤ save(VL,PATH);¤}¤function loadvars(PATH) {¤ VL[]:=load(PATH);¤ for (i:=1; (i<=(VL/2)); ++i) {¤ *(VL[i]):=[replace(VL[i+VL/2],',','.')];¤ }¤}¤¤P:=getenv("TEMP")+"\vars.txt";¤A:=PI; B:=2;¤savevars("A B",P);¤A:=0; B:=0;¤loadvars(P);¤lprint A;¤lprint B;¤* C14=189,Beispiel zur dauerhaften Speicherung von Zahlen H14=0,0 P14= M15=72,*\[+c]¤// Dieses Makro mit dem Spezialkürzel * fängt den Fall ab, dass¤// kein Kürzel passt. Löschen Sie es, wenn es Sie stört.¤// ------------------------------------------------------------¤¤arrays (KEYS,NAMES)¤ "mail" "muster@mustermann.de"¤ "ggf" "gegebenenfalls"¤ "bsp" "beispielsweise"¤ "anf" "vielen Dank für Ihre Anfrage!"¤ "mfg" "Mit freundlichen Grüßen\nMustermann"¤ ;¤¤if (IDX:=index(KEYS,SUFFIX)) {¤ S:=NAMES[IDX];¤ if KEYS[IDX][1]!=SUFFIX[1] S[1]:=upper(S[1]);¤ echo(S);¤ exit;¤ }¤¤if (S:=popup(NAMES))!=-1 echo(S);¤* C15=105,Catch all (letztes Makro!) H15=0,0 P15= M16=33224,@0000ce* C16=49,Systemmakros H16=0,0 P16= M17=328,$copy\[+c]¤// Dieses Makro wird ausgeführt, wenn Text in die¤// Zwischenablage kopiert wird.¤// ----------------------------------------------¤¤// play(BASEDIR+"Sounds\Click1.wav");¤¤// Hier wird noch ein weiteres Makro ausgeführt:¤¤if (IDX:=macroindex("$copy.")) parse(macrotext(IDX));¤* C17=205,Wird beim Kopieren in die Zwischenablage ausgeführt H17=0,0 P17= M18=520,$default* C18=125,Wird vor jedem Makro ausgeführt H18=0,0 P18= M19=328,$exit\[-o+c]¤// Dieses Makro sichert beim Beenden von ShortCut¤// den Textpuffer und den Text in der Zwischenablage im¤// Anwendungsdaten\ShortCut-Verzeichnis des Benutzers.¤// Sofern verfügbar, wird das Passwort des beim Start¤// zuletzt geladenen verschlüsselten Makros verwendet.¤¤if (!defined('_PASS')) global _PASS:='';¤if (length(_PASS)<6) global _PASS:="ShortCut";¤if (length(_PASS)>=6) {¤ save(encrypt(squeeze(trim(textbuffer())),_PASS),HOMEDIR+"Buffer.txt");¤ if (length(BUF:=clip())!=0)¤ save(encrypt(squeeze(trim(BUF)),_PASS),HOMEDIR+"Clipbrd.txt");¤ }¤¤// Ein zusätzliches Makro ausführen, falls vorhanden:¤¤if (IDX:=macroindex("$exit.")) parse(macrotext(IDX));¤* C19=113,Wird beim Beenden ausgeführt H19=0,0 P19= M20=328,$init\[-o+c]¤// Dieses Makro wird beim Start von ShortCut ausgeführt. Es¤// sichert zuerst die aktuelle Konfiguration im temporären¤// Verzeichnis.¤// Dann liest es den Textpuffer und den Text für die Zwischen-¤// ablage aus dem Anwendungsdaten\ShortCut-Verzeichnis des¤// Benutzers. Sofern die entsprechenden Dateien verschlüsselt¤// sind, versucht das Makro sie zu entschlüsseln. Hierfür wird¤// das Passwort des zuletzt geladenen verschlüsselten Makros ¤// verwendet, sofern verfügbar. Andernfalls wird als Passwort¤// "ShortCut" verwendet.¤// ------------------------------------------------------------¤¤// Zuerst ein Backup der Konfiguration machen¤¤DIR:=getenv("TEMP");¤if direxists(DIR+"\ShortCut") DIR:=DIR+"\ShortCut";¤¤if direxists(DIR) {¤ F[]:=filelist(HOMEDIR+"ShortCut.*");¤ repeat (I,F) {¤ T:=DIR+"\"+date("yyyymmdd-hhmmss-")+filename(F[I]);¤ copyfile(F[I],T);¤ NL:=chr(13)+chr(10);¤ if exists('c:\winnt\bin\touch.exe')¤ console('cmd.exe','c:\winnt\bin',1,'touch '+T+NL);¤ }¤ }¤ ¤// Textpuffer und Zwischenablage einlesen¤¤global _PASS:='';¤MACS[]:=macrolist();¤repeat (M,MACS) {¤ P:=macropassword(MACS[M]);¤ if (P<>'') global _PASS:=P;¤ }¤if (length(_PASS)<6) global _PASS:="ShortCut";¤if (length(_PASS)>=6) {¤ BUF:=file(HOMEDIR+"Buffer.txt");¤ if (S:=decrypt(BUF,_PASS)) textbuffer(S);¤ else {¤ if (S:=decrypt(BUF,"ShortCut")) textbuffer(S);¤ }¤ BUF:=file(HOMEDIR+"Clipbrd.txt");¤ if (S:=decrypt(BUF,_PASS)) clip(S);¤ else {¤ if (S:=decrypt(BUF,"ShortCut")) clip(S);¤ }¤ }¤¤// Zusätzliche Makros ausführen, falls vorhanden¤¤foreach FUNC ("$functions","$init.") {¤ if (IDX:=macroindex($FUNC)) parse(macrotext(IDX));¤ }¤¤return;¤* C20=105,Wird beim Start ausgeführt H20=0,0 P20= M21=392,$match\[+c]¤// Hier können Sie bei Bedarf Ihre eigene Vervollständigungs-¤// funktion implementieren.¤// ----------------------------------------------------------¤¤complete(popup(match(lastword())));¤* C21=213,Wird bei ausgeschalteter Vervollständigung ausgeführt H21=0,0 P21= M22=520,$nomacro\[+c]¤// Wenn der Hotkey zur Kürzelauflösung gedrückt wurde, die¤// letzte Eingabe jedoch kein Kürzel war, dann wird dieses¤// Makro ausgeführt. Löschen Sie es, wenn Sie es nicht¤// benötigen oder ersetzen Sie es durch die Anweisung beep;¤// ---------------------------------------------------------¤¤// Das Makro zeigt die Liste der verfügbaren Makros an und¤// führt das ausgewählte aus. Es nimmt an, dass Kürzel nicht¤// mehrfach vergeben wurden.¤¤MACS[]:=macrolist();¤for (I:=MACS; I!=0; --I) {¤ if (macroflags(+I)&16) delete(MACS,I);¤ }¤¤if (M:=popup(MACS))<>-1 {¤ L:=lastword();¤ if L=length(L) repeat L echo('\b');¤ parse(macro($M));¤ }¤* C22=141,Kein Kürzel bei manueller Auflösung H22=0,0 P22= M23=520,$nomatch\[+c]¤// Wenn die Vervollständigung kein Wort findet, versucht dieses¤// Makro es erneut, jedoch ab dem zweiten Buchstaben des zuletzt¤// eingegebenen Wortes. Dieses Wort muss mindestens 2 Zeichen¤// lang sein.¤// -------------------------------------------------------------¤¤if length(L:=lastword())<2 {¤ play(BASEDIR+"ShortCut.wav");¤ exit;¤}¤¤L:=substr(L,2,length(L)-1);¤S:=popup(match(L));¤¤// Wenn der Benutzer ein Wort ausgewählt hat, muss es komplett ¤// geschrieben und nicht nur der fehlende Teil ergänzt werden.¤// Deshalb wird der Rückgabewert 0 von popup() (Eingabetaste)¤// durch 1 (Rückschritt-Taste) ersetzt.¤¤if (S!="") {¤ if (S=0) #S:=1;¤ print(complete(S));¤ }¤* C23=157,Leere Wörterliste bei Vervollständigung H23=0,0 P23= M24=392,$paste\[+c]¤// Mit diesem Makro können Sie darauf reagieren, wenn Text¤// mit Strg-v aus der Zwischenablage eingefügt wurde.¤// ---------------------------------------------------------¤¤// play(BASEDIR+"Sounds\Click2.wav");¤¤// Hier wird noch ein weiteres Makro ausgeführt:¤¤if (IDX:=macroindex("$paste.")) parse(macrotext(IDX));¤* C24=209,Wird beim Einfügen aus der Zwischenablage ausgeführt H24=0,0 P24= M25=456,$record\[+c]¤option keydelay 10;¤option delayinterval 1;¤echo($$$);¤exit;¤* C25=105,Vorlage für Aufzeichnungen H25=0,0 P25= M26=584,$richtext\[+c]¤\[+t TXT]\[-t]¤clip(TXT,"Rich Text Format");¤echo("\w\^v");¤exit;¤* C26=157,Vorlage für RTF-Makro per Drag and Drop H26=0,0 P26= M27=712,$statistics\[-o+c]¤¤if (VERSION<3050705) {¤ message("Das Statistik-Makro erfordert mindestens Version 3.5.7.5");¤ exit;¤ }¤¤PageItems:=10; // Spalten pro Seite¤PageDir:=getenv("TEMP")+"\"; // Ausgabeverzeichnis¤FilePrefix:="Usage-"; // Präfix der Dateinamen¤FileTag:=$FilePrefix+date("yy-mm-dd-hh-nn-ss-"); // Kennzeichnung der Dateinamen¤DelOldFiles:=1; // Alte Statistikdateien löschen¤MacCols:=1; // Makros in den Spalten¤¤lists (Tasks,Cmds)¤ 'Computer statt Makros in den Spalten' '+(MacCols:=0);'¤ 'Systemmakros ($init, $copy usw.) löschen' '+statistics(5,"\$*");'¤ 'Nicht verwendete Makros löschen' '+statistics(6,1,date("dd.mm.yy",-60));'¤ 'Häufig verwendete Makros löschen' '+statistics(7,100,date("dd.mm.yy",-60));'¤ 'Rechner aufsteigend nach Makrozugriffen sortieren' 'COMPS[]:=statistics(22,CLACC,1);'¤ 'Rechner absteigend nach Makrozugriffen sortieren' 'COMPS[]:=statistics(22,CLACC,0);'¤ 'Rechner aufsteigend nach letztem Zugriff sortieren' 'COMPS[]:=statistics(24,CLACC,1);'¤ 'Rechner absteigend nach letztem Zugriff sortieren' 'COMPS[]:=statistics(24,CLACC,0);'¤ 'Makros aufsteigend nach Gesamthäufigkeit sortieren' 'HMACS[]:=statistics(10,HLACC,1);'¤ 'Makros absteigend nach Gesamthäufigkeit sortieren' 'HMACS[]:=statistics(10,HLACC,0);'¤ 'Makros aufsteigend nach letztem Zugriff sortieren' 'HMACS[]:=statistics(12,HLACC,1);'¤ 'Makros absteigend nach letztem Zugriff sortieren' 'HMACS[]:=statistics(12,HLACC,0);'¤;¤¤\[+t StartPage]¤
¤¤Statistik über den Gebrauch von ShortCut-Makros [$date]
¤© Andreas Viebke - Alle Rechte vorbehalten
'+¤ PageLink(Current-1,'<<')+' | ';¤ else Result:=Result+'<< | ';¤ repeat (K,PageCount) {¤ if (K!=Current) ¤ Result:=Result+''+¤ PageLink(K,'')+' | ';¤ else¤ Result:=Result+''+¤ PageRange(K)+' | ';¤ }¤ if (Current>> | ';¤ Result:=Result+'
'+(+J)+' | '+¤ Tasks[J]+' | ';¤ }¤ S:=S+'
'+(MacCols?'Rechner/Makro':'Makro/Rechner')+¤ ' Häufigkeit Letzter Zugriff | ';¤ for (J:=(I-1)*PageItems+1;(J<=I*PageItems)&&(J<=L);++J) {¤ PAGE[1]:=$PAGE[1]+' '+L[J]+¤ ' '+(+L[J])+' '+FormatDate(LA[J])+¤ ' | ';¤ }¤ PAGE[1]:=PAGE[1]+'
'+NL[R]+' '+¤ (+NL[R])+' '+FormatDate(NA[R])+' | ';¤ for (J:=(I-1)*PageItems+1;(J<=I*PageItems)&&(J<=M);++J) {¤ A:=+(M[J]);¤ S:=''+A+' '+¤ FormatDate(LACC[J])+' | ';¤ }¤ PAGE[R+1]:=PAGE[R+1]+'
"+TITLE+"
");¤ return string(RESULT);¤ }¤¤function writemacropage(FIRST,LAST,CAT) {¤ ML[]:=macrolist();¤ RESULT[1]::=pageheader("Verfügbare ShortCut-Texte und -Makros | "+¤ date()+"");¤ RESULT.add(""+formatcategory(FIRST-1)+"
");¤ RESULT.add("Kürzel | Ersatztext |
---|---|
");¤ RESULT.add(""+$ML[I]+"");¤ RESULT.add(" | ");¤ S:=macrocomment(I);¤ if (S='') S:=replace(macro(I),chr(164),CRLF);¤ S:=quotehtml($S);¤ if trim(S)="" S:=" ";¤ S:=replace(indent(S),CRLF," "+CRLF)¤ RESULT.add(S);¤ RESULT.add(" |
"+mainpagelink("Zur Hauptseite")+"
");¤ save(RESULT,pagepath(CAT));¤ }¤¤¤ML[]:=macrolist();¤RESULT[1]::=pageheader("Verfügbare ShortCut-Texte und -Makros | "+¤ date()+"");¤CAT:=0; COUNT:=0;¤repeat (I,ML) {¤ if (macroflags(I)&16) {¤ FIRST:=I+1; LAST:=ML;¤ for (J:=FIRST;J<=ML+1;++J) {¤ if ((J>ML) || (macroflags(J)&16)) {¤ LAST:=J-1;¤ ++CAT;¤ break;¤ }¤ }¤ inc(COUNT,Z:=LAST-FIRST+1);¤ A:=""+formatcategory(FIRST-1)+"";¤ A:=A+" ("+(Z)+" Makros)"+COUNT+" Makros in "+CAT+" Kategorien
");¤RESULT.add("