Description of Keys & Commands
==============================
Note: English translation still under construction!

Command-Group "CLIP": Zwischenablage
====================================

RK bietet eine Reihe von Commands, die den Inhalt der Zwischenablage
manipulieren.
Die Zwischenablage wird in diesem Kapitel kurz "Clip" genannt.


/CLIP.CALC [mod] ......: To calculate clip content (if in form of a list), <mod>=1: average calculation
------------------------
Wenn Zahlen in der Zw´ablage in Listenform vorliegen, kann dieser Command das Ergebnis
berechnen. I.d.R wird es sich um Addition und Subtraktion handeln, möglich sind aber auch
Multiplikation (*) und Division (/) und Prozent (% - muß am Zeilenende stehen).
Theoretisch möglich ist auch Potenzierung (^), Wurzel (v) und 1/x Berchnung (\).
Ist kein Operator angegeben, so wird Addition vorausgesetzt.
Kommas werden in erforderliche Punkte gewandelt, nur für die Ausgabe wird das Komma, sofern
in den Ländereinstellungen von Windows eingestellt, wieder ausgegeben.
Ab v7.7.61 ist ClipCalc ein eigenständiges Programm und gestattet den Parameter <mod>=1, der
eine Durchschnitts-Berechnung durchführt.

Example:
Generate a button with following content:

{/BTCH.EXPLICIT}
{/CLIP.CALC}
{/CLIP.TXT.VIEW}

Now copy following block into the clipboard

 44.50
 17.33
112.05

and click on the new generated RK button.

--> Tip
This will also work, if a column in Excel is copied into the clip.

--> Note
The result has been automatical stored in the current VAR for additional calculations.

--> Note
The profile "Script-Calculator" based on this principle so it is possible to code a
complete calculator with the RK script language.


/CLIP.CLEAR ...........: To clear the clipboard
------------------------

Example: {/CLIP.CLEAR}


/CLIP.COPYPATH ........: To copy a path into the clipboard
------------------------

Example: {/CLIP.COPYPATH}


/CLIP.IMG.LOAD file....: To copy the image <file> into the clipboard
------------------------
Mittels diesem Command kann man ein Bild (bmp, jpg, gif) ins Clip einlesen,
das dann anschließend zwecks Einfügen in eine Anwendung zur Verfügung steht.

Example: {/CLIP.IMG.LOAD c:\work\myface.jpg}


/CLIP.IMG.VIEW ........: To show the image, copied in the clipboard, in the internal image viewer
------------------------

Example: {/CLIP.IMG.VIEW}


/CLIP.IMG.MEM no ......: To load the pic <no> (1-10) from the Image Memory into the clipboard
------------------------
Die Funktion "Speicher für Bilder" (bitte dort nachlesen) kann bekanntlich 10
Bilder beherbergen. Dieser Command gestattet es, eines der 10 Bilder dieser
Funktion ins Clip einzulesen.

Example: {/CLIP.IMG.MEM 10}


/CLIP.TXT.APPEND file .: To add clipboard included text to textfile <file>
------------------------

Example: {/CLIP.TXT.APPEND c:\test.txt}


/CLIP.TXT.ASK .........: To copy a text into clipboard, defined from user during script is in process
------------------------

Example: {/CLIP.TXT.ASK}

--> Tip
Wird der Dialog durch "Abbrechen" geschlossen, so kann die Skript-Abarbeitung
an dieser Stelle durch den Commands "BTCH.EXIT-ON-CANCEL" (siehe dort) beendet
werden.


/CLIP.TXT.BEFOR txt....: To add a text <txt> at the beginning of the clipboard
/CLIP.TXT.BEHND txt....: To add a text <txt> to the end of the clipboard
------------------------
Mit diesen Commands kann man nicht nur den Inhalt des Clips mit Text erweitern,
sondern auch einen Text ins Clip kopieren, sodaß der bisherige Inhalt komplett
ersetzt wird.

Example: {/CLIP.CLEAR}{/CLIP.TXT.BEFOR Text-Beispiel}

In diesem Beispiel steht nur noch der Text "Text-Beispiel" im Clip.

Example:
{/CLIP.TXT.BEFOR Zeile1
Zeile2}

Zeilenumbrüche, wie in diesem Beispiel, sind auch möglich.


