BaselScript


× SPRACHE NACHRICHTEN BEISPIELE BEISPIELFILME INSTALLATION IMPRESSUM DATENSCHUTZ SUPPORT -------------- BESCHREIBUNG Einführung BASEL-Sprache Grundkenntnisse    • Feld auch Variable    • Array    • Hash-Array    • Mathem. und Vergleichsoperatoren    • Bedingungen    • Schleife    • Timer    • Datei    • Datensatz    • Verzeichnis    • Menu    • Dialog    • ListView (Ansichtsliste)    • Form Arbeiten mit Skripten    • Skripte    • Scriptstruktur    • Aufruf eines Skriptes    • Skript starten    • Skript beim Start der Anwendung starten    • Szene    • Szene Deklaration    • Szene laden und starten Arbeiten mit Feldern    • Feldwert speichern    • Feldwert wiederherstellen Arbeiten mit Arrays    • Hash-array Arbeiten mit Verzeichnissen    • Standardverzeichnisse    • Unterverzeichnis erstellen    • Unterverzeichnis löschen    • Verzeichnisinhalt Arbeiten mit Dateien    • Dateistruktur deklarieren    • Datei in Speicher einlesen    • Datensatz in Datei schreiben    • Datei speichern    • Eine Datei in eine andere Datei umschreiben    • Datei umbenennen    • Datei kopieren    • Datensätze löschen    • Datei löschen    • Eingabe in Datei aus dem Skript    • Anzahl ausgewählter Datensätze    • Datensatz N lesen    • Verschlüsseln    • Dateien zusammenführen    • Update file    • Datensätze zusammenführen    • Space reduzieren    • Teilstring in Datei ersetzen    • Datensatz nach ausgewähltem einfügen    • Neuen Datensatz vor ausagewähltem hinzufühgen Arbeiten mit Bildschirm    • Erklärungen    • Form oder Formular       •• Tile = text       •• Tile = input       •• Tile = button       •• Tile = rectangle       •• Tile = image       •• Tile = radiobutton       •• Tile = checkbox       •• Tile = togglebutton       •• Tile = seekbar       •• Tile = property       •• Property-Beispiel       •• Tile-Anweisungen    •  Dialog    • List view    • Menü    • Message/print    • Trace Arbeiten mit Grafik    • Draw image    • Draw line    • Draw rectangle    • Draw circle    • Draw ellipse    • Draw text    • Draw polygon    • Draw point Arbeit mit Sound Arbeit mit Musik Vibration Arbeit mit Server    • Image herunterladen    • Stream als csv-Datei herunterladen    • Sound herunterladen    • mp3-Datei herunterladen    • String von URL herunterladen    • Anweisungen nach Download    • Datei auf Server hochladen Aufruf einer Webseite Programm aus dem Skript ausführen Notifications Funktionen    • Allgemeine Funktionen    • String funktionen    • Math Funktionen    • Date Funktion    • Array-Funktionen    • File-Funktionen    • Verzeichnis-Funktionen    • Grafikfunktionen    • Form funktionen    • Tabellenfunktionen Google Maps App für Android    • Ort zeigen    • Suche nach Orten    • Navigation Mehrsprachige Skripte Skript erstellen.    • Skript mit dem Texteditor erstellen    • Skript auf PC erstellen    • Skript mithilfe von Vorlagen erstellen    • Skript mit Assistent erstellen    • Formularassistent    • Dialogassistent    • Menüassistent Registrierung und Login    • Meine Skripte Klonen des Android-Interpreters Copy script from Download Festlegen von Standardgrößen Mögliche Probleme beim Ausführen von Skripten    • Clinch-Situation    • Programm hängt    • Skriptstart und keine Änderungen sichtbar Reservierte Namen Globale Variable Standardparameter für Szenenkomponenten Einstellungen Liste der Unicode-Zeichen Fehlerdiagnose Einige Vergleiche bekannter Skriptsprachen mit BaselScript    • Menu    • Dialog    • List View    • Form    • Download file    • Draw circle ...
Beschreibung

                 

Hash-array

Hash-array ist ein assoziatives Array, in dem Paare "Schlüssel => Wert" gespeichert werden.
Für solche Arrays werden folgende Operationen unterstützt:
- Paar hinzufügen
- nach einem Paar per Schlüssel suchen
- Paar per Schlüssel löschen

