Posts

Es werden Posts vom April, 2021 angezeigt.

Dart -- readAsString und readAsLines

Bild
In diesem Blog habe ich in der Vergangenheit schon Posts über Dateioperation in Dart geschrieben. Aber um das Wissen aufzufrischen, ist es nie verkehrt sich das Thema noch einmal anzusehen. Wichtig dabei sind die Begriffe synchron und asynchron . Nehmen wir an, wir schreiben eine Funktion und diese gibt ein Ergebnis zurück. Nur gibt sie dieses Ergebnis nicht sofort zurück, sondern wir wissen eigentlich nicht genau, wie lange es dauern wird, bis wir das Ergebnis erhalten. Beispiel: Wenn wir ein kleines File komplett einlesen, dürfte das schneller gehen, als bei einer sehr großen Datei. Wenn wir darauf warten , bis das File komplett eingelesen ist, programmieren wir synchron . Wir blockieren das Programm, bis die File-Operation abgeschlossen ist. Wenn wir NICHT darauf warten , bis das File komplett eingelesen ist, programmieren wir asynchron . Die nächsten Befehle in unserem Code werden ausgeführt. In diesem Kontext ist auch Future zu verstehen. Eine Variable die so deklariert wird, er

Dart für Anfänger 1.9 Kontrollstrukturen - noch mehr Kontrolle