/CLIP.TXT.BEHND.ASC [no] To add an ASCII code <no> to the end of the clipboard (default VAR)
/CLIP.TXT.BEHND.ASK ...: To add a text to clipboard, defined from user while script is in process
/CLIP.TXT.BEHND.CR ....: To add a Carriage Return (new line) to the end of the clipboard
/CLIP.TXT.BEHND.MEM ...: To add RK-ClipMemory to the end of the clipboard
/CLIP.TXT.BEHND.STR [n]: To add variable STR <n> to the end of the clipboard (default VAR)
/CLIP.TXT.BEHND.VAR ...: To add the current variable VAR to the end of the clipboard
------------------------

--> Tip
Mit dem -.ASC Command läßt sich eine Konvertierung von einem Wert in ein Zeichen vornehmen.
In Basic würde die Formel theoretisch so aussehen:
clip=clip+CHR$(VAR).
Dies erreicht man, indem man der VAR einen Wert zuweist und den Parameter [no] einfach wegläßt.

Example:

{/BTCH.EXPLICIT}
{/VAR.SET 65}
{/CLIP.CLEAR}
{/CLIP.TXT.BEHND.ASC}
{/CLIP.TXT.SEND}

In diesem Beispiel wird der Buchstabe "A" ausgegeben, da er dem ASCII-Code 65 entspricht.


/CLIP.TXT.BLOCK.BEGIN .: To mark the beginning of a script-block which will be copied into the clip
/CLIP.TXT.BLOCK.END ...: To mark the end of the block for CLIP.TXT.BLOCK.BEGIN (optional, otherwise text-end)
------------------------
Diese Commands gestatten es, einen Textblock im Skript in die Zwischenablage zu kopieren.
Der BLOCK.END-Command ist nicht zwingend erforderlich. Fehlt er, so wird automatisch
das Skript-Ende als Block-Ende gesetzt.

Beispiel:
{/CLIP.TXT.BLOCK.BEGIN}
Zeile 1
Zeile 2

Beispiel:
{/CLIP.TXT.BLOCK.BEGIN}
Zeile 1 und
Zeile 2 kommen aus dem Clip,{/CLIP.TXT.BLOCK.END}
{/BTCH.EXPLICIT}
{HOLD.CONTROL}v
{KEY.ENTER}
Zeile 3 wird gesendet.

-> Beachte!
Ein vorangestellter BTCH.EXPLICIT-Command führt sicher zu ungewollten Ergebnissen,
da er die CR´s aus dem Skript entfernt.

-> Tip
Diese Command-Kombination kann auch dazu verwendet werden, einen Block innerhalb
eines Skriptes zu markieren, der nicht gesendet werden soll.

Example:

Diese Zeile wird gesendet.
{/CLIP.TXT.BLOCK.BEGIN}
Diese Zeile wird nicht gesendet
{/CLIP.TXT.BLOCK.END}Diese Zeile wird wieder gesendet.

Optisch wäre es sicher schöner, vor der 3. Zeile einen Zeilenumbruch zu machen,
dadurch würde aber ein vermutlich ungewollter Carriage Return (CR) gesendet werden.
Bitte bedenken, daß dadurch die Zwischenablage neu beschrieben wird.


/CLIP.TXT.CONV [mod] ..: To convert val/txt in clip, <mod>=0: dec>hex, <mod>=1: hex>dec (default 0)
------------------------

Example: {/CLIP.TXT.CONV 0}

Steht in der Zw´ablage die Zahl 234, so steht nach Aufruf dieser Funktion der Text "EA" dort.
Da Modus "0" der Vorgabewert ist, hätte es auch der Command {/CLIP.TXT.CONV} getan.


/CLIP.TXT.COUNT .......: To count the clipboard included characters
-------------------------
In vielen Internet-Formularen ist die Eingabe auf eine bestimmte Anzahl von
Zeichen beschränkt. Wenn Texte für unterschiedliche Formulare vorverfaßt
werden, ist es sehr hilfreich, die Zeichenanzahl dieser Texte schnell zu
ermitteln: Einfach ins Clip kopieren und diesen Command aufrufen.

Example: {/CLIP.TXT.COUNT}