Ein assoziatives Array erlaubt keine Paare mit denselben Schlüsseln!

Der BaselScript-Interpreter kann bis zu 5 solcher Arrays gleichzeitig verwenden.
Arrays werden automatisch nach Schlüsseln sortiert.
Bevor man ein Array in einem Skript verwenden, sollte man dessen Inhalt löschen, andernfalls bleiben die
in den vorherigen Skripten festgelegten Werte im Array.
Mit den Befehlen "clear memory" oder "clear hach_array" werden alle Arrays gelöscht.

Befehle mit hash-array:

Hash-array löschen:
clear hach_array=n
wo n Arraynummer ist.

Paarwerte eingeben
set hash_array=1 key=field/constante value=field/constante [mode=list]
Wenn der Schlüssel bereits existiert und mode=list gesetzt ist, addiert sich der neue Wert zum vorhandenem Paar mit demselben Schlüssel (KEY WERT1,WERT2).

Beispiel für Verwendung "mode = list":
Im Array existiert schon ein Paar "Werkzeug => Hammer".
Es wird ein Paar "Werkzeug => Schraubenzieher" hinzugefügt.
In dem Array wird das Paar "Werkzeug => Hammer, Schraubenzieher" gespeichert.
Ohne "mode = list" kommt dieses Paar "Werkzeug => Schraubenzieher" nicht ins Array,
da der Schlüssel bereits exisiert.

Eingabe des Paarwertes aus einfachen Arrays:
set hash_array=N from_arrays=keys_array, values_array

Beispiel:

set hash_array=1 from_arrays=#countries_array,#capitals_array

Paar aus Array entfernen:
remove hash_array=1 key=field/constante

Beispiel:
remove hash_array=1 key="Italy"

Paarauswahl nach Schlüsselwert:
#field = $hash_array(n,key)
n - Arraynummer

Beispiel:
#country = Qatar
#capital = $hash_array(n,#country)

Hash-Array in einfache eindimensionale Arrays kopieren.
Diese Arrays werden automatisch erstellt:

copy hash_array=n key_to=array_name1 value_to=array_name2
n - Arraynummer

Beispiel 1:

Unsere Aufgabe ist, eine assoziative Anordnung zu schaffen, in der Hauptstädte für drei Länder angegeben sind. Dann müssen wir die Hauptstadt per Name eines Landes auswählen.

Ausgangsdaten:

spain -> madrid
germany -> berlin
italy -> rom


scene=1 name="hash array"

section init
    // hash-array N 1 löschen
    clear hach_array=1
    #val3=rom

    // Paarwerte eingeben
    set hash_array=1 key=spain value=madrid
    set hash_array=1 key=germany value=berlin
    set hash_array=1 key=italy value=#val3

    // Haupstadt wählen
    #capital= $hash_array(1,italy)

    // Ausgabe
    message #capital

    // Ergebnis = rom

end section
end scene 1

Beispiel 2:

Unsere Aufgabe ist, ein assoziatives Array zu erstellen, in das die Paare "country => capital"
aus der Datei eingelesen werden.
Dann müssen wir den Namen des Landes anfordern und nach der Hauptstadt suchen.

Ausgangsdaten:

Die Datei example_countries.csv
Verzeichnis: #_directory_files_examples

Inhalt:

Albania;Tirana;ALB;albania.png
Algeria;Algiers;DZA;algeria.png
...
United States;Washington;USA;united_states.png
Uruguay;Montevideo;URY;uruguay.png


Skript:
-------------------------------------------------------------------
scene=1 name="hash array"

section init
    clear hash_array=1

    // file descriptor
    file name=example_countries.csv record=(#countries,#capitals) directory=#_directory_files_examples

    // read file in arrays #countries_array and #capitals_array
    read file=example_countries.csv

    // copy keys and values from arrays to hash array 1
    set hash_array=1 from_arrays=#countries_array,#capitals_array

    // call dialog for search capital
    call dialog=dia

end section
-------------------------------------------------------------
dialog dia
    // set title
    tile=title text="Please enter country name"
    // set text
    tile=text name="t1" text="e.g. France etc." color=#777777 style=italic size=25
    // input in the field #country
    tile=input name=#country

    tile=button text=search section=search
    tile=button text=x section=back
end dialog

section search
    // get value for key = #country
    #capital= $hash_array(1,#country)
    message #capital
end section

end scene 1