cf - character format

27. Februar 2017

Char-format

Abgeleitet von den esc-Sequenzen für Drucker ist eine Art Script-Sprache entstanden.

Sie spart sich den Format Layer, glänzt aber nicht durch Übersichtlichkeit.

esc-Sequenz eine Abfolge von einzelnen Zeichen, eingeleitet vom esc-Zeichen (char27), das dem Drucker klar macht, dass jetzt eine Steuersequenz folgt. Interessant, mitten im Nutztext wird binärer Code eingelagert.

c( c für char

]

{ leiten die Steuer-Sequenz ein

sample: tabs
  ]c(12)TEXTA c(R) 1000c(20)]
  ]c(12)TEXTB c(R) 1c(20)]
result:
  TEXTA  1000
  TEXTB     1

  sample1: change fontname to Arial = c(Fn)A

  sample2: to Verdana size9, back to Courier size10

c(Fn).Verdana.c(Fs)c(9) TEXT c(Fn)Cc(Fs)c(10)

  sample: change to Size12 + back to Size10

c(Fs)c(12) TEXT c(Fs)c(10)

Drawing line, rectangle + picture

 in Layout define {dIndex} starting with 0,  sample: {d0} (drawlist index 0)

 in Drawlist define:

line     : x,y,width(in tabs),boldness  +10 white line (to cover)
rectangle: x,y,width(in tabs, 0=vert.line),heigth(px),boldness
picture  : x,y,width(in tabs),heigth(px),path+filename of picture 

Barcodes

Esr Prüfziffer {p}

12345678{p08b}

len = 8

b = Block 5 Darstellung

Iban/QrIban {n}

CH5800791123000889012(len 21) -> CH58 0079 1123 0008 8901 2{n21b}

len = 21

b = Block 4 Darstellung

Bemerkung

line {: remark 

Felder

?:<TEXT1>\<TEXT2>

Kopie

C:  O R I G I N A L  \c(B)K O P I Ec()

Seite mod 2 = 1 then 1. Teil else 2. Teil

Seite1 = Original
Seite2 = Kopie
Seite3 = Original
usf.

Last only

L:Report  Fr.\ TOTAL Fr.

1..n-1 = Report
     n = Total

ab 2. Seite

2:Seite1\Seite2 und ff.

1   = Seite1
2..n= Seite2 und ff.

Funktionen

Syntax Textfeld

"(1) if Datenfeld NICHT LEER\(2) else Datenfeld LEER[<][nn+]" {nn= max 60 blanks}

ohne Längendeklaration

Textfeld "Rabatt -**%\  "   **Lücke für Daten 
Datenfeld ='12' Textfeld "Rabatt -12%"  (1)
Datenfeld =''   Textfeld "           "  (2)

da keine Längendeklaration ist Text (1) und (2) gleich lang

mit Längendeklaration

Textfeld "Rabatt -**%\kein Rabatt         <" 
Datenfeld ='12' Textfeld "Rabatt -12%"           (1)
Datenfeld =''   Textfeld "kein Rabatt         "  (2)

mit Längendeklaration +zusätzlichen 19 blanks

Textfeld "Rabatt -**%\kein Rabatt<19+"  
Datenfeld ='12' Textfeld "Rabatt -12%"                    (1)
Datenfeld =''   Textfeld "kein Rabatt                   " (2)

Extras

Ausgabe auf Textfile

Um die Zeilenlänge 120 zu überschreiten: am Ende der Zeile {->txt}