2. 4. 1 ASCII
SYNTAX - Import
Die Befehle import und parse erlauben den Import von
ASCII-Daten.
Der Befehl import liest Daten aus einer Datei (ASCII-Tabelle),
untersucht
die Zeilen nach Trennzeichen und gibt eine Liste mit den
Listenelementen
der Zeilen zurück, parse untersucht einzelne Zeichenketten
nach
Trennzeichen und gibt eine Liste mit den Elementen der Zeile
zurück. Sie haben die allgemeine Form:
import fileName ?options?
parse string ?options?
options bestimmen das exakte Verhalten des Befehls. Die
folgenden
Optionen sind definiert:
| -separators |
|
Einzelne Zeichen können hintereinander angegeben
werden,
die als Trennzeichen interpretiert werden. Diese Option kann nicht mit
der
Option -fixed verwendet werden. Standard ist \t (Tab). |
| |
| -fixed |
|
Einzelne Positionen können hintereinander angegeben
werden,
an denen die Zeilen in Zellen getrennt werden. Diese Option kann nicht
mit
der Option -separators verwendet werden. Standard ist Trennung
nach
Trennzeichen \t (Tab) (Option -separators). |
| |
| -ignoreRepeat |
|
Trennzeichenwiederholung ignorieren: wenn 0 (false)
als Wert für die Option angegeben wird, werden wiederholte
Trennzeichen
als Trennung von Zellen aufgefasst, wenn 1 (true)
angegeben
wird, werden wiederholte Trennzeichen als einfaches Trennzeichen
aufgefasst.
Standard ist false. |
| |
| -string |
|
Zeichenkettenbeginn und -ende (paarweise, 2 Zeichen):
Zeichenketten
zwischen Zeichenkettenbeginn und Zeichenkettenende werden nicht nach
Trennzeichen untersucht und unverändert übernommen.
Zeichenkettenende und Zeichenkettenanfang
können gleich sein. Diese Option wird bei Angabe der Option -fixed
unterdrückt. Standard ist \" \". |
| |
| -trim |
|
Leerzeichen um den Zelleninhalt werden ignoriert wenn 1
(true) als Wert für die Option angegeben wird. Beispiel:
aus
" 1 2 " wird "1 2".
Standard
ist true |
| |
| -trimLeft |
|
Leerzeichen am Zellenanfang werden ignoriert wenn 1 (true)
als Wert für die Option angegeben wird. Beispiel: aus
" 1 2 "
wird "1 2 ". Standard ist true |
| |
| -trimRight |
|
Leerzeichen am Zellenende werden ignoriert wenn 1 (true)
als Wert für die Option angegeben wird. Beispiel: aus
" 1 2 "
wird " 1 2". Standard ist true |
| |
| -trunc |
|
Leere Zellen am Zeilenanfang und -ende werden
unterdrückt
wenn 1 (true) als Wert für die Option angegeben
wird. Standard
ist false |
| |
| -truncStart |
|
Leere Zellen am Zeilenanfang werden unterdrückt wenn 1
(true) als Wert für die Option angegeben wird. Standard ist
false |
| |
| -truncEnd |
|
Leere Zellen am Zeilenende werden unterdrückt wenn 1
(true) als Wert für die Option angegeben wird. Standard ist
false |
| |
| -from |
|
Das Einlesen der Datei wird ab der angegebenen Zeile
(0-basierte
Zählung) begonnen. Diese Option ist nur für den Befehl import
verfügbar. Standard ist 0. |
| |
| -to |
|
Das Einlesen der Datei wird an der angegebenen Zeile
(0-basierte
Zählung) beendet. Diese Option ist nur für den Befehl import
verfügbar, wobei end für das Dateiende angegeben
werden kann. Standard
ist end. |
SYNTAX - Export
Für das Schreiben von
ASCII-Dateien stehen die Tcl-Befehle open,
puts und close zur Verfügung.
open fileName option
puts fileCmd
string
close fileCmd
open fileName option
|
|
Erstellt eine Datei oder öffnet diese, wenn existent.
Der
Rückgabewert des Befehls ist das Objektkommando fileCmd, das zur weiteren
Adressierung der Datei benötigt wird. Optionen:
w -
|
Datei anlegen. Existiert
sie, wird der Inhalt gelöscht.
|
a -
|
Datei öffnen zum
Anhängen eines Inhalts. Die Datei muss existieren.
|
|
|
puts fileCmd string
|
|
Hängt in der Datei mit dem Objektkommando fileCmd eine neue Ascii-Zeile an,
deren Inhalt dem String string
entspricht. Innerhalb des Strings sind Formatierungsanweisungen
zulässig (z.B.: \t - Tabulator; \n - Zeilenumbruch)
|
|
| close fileCmd |

|
Schließt die Datei mit dem Objektkommando fileCmd.
|
BEISPIELE
1. Erstellen einer Ascii-Datei
% set ergebnis "Job A:
19.10.2009 12:43 auf Maschine 5"
% set filecmd [open test.txt
w]
% puts $filecmd "Titel 1;Titel 2; Titel 3;"
% puts $filecmd "a \t\t\t b \t\t #c"
% puts $filecmd ";;;\$23 \n ;24
; 25"
% puts $filecmd $ergebnis
% close $filecmd
Die Datei test.txt enthält dann folgende Daten:
Titel 1;Titel 2; Titel 3;
a b
#c
;;;$23
;24 ; 25
Job A: 19.10.2009 12:43 auf Maschine 5
2. Lesen einer Ascii-Datei
% import ./test.txt -separators \; -trim false
{{Titel
1} {Titel 2} { Titel 3}} {{a
b
#c}} {{} {} {}
{$23 }} {{ } {24 } { 25}}
{{Job A: 19.10.2009 12:43 auf Maschine
5}}
% import ./test.txt -separators \; -from 1 -trim true
{{a b
#c}} {{} {} {} {$23}} {{}
24 25} {{Job A: 19.10.2009 12:43 auf Maschine 5}}
% import ./test.txt -separators \; -from 2 -to 2 -trim true -truncStart
true
{{$23}}
% import ./test.txt -separators \t
{{Titel 1;Titel 2; Titel 3;}} {a {} {} b {} #c} {{;;;$23}}
{{;24 ; 25}} {{Job A:
19.10.2009 12:43 auf Maschine 5}}
3. Parse
% parse {Zelle 1 + Zelle
2} -separators
+
{Zelle 1 } { Zelle 2}
% parse {Zelle 1 + Zelle 2} -separators + " "
Zelle 1 {} {} Zelle 2
% parse {Zelle 1 + Zelle 2} -separators + " " -ignoreRepeat true
Zelle 1 Zelle 2
% parse {Zelle 1 + Zelle 2} -separators + -trim true
{Zelle 1} {Zelle 2}
% parse {Zelle 1 + Zelle 2} -fixed 7 10 -trim true
{Zelle 1} + {Zelle 2}
% parse {[Zelle 1] + [Zelle 2]} -separators + " " -ignoreRepeat true
-string
\[ \]
{Zelle 1} {Zelle 2}
|
simcron MODELLER 3.4
Copyright © 2025 simcron
27.02.2025
|