Tasten & Command Beschreibung
=============================


Command-Gruppe "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] ......: Berechnet den Inhalt der Zw´ablage (wenn als Liste vorh.), <mod>=1: Durchschnitt
------------------------
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.

Beispiel:
Richten Sie einen Knopf mit folgendem Inhalt ein:

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

Dann kopieren Sie folgenden Block in die Zwischenablage

 44.50
 17.33
112.05

und klicken den neu eingerichteten Knopf einmal an.

--> Tip
Das funktioniert auch, wenn Sie z.B. in Excel eine Spalte in die Zw´ablage kopieren.

--> Hinweis
Das Ergebnis der Berechnung wurde zusätzlich der aktuellen Variablen VAR zugewiesen.
Somit können mit den VAR-Commands Folge-Berechnungen durchgeführt werden.

--> Hinweis
Das Profil "Script-Calculator" basiert auf diesem Prinzip. Es kann also mit Hilfe dieses
Commands ein kompletter Taschenrechner mit der RK-Script-Language programmiert werden.


/CLIP.CLEAR ...........: Löscht das Clip
------------------------

Beispiel: {/CLIP.CLEAR}


/CLIP.COPYPATH ........: Kopiert einen Pfad ins Clip
------------------------

Beispiel: {/CLIP.COPYPATH}


/CLIP.IMG.LOAD file....: Liest ein Bild <file> ins Clip ein
------------------------
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.

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


/CLIP.IMG.MEM no ......: Lies das Bild Nr. <no> (1-10) des "Speicher für Bilder" ins Clip ein
------------------------
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.

Beispiel: {/CLIP.IMG.MEM 10}


/CLIP.IMG.VIEW ........: Zeigt das in der Zw´ablage befindliche Bild im internen Bildbetrachter an
------------------------

Beispiel: {/CLIP.IMG.VIEW}


/CLIP.TXT.APPEND file .: Fügt den Inhalt der Zw´ablage der Datei <file> hinzu
------------------------

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


/CLIP.TXT.ASK .........: Gestattet es, während der Skript-Abarbeitung der Zw´ablage einen Text zuzuweisen
------------------------

