Dateiverwaltung - Cinderella Dokumentation
Description: The user's guide to the Interactive Geometry Software Cinderella

Zum Inhalt

# Dateiverwaltung

Es gibt eine Reihe von Operationen, die die Interaktion von CindyScript mit Dateien ermöglichen, die an anderer Stelle auf dem Computer gespeichert sind. Beachten Sie, dass diese Befehle nicht mit Applets in HTML-Seiten funktionieren.

### Dateien lesen

#### Daten laden: `load(<string>)`

Beschreibung: Dieser Operator nimmt das Argument `<string>` entgegen, das als Dateiname (möglicherweise mit vorangehenden Verzeichnisinformationen) angesehen wird. Wenn der Dateiname gültig ist, werden alle Informationen in der Datei als String zurückgegeben. Dieser Operator ist besonders nützlich zusammen mit dem `tokenize`-Operator, der hilft, strukturierte Daten zu analysieren. Die Daten werden aus dem aktuellen aktiven Verzeichnis gelesen, das mit dem `setdirectory`-Operator eingestellt werden kann.

Beispiel: Angenommen, die Datei `LoadDemo.txt` enthält die Daten

`abc,gfdg;1,3,5.6,3.141;56,abc,xxx,yyy`

Der folgende Code liest die Daten und erstellt eine Liste, indem er sie in Bezug auf ";" und "," tokenisiert.

    x=load("LoadTest.txt");
    y=tokenize(x,(";",","));
    apply(y,println(#));

Die resultierende Ausgabe ist

    [abc,gfdg]
    [1,3,5.6,3.141]
    [56,abc,xxx,yyy]

#### Programmcode importieren: `import(<string>)`

Beschreibung: Dieser Operator nimmt das Argument `<string>` entgegen, das als Dateiname (einschließlich Verzeichnisinformationen) angesehen wird. Wenn der Dateiname gültig ist, wird angenommen, dass der gesamte Inhalt der Datei durch CindyScript-Code geparst werden kann, und er wird sofort ausgeführt. Auf diese Weise können Bibliotheken mit vordefinierter Funktionalität geladen werden. Es ist ratsam, den `import`-Operator nur im Abschnitt "Init" von CindyScript zu verwenden, da sonst die Datei bei jedem Zug gelesen wird.

#### Verzeichnis einstellen: `setdirectory(<string>)`

Beschreibung: Dieser Operator setzt das Verzeichnis für alle nachfolgenden Dateivorgänge.

### Dateien schreiben

Es ist auch möglich, Dateien durch eine Abfolge von CindyScript-Befehlen zu schreiben. Der übliche Zyklus zum Schreiben ist: Öffnen Sie eine Datei — schreiben Sie darin — schließen Sie die Datei. Dies kann mit den folgenden Befehlen durchgeführt werden.

#### Eine Datei öffnen: `openfile(<string>)`

Beschreibung: Öffnet eine Datei mit dem angegebenen Namen. Die Funktion gibt ein Handle zur Datei zurück, das für nachfolgende Druckoperationen erforderlich ist.

#### Println in eine Datei: `println(<file>,<string>)`

Beschreibung: Identisch mit dem `println(...)`-Befehl. Dieser Befehl druckt jedoch in die durch `<file>` angegebene Datei.

#### Drucken in eine Datei: `print(<file>,<string>)`

Beschreibung: Identisch mit dem `print(...)`-Befehl. Dieser Befehl druckt jedoch in die durch `<file>` angegebene Datei.

#### Datei schließen: `closefile(<file>)`

Beschreibung: Dieser Befehl schließt die Datei endgültig.

Beispiel: Das folgende Beispiel zeigt einen Dateischreib-Zyklus:

    f=openfile("myFile");
    println(f,"Here are some numbers");
    forall(1..15,print(f,#+" ");
    println(f,"");
    closefile(f);

Dieser Code erzeugt eine Datei mit folgendem Inhalt:

    Here are some numbers
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

### Verbindung zu HTML

#### Eine Webseite öffnen: `openurl(<string>)`

Beschreibung: Öffnet einen Browser mit der Webseite, die in angegeben ist.

#### JavaScript aufrufen: `javascript(<string>)`

Beschreibung: In exportierten Applets ruft diese Anweisung eine Anweisung in der Javascript-Umgebung des Browsers auf. Die Anweisung wird durch den Inhalt des `<string>` angegeben. In der eigenständigen Anwendung macht diese Anweisung nichts.

Beispiel: Das folgende Skriptstück verursacht, dass sich ein Nachrichtenfenster im Browser öffnet:

      javascript("alert('Hi from Cinderella!!')");

### Netzwerkverbindungen

Die TCP-Befehle von Cinderella sind bestenfalls rudimentär, aber sie bieten die grundlegende Funktionalität, die für einfache Netzwerke notwendig ist. Sie sollten Daten über das Internet senden und abrufen können.

#### Einen TCP-Port öffnen: `openconnection(<string>,<int>)`

Beschreibung: Öffnet eine bidirektionale TCP-Verbindung zum Server, der durch das erste Argument angegeben ist, und zum Port, der durch das zweite Argument angegeben ist. Der Rückgabewert ist ein Handle für diese Netzwerkverbindung.

Beispiel: Im folgenden Beispiel öffnen wir eine Verbindung zu einem Webserver und lesen den HTML-Code von dort.

    x=openconnection("cermat.org",80);
    println(x,"GET /");
    y="";
    while(!isundefined(y),y=readln(x);println(y));
    closeconnection(x);

#### In eine TCP-Verbindung schreiben: `print(<handle>,<string>)`

#### In eine TCP-Verbindung schreiben: `println(<handle>,<string>)`

Beschreibung: Die Funktionen `print` und `println` unterstützen nicht nur das Schreiben in eine Datei, sondern auch in eine Netzwerkverbindung, die durch `openconnection` erstellt wird.

#### Ausgabepuffer spülen: `flush(<handle>)`

Beschreibung: Leert den Ausgabepuffer der angegebenen Verbindung.

#### Aus einer TCP-Verbindung lesen: `readln(<handle>)`

Beschreibung: Liest eine Zeile aus der angegebenen Verbindung. Wenn keine Daten gelesen werden können, erfolgt ein Timeout für diesen Befehl nach 5 Sekunden.

#### Eine TCP-Verbindung schließen: `closeconnection(<handle>)`

Beschreibung: Schließt die durch das Handle angegebene Verbindung.

Diese Seite wurde automatisch mit KI (Claude) übersetzt und wartet noch auf Überprüfung. → Alle KI-übersetzten Seiten