/CLIP.TXT.CUT.LEFT [qu]: To remove <qu> (quantity) characters from left (default VAR) (-qu=len-qu)
/CLIP.TXT.CUT.RGHT [qu]: To remove <qu> (quantity) characters from right (default VAR) (-qu=len-qu)
/CLIP.TXT.CUT.FROM [pos] To remove text right from character no. <pos> (position) (default VAR) (-qu=len-qu)
/CLIP.TXT.CUT.REVERSE .: To swap between clip and reversal of last .CUT. command
------------------------
This is a kind of basic Left$() and Right$() commands.
Mid$() can be realized if Left$() is used before.
If <qu> or <pos> are not set, the value of current VAL will be taken instead.


Example:

{/BTCH.EXPLICIT}        ; unterdrückt CR (also erlaubt Zeilenumbrüche wie hier)
{/STR.SET 1,1234567890} ; weist STR1 den Text "1234567890" zu
{/STR.CLIP.SET 1}       ; kopiert STR 1 in die Zw´ablage
{/CLIP.TXT.CUT.LEFT 3}  ; Schneidet 3 Zeichen links ab (123 geht weg)
{/CLIP.TXT.CUT.FROM 5}  ; Schneidet alles ab Pos. 5 ab (inkl. dem 5. Zeichen)
{/STR.CLIP.GET 1}       ; schreibt die Zw´ablage wieder in STR1 zurück
{/STR.VIEW}             ; zeigt (u.a.) STR1 an

The Viewer will show the content "4567" for STR 1.

Ab v8.0 ist ein negativer qu-Parameter möglich. In diesem Fall berechnet sich qu neu aus der
Differenz zwischen der Gesamtlänge der Zw´ablage und qu.
Das bedeutet: Stehen 10 Zeichen in der Zw´ablage und es wird der Parameter -3 angegeben, so
wird aus qu nun 7.

Der ebenfalls ab v8.0 zur Verfügung stehende REVERSE-Command wechselt zwischen dem durch einen
CUT-Command erzeugten abgeschnittenen Teil und dem daraus resultierenden gelöschten Teil der Zw´ablage.
Ohne einem vorangegagenen CUT-Command hat dieser Command also keine Wirkung.
Beispiel: In der Zw´ablage steht "1234567890". Nun werden mittels des CUT.LEFT-Commands die ersten 4
Zeichen gelöscht. In der Zw´ablage steht nun "567890". Wird nun der REVERSE-Commd aufgeführt, so
ändert sich der Inhalt der Zw´ablage in "1234"; also in den zuvor gelöschten Teil.
Erneutes Ausführen des Commands stellt den Urzustand wieder her, weswegen er eigentlich "REVERSE.SWAP"
heißen müßte, aufgrund der Länge aber darauf verzichtet wurde.


/CLIP.TXT.ENCRYPT .....: To encrypt the clipboard included text
/CLIP.TXT.DECRYPT .....: To decrypt the clipboard included text
------------------------
Die Crypt-Funktion wurde zum verschlüsseln von Skript-Inhalten in RK
implementiert (s. "Verschlüsselt"-Checkbox in "Bearbeiten > Knöpfe").
Da diese Module nun schonmal vorhanden waren, war es wenig Aufwand, sie
für das Ver- und Entschlüsseln von Texten im Clip bereitzustellen.
Möchte man einen ASCII-Text verschlüsselt auf HD ablegen, so kopiert man
ihn ins Clip, verschlüsselt ihn unter Eingabe eines Paßwortes (= Kodierungs-
schlüssel, wird von RK automatisch abgefragt), und fügt ihn anschließßend
verschlüsselt in die Anwendung zurück.
Nun kann man den Text abspeichern.
Möchte man ihn wieder lesbar machen, kopiert man ihn abermals ins Clip,
endschlüsselt ihn unter Eingabe des selben Paßwortes und kopiert ihn in
eine Text-Anwendung.
Achtung, bei Verlust des Paßwortes scheint es unmöglich, den Text jemals
wieder lesbar zu machen!

Example: {/CLIP.TXT.ENCRYPT}


/CLIP.TXT.EDITOR ......: To open clipboard content in the editor
------------------------

Example: {/CLIP.TXT.EDITOR}


/CLIP.TXT.END>FRONT [s]: Setzt das durch Leerzeichen getrennte Ende nach vorn, optional mit Trennzeichen <s>
/CLIP.TXT.FRONT>END [s]: Setzt den durch Leerzeichen getrennten Anfang nach hinden, opt. mit Trennz´ <s>
------------------------
Diese Commands sind z.B. in der Lage, in der Zw´ablage befindliche Namens-Listen zu drehen.

Beispiel

Liza Minelli
Johann Sebastian Bach