Beispiel: {/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....: Fügt den Text <txt> an den Anfang des Clips ein
/CLIP.TXT.BEHND txt....: Hängt den Text <txt> an das Ende des Clips an
------------------------
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.

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

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

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

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


/CLIP.TXT.BEHND.ASC [no] Hängt das ASCII-Zeichen <no> an das Ende der Zw´ablage an (Vorgabe VAR)
/CLIP.TXT.BEHND.ASK ...: Gestattet es, während der Skript-Abarbeitung der Zw´ablage einen Text anzuhängen
/CLIP.TXT.BEHND.CR ....: Hängt ein Carriage Return (neue Zeile) an das Ende der Zw´ablage an
/CLIP.TXT.BEHND.MEM ...: Hängt den RK-ClipMemory an das Ende der Zw´ablage an
/CLIP.TXT.BEHND.STR [n]: Hängt die Variable STR <n> an das Ende der Zw´ablage an (Vorgabe VAR)
/CLIP.TXT.BEHND.VAR ...: Hängt die aktuelle Variable VAR an das Ende der Zw´ablage an
------------------------

--> 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.

Beispiel:

{/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 .: Markiert den Anfang eines Blocks im Skript, der in die Zw´ablage kopiert wird
/CLIP.TXT.BLOCK.END ...: Markiert das Block-Ende für CLIP.TXT.BLOCK.BEGIN (optional, andernfalls Text-Ende)
------------------------
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.

Beispiel:

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] ..: Konvertiert Wert/Text in Zw´ablage, <mod>=0: dec>hex, <mod>=1: hex>dec (Vorg. 0)
------------------------

Beispiel: {/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 .......: Zählt die im Clip befindlichen Buchstaben
-------------------------
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.

Beispiel: {/CLIP.TXT.COUNT}


/CLIP.TXT.CUT.LEFT [qu]: Löscht <qu> Zeichen von links der Zw´ablage (Vorg. VAR) (-qu=len-qu)
/CLIP.TXT.CUT.RGHT [qu]: Löscht <qu> Zeichen von rechts der Zw´ablage (Vorg. VAR) (-qu=len-qu)
/CLIP.TXT.CUT.FROM [pos] Löscht den Text rechts ab Zeichen-Postition <pos> der Zw´ablage (Vorg. VAR) (-qu=len-qu)
/CLIP.TXT.CUT.REVERSE .: Wechselt zwischen Zw´ablage und Umkehrung der letzten .CUT. Opperation
------------------------
Dies ist eine von Basic her bekannte Art des Left$() und Right$() Commands.
Mid$() kann auch realisiert werden, indem Left$() vorausgeschickt wird.
Wird <qu> bzw. <pos> nicht angegeben, so wird der Wert der aktuellen VAR eingesetzt.

Beispiel:

{/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

Der Anzeiger gibt hier den Inhalt "4567" für STR1 aus.


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 .....: Verschlüsselt den im Clip befindlichen Text
/CLIP.TXT.DECRYPT .....: Entschlüsselt den im Clip befindlichen 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!

Beispiel: {/CLIP.TXT.ENCRYPT}


/CLIP.TXT.EDITOR ......: Gibt den Inhalt der Zw´ablage (nur Text) im Editor aus
------------------------

Beispiel: {/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 ...: Formatiert eine in der Zw´ablage befindliche Kalkulations-Liste
/CLIP.TXT.FORMAT.SET [n] Definiert Formatierungs-Modus, <n> (-1,0,1,2,3...): -1=aus, 0=bündig, 2= 0.00 etc.
/CLIP.TXT.FORMAT.SYM txt Fügt Währungs- Symbol hinzu, <txt> für $ etc, off=aus, del=löscht aktuelle Symbole
------------------------
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. 

Beispiel-Skript:

{/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]: Konvertiert den jeweils 1. Buchst´ nach Leerzeichen, TAB & CR in Großbuchst´
------------------------

Beispiel: {/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....: Liest einen Text <file> ins Clip ein
------------------------
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.

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


/CLIP.TXT.LOWCASE .....: Wandelt den im Clip befindlichen Text in Kleinbuchstaben
/CLIP.TXT.UPCASE ......: Wandelt den im Clip befindlichen Text in Großbuchstaben
------------------------

Beispiel: {/CLIP.TXT.LOWCASE}


/CLIP.TXT.MEM.COPY ....: Kopiert den Text der Zw´ablage in den RK-ClipMemory
/CLIP.TXT.MEM.SWAP ....: Schaltet zischen dem Text der Zw´ablage und dem des RK-ClipMemory hin und her
------------------------
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.

Beispiel: {/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 ..: Entfernt die Zeichen mit dem ASCII- Code <no> aus der Zw´ablage
/CLIP.TXT.REPLACE.ASC .: Ersetzt in Zw´ablage die ASCII- Zeichen des 1. Param. durch den des 2. Param.
------------------------

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

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

Beispiel: {/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 ..: Gestattet das Entfernen eines definierbaren Zeichens oder Textes
/CLIP.TXT.REPLACE.ASK .: Gestattet das Ersetzen  eines definierbaren Zeichens oder Textes
------------------------
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 "Speicher für Zwischenablage".

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


/CLIP.TXT.REMOVE.TXT ..: Entfernt die Texte mit Inhalt <txt> aus der Zw´ablage
/CLIP.TXT.REPLACE.TXT .: Ersetzt in Zw´ablage die Texte des 1. Param. durch den des 2. Param.
------------------------

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

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

Beispiel: {/CLIP.TXT.REPLACE.TXT profesor,Professor}

Dieses Beispiel ersetzt alle "Profesor" durch "Professor".


/CLIP.TXT.SAVE file ...: Speichert den Inhalt der Zw´ablage in der Datei <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.

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


/CLIP.TXT.SEND ........: Sendet den im Clip befindlichen 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.

Beispiel: {/CLIP.TXT.SEND}


/CLIP.TXT.SET txt .....: Weist der Zw´ablage den Text <txt> zu
------------------------

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


/CLIP.TXT.TAB>SPC no ..: Konvertiert Tabs zu <no> Leerzeichen in der Zw´ablage
------------------------

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


/CLIP.TXT.TRIM ........: Löscht Leerzeichen und CR vor und nach dem im Clip befindlichen 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.

Beispiel: {/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 ........: Zeigt den Inhalt der Zw´ablage (nur Text) im internen Textbetrachter an
------------------------

Beispiel: {/CLIP.TXT.VIEW}