Bild
In dieser kleinen Reihe hatten wir uns bereits mit switch , while und do beschäftigt. In diesem Post starten wir mit if und for . Beide sind in sehr vielen Programmiersprachen implementiert. Die Dart Version bietet hier keine großen Überraschungen.  if if kann man übersetzen mit: "Wenn die Bedingung wahr ist, dann mache folgendes, sonst mach etwas anderes."   Ein Code Beispiel verdeutlicht das: void main() { int a = 5 ; if (a == 5 ){ // ist true print(a); // es wird 5 in das Terminal gedruckt } else if (a == 6 ){ // ist false und kommt nicht zur Anwendung print(a); } else { print( 'Fehler' ); // die Default Variante für false } } Im Code oben sehen Sie ein Konstrukt, das sowohl if, else if und else enthält. Den Code kann man so lesen: "Wenn a gleich 5 ist, drucke a in das Terminal und verlasse das if Konstrukt, sonst prüfe ob a gleich 6 ist, wenn ja drucke a in das Terminal und verlasse das if K

Bootstrap Html und Co 3 - erste Schritte

Bild
  Im letzten Post hatten wir uns das Template angeschaut, welches Bootstrap auf seiner Homepage zur Verfügung stellt. Wir sind ein wenig auf Html eingegangen, ohne aber wirklich ausführlich zu werden. In diesem Post nehmen wir das Template als Grundlage für die ersten Schritte ! Wenn man sich in ein neues Thema einarbeitet stellt sich die Frage: Woher bekomme ich verlässliche Informationen dazu ? Im Fall von Bootstrap ist die Homepage der natürliche erste Anlaufpunkt . Was Html betrifft gibt es einiges an Auswahl. Ich persönlich bevorzuge Selfhtml-Wiki . Es ist in deutscher Sprache und wie ich finde, ansprechend gestaltet. Mit dem Template lernen Wenn Sie das Template in Visual Studio Code , mit der Erweiterung LiveServer , im Browser anzeigen lassen, ist das Ergebnis wenig begeisternd. Das ist aber auch ok, das Template ist in erster Linie dazu gedacht, das einbinden der Bootstrap Dateien in ein eigenes Html File zu zeigen. Im letzten Post haben wir auch festgestellt, das die ei

Dart für Anfänger 1.8 Kontrollstrukturen while und do

Bild
  Im letzten Post hatten wir uns switch näher angesehen. Sie erinnern sich, Kontrollstrukturen dienen dazu, eine Programmlogik zu implementieren. Tue das , wenn die Bedingung wahr ist, tue das, wenn die Bedingung falsch ist usw.  while hat eine Schwesterkonstrukt, das sehr ähnlich funktioniert do . Für die Codebeispiele verwenden Sie am besten das DartPad . While while( Ausdruck wahr ist){ führe die Anweisungen aus } While , was man auch mit während übersetzen kann, der Ausdruck wahr ist, werden die Anweisungen im {...} Block ausgeführt. Beispiel: void main() { int a = 0 ; while (a < 4 ){ print(a); a++; } } Sie sehen oben auch eine wichtige Tatsache: Sie müssen selbst dafür sorgen das der Ausdruck falsch wird. Die integer Variable haben Sie mit 0 initialisiert. Im Codeblock der while Schleife erhöhen sie diese mit a++ jeweils um 1. Genau vier Mal wird der Ausdruck in der while(..) Schleife wahr sein. 0,1,2,3, bei 4 ist er falsch und der Codebl

Bootstrap Html und Co 2 - das Template

Bild
  Auf der Bootstrap Homepage wird ein Template zur Verfügung gestellt, das einen einfachen Start ermöglicht.  Als Einstieg schauen wir uns dieses im Detail an. Der erste wichtige Punkt in Html ist die Funktionsweise von Tags .  Diesen englischen Begriff könnten wir auch mit Schlüsselwörter übersetzen. Ähnlich zu Programmiersprachen kann man diese Schlüsselwörter als Befehle verstehen. Ein Tag wird immer geöffnet <Tag> und mit wenigen Ausnahmen auch immer geschlossen </Tag> . Alles was sich dazwischen befindet, ist von der Funktionsweise des Tags betroffen. <!doctype html>   Mit diesem Text teilen Sie dem Browser mit, das er ein Html5 Dokument verarbeiten soll. Im Umkehrschluss heisst das aber auch, das es noch andere doctype Angaben gibt. Mit diesen kann man zum Beispiel SVG Dokumente deklarieren oder ältere Html Versionen. doctype an sich ist kein Html Tag und wird auch nicht geschlossen . <html>... </html> Mit diesen zwei Tags, öffnendes und schlie

Bootstrap Html und Co 1 - der erste Kontakt

Bild
  Wer sich frisch in das Thema Web einarbeitet kommt unweigerlich mit Html in Kontakt. Jüngere Semester übersehen dabei gerne, das Html schon älteren Datums ist. Was man auch an der aktuellen Versionsnummer von 5.2 (2017) sehen kann.  Eine Sprache zum auszeichnen ! Html selbst ist eine Auszeichnungssprache. Mit ihr können elektronische Dokumente erstellt, formatiert und in Webbrowsern dargestellt werden. Formatiert wird dabei nicht nur Text , sondern auch Bilder , Links in das Internet und anderes mehr. Der wesentliche Unterschied zu einer Programmiersprache ist, das Html nicht für Berechnungen oder das Umsetzen einer Programmlogik gedacht ist.  Aber ohne richtigen Code geht es auch nicht Schnell hat sich aber gezeigt, das in diesen Html Dokumenten Platz und auch Bedarf für realen Code besteht. Mit Ihm werden die Dinge umgesetzt, für die Html von Hause aus nicht geeignet ist. Am weitesten verbreitet und unterstützt wird   Javascript . Wie der Name schon anzeigt eine Scriptsprache

Dart für Anfänger 1.8 Kontrollstrukturen switch

Bild
Dart   Jedes größere Programm benötigt Kontrollstrukturen . In dieser Postreihe sind wir bereits auf die Variablen Typen integer und double eingegangen. Wieso jetzt nicht mit den verbleibenden Typen weiter machen ? Wir werden in diesem Post beides machen. Es ermöglicht interessantere Beispiele und ist abwechslungsreicher ! Kontrollstrukturen Programmieren heisst nicht nur Abläufe anstoßen, sondern auch auf Ergebnisse reagieren. Starten Sie deshalb mit Visual Studio Code und diesem einfachen Code: import 'dart:io' ; String eingabe; void main(List < String > arguments) { eingabe = stdin . readLineSync(); } Wenn Sie schon andere Posts aus dieser Reihe gelesen haben, sollte Ihnen das bekannt vorkommen. Zum Start binden wir die dart:io Bibliothek ein. Anschliessend definieren wir eine String Variable.  Mit stdin.readLineSync(.. ) lesen wir eine Eingabe aus dem Terminal und weisen diese der Variable zu. Wandeln wir nun dieses Beispiel ab zu: import 'dart:io

Dart für Anfänger 1.7 double Variable

Bild
Dart In dieser Reihe zu Dart haben wir uns schon mit der integer Variable beschäftigt. Wie sicherlich bekannt, verwenden Sie die integer Variable für ganze Zahlen. In diesem Post geht es jetzt um die double Variable . Sie ermöglicht uns, die Verwendung von Gleitkommazahlen .  Der Beispielcode in diesem Post werden wir im DartPad erstellen. Um das ganze ein wenig interessanter zu machen, werden wir gleichzeitig auch noch einmal die integer Variable im Code berücksichtigen. double.parse(..) // int.parse(..) Der Umgang mit Zeichenketten ist Alltag beim Programmieren. Damit man mit einer Zeichenkette, die eine Zahl darstellt auch rechnen kann, muss man sie in den entsprechenden Typ umwandeln: void main() { int eineGanzeZahl; double eineGleitkommaZahl; eineGleitkommaZahl = double . parse( '3.678' ); eineGanzeZahl = int . parse( '22' ); print (eineGleitkommaZahl); print (eineGanzeZahl); } Sowohl double.parse , als auch int.parse erfüllen diesen Zweck