wird zu

Minelli, Liza
Bach, Johann Sebastian

und bei Bedarf zurück in den Ursprung.

Die dazugehörigen Skripts sehen so aus:

{/BTCH.EXPLICIT}          ; Listen-Darstellung für dieses Skript gestatten
{/CLIP.TXT.END>FRONT ,}   ; Letztes Wort nach vorn stellen, durch Komma getrennt
{/CLIP.TXT.BEHND.CR}      ; Am Ende der Zw´ablage neue Zeile öffnen
{/CLIP.TXT.SEND}          ; Zw´ablage senden

und

{/BTCH.EXPLICIT}
{/CLIP.TXT.REMOVE.TXT ,}  ; Sämtliche Kommas in der Zw´ablage entfernen
{/CLIP.TXT.FRONT>END}     ; Erste Wort nach hinten stellen
{/CLIP.TXT.BEHND.CR}
{/CLIP.TXT.SEND}

--> Beachte!
Nochmals, damit es deutlich wird:
Es können sowohl einzelne Namen, als auch ganze Namens-Listen in einem Durchgang gedreht werden.

--> Tip!
Stellt man vor die Wandlung den Command {/CLIP.TXT.TAB>SPC 1}, so lassen sich auch aus
Excel kopierte Spalten umstellen.


/CLIP.TXT.FORMAT.DO ...: To format calculation list in clipboard
/CLIP.TXT.FORMAT.SET [n] To define format mode, <n> (-1,0,1,2,3...) : -1=off, 0=flash, 2= 0.00 etc.
/CLIP.TXT.FORMAT.SYM txt To add currency symbols, <txt> for $ etc, off=off, del=delete current symbols
------------------------
Diese Commands wurden für die formatierte Ausgabe des Script-Calculator-Profils entwickelt.
Falls man das dort im ClipMonMini (CMM) sichtbare Ergebnis anderwärtig gebrauchen kann,
steht der Benutzung dieser Commands natürlich nichts entgegen. 

Sample-Script:

{/BTCH.EXPLICIT}
{/APP.ACTIVATION.OFF}
{/CLIP.TXT.FORMAT.SYM del} ; löscht event. vorhandene Symbole
{/CLIP.TXT.FORMAT.SET 2}   ; schaltet auf Format #.00
{/CLIP.TXT.FORMAT.DO}      ; formatiert die Ausgabe
{/CLIP.TXT.FORMAT.SYM EUR} ; definiert EUR als Währungs-Symbol
{/CLIP.TXT.FORMAT.DO}      ; formatiert die Ausgabe


/CLIP.TXT.INITIAL [str]: To convert first letter after space, TAB & CR into upper case, opt. more chars <str>
------------------------

Example: {/CLIP.TXT.INITIAL}

Aus dem Satz "abc def, ghi" wird "Abc Def, Ghi".

Ab v8.2 kann optional ein Zeichenketten-Parameter angegeben werden, der weitere
Zeichen außer Leerz´, TAB & CR berücksichtigt.
Ohne Parameter macht der Command aus "hans-peter" > "Hans-peter", da der
Bindestrich unberücksichtigt bleibt.
Um "Hans-Peter" zu erzeugen sieht der Command so aus: {/CLIP.TXT.INITIAL -}.
Man kann beliebig viele Zeichen hinzugeben, z.B. {/CLIP.TXT.INITIAL -.,}.


/CLIP.TXT.LOAD file....: To load the textfile <file> into the clipboard
------------------------
Mittels diesem Command kann man einen ASCII-Text ins Clip einlesen, der dann
anschließend zwecks Einfügen in eine Anwendung zur Verfügung steht.

Example: {/CLIP.TXT.LOAD c:\docs\myhistory.txt}


/CLIP.TXT.LOWCASE .....: To convert the clipboard text to lower cases
/CLIP.TXT.UPCASE ......: To convert the clipboard text to upper cases
------------------------

Example: {/CLIP.TXT.LOWCASE}


/CLIP.TXT.MEM.COPY ....: To copy clipboard text into RK-ClipMemory
/CLIP.TXT.MEM.SWAP ....: To swap between clipboard text and RK-ClipMemory
------------------------
RK besitzt einen Speicher für die Zwischenablage, genannt ClipMemory. Mit dem Copy-Command
wird der aktuelle Inhalt der Zw´ablage dort hineingeschrieben, wogegen der SWAP-Command die
Inhalte der Zw´ablage und des Speichers austauscht.

Example: {/CLIP.TXT.SWAP}

--> Beachte !
Nach dem ersten Aufruf ist die Zw´ablage natürlich leer, da der "Swap"-Speicher ja noch
unbeschrieben war.

Also folgendermaßen vorgehen:
1. Text markieren und in die Zw´ablage kopieren
2. /CLIP.TXT.SWAP aufrufen
3. Anderen Text markieren und in die Zw´ablage kopieren
2. /CLIP.TXT.SWAP erneut aufrufen 

Nun stehen mittels /CLIP.TXT.SWAP 2 unterschiedliche Texte in der Zw´ablage zum Abruf bereit.


/CLIP.TXT.REMOVE.ASC ..: To remove the ASCII code <no> from the clipboard
/CLIP.TXT.REPLACE.ASC .: To replace the first ASCII code with the second <no>,<no>
------------------------

Example: {/CLIP.TXT.REMOVE.ASC 34}

In diesem Beispiel werden sämtliche Anführungszeichen im Clip gelöscht.

Example: {/CLIP.TXT.REPLACE.ASC 45,61}

In diesem Beispiel werden sämtliche Bindestriche im Clip durch Gleichheits-
zeichen ersetzt.

Im App-Ordner des RK-Ordners befindet sich das Tool "CheckASC", mit dessen Hilfe
man die ASCII-Codes für die Zeichen ermitteln kann.


/CLIP.TXT.REMOVE.ASK ..: To remove a define-able character or text
/CLIP.TXT.REPLACE.ASK .: To replace a define-able character or text
------------------------
Diese beiden Commands öffnen ein Dialog-Fenster, indem die gewünschten Änderungen
vorgenommen werden können.
Nähere Hinweise findet man auch im Manual-Text "Clip History".

Example: {/CLIP.TXT.REMOVE.ASK}
Example: {/CLIP.TXT.REPLACE.ASK}


/CLIP.TXT.REMOVE.TXT ..: To remove the text <txt> from the clipboard
/CLIP.TXT.REPLACE.TXT .: To replace first text with the second <txt>,<txt>
------------------------

Example: {/CLIP.TXT.REMOVE.TXT anm.: }

In diesem Beispiel werden nicht nur die Texte "anm.: " aus der Zw´ablage entfernt, sondern auch
z.B. "Anm.: ".

Example: {/CLIP.TXT.REPLACE.TXT beispiel,Example}

Dieses Beispiel ersetzt alle "Beispiel" durch "Example".


/CLIP.TXT.SAVE file ...: To save clipboard included text in textfile <file>
------------------------
Diesen Command kann man auch nutzen, um den Inhalt einer Textdatei in Zusammenwirken
mit /CLIP.CLEAR zu löschen, um sie z.B. für /CLIP.TXT.APPEND vorzubereiten.

Example: {/CLIP.TXT.SAVE c:\test.txt}


/CLIP.TXT.SEND ........: To send the clipboard included ASCII text
------------------------
Dies funktioniert ähnlich dem Windows-Einfügen per [Strg]+[v], allerdings sendet
der Command den Text auch, wenn die Windows-Einfüge-Option ungeeignet erscheint.

Example: {/CLIP.TXT.SEND}


/CLIP.TXT.SET txt .....: To copy text a <txt> into the clipboard
------------------------

Example: {/CLIP.TXT.SET http://www.freewarehits.de}


/CLIP.TXT.TAB>SPC no ..: To convert tabs to <no> spaces in the clipboard
------------------------

Example: {/CLIP.TXT.TAB>SPC 8}


/CLIP.TXT.TRIM ........: To cut spaces and CR from beginning and end of the clipboard text
------------------------
Dieser Command kann recht nützlich sein, wenn etwas ungünstig formatiertes in
das Clip kopiert wurde, wie es z.B. oft bei Webseiten der Fall ist.

Example: {/CLIP.TXT.TRIM}

--> Tip
Zum Korrigieren von schlecht formatieren Text aus Webseiten steht auf
freewarehits.de die Freeware-Tools "Copy & Trim" und "ClipEd" als Bestandteile des
"ToolsPackage" zum Download bereit.


/CLIP.TXT.VIEW ........: To show the clipboard content (text only) in the internal text viewer
------------------------

Example: {/CLIP.TXT.VIEW}