Projekt DSuche: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
Zeile 73: Zeile 73:
Danach gibt es die Datei <code>c:\dev\bin\dsuche.exe</code>
Danach gibt es die Datei <code>c:\dev\bin\dsuche.exe</code>
Dieses Programm kann in der Eingabeaufforderung gestartet werden.
Dieses Programm kann in der Eingabeaufforderung gestartet werden.
<pre>gdev
dsuche https?:// links.txt
</pre>

Version vom 25. Dezember 2020, 01:11 Uhr

Zielsetzung

Es wir ein Kommandozeilenprogramm erstellt, das reguläre Ausdrücke in einer Datei sucht.

Kenntnisse

  • Projekt erstellen
  • Programmargument auswerten
  • Paket importieren
  • Datei lesen

Projekt erstellen

  • IdeaIC starten
  • Linke Spalte: "Projects" anklicken
  • "New Project"
  • Linke Spalte: "Dart"
  • Dart-SDK:
    • Windows: c:\dart-sdk
    • Linux: ~/dart-sdk
  • Es erscheint eine Listbox, dort Console-Application a command-line application sample anklicken
  • Next-Button
  • Project name: dsuche
  • Finish-Button

Damit ist das Projekt erstellt.

Projekt erkunden

  • Linke Spalte: Projects anklicken
  • Es wird ein Ordner namens dsuche sichtbar
  • auf das Symbol ">" klicken, dann klappt das Verzeichnis aus
  • Im Unterverzeichnis bin liegt die Datei mit dem Hauptprogramm, dsuche.dart
  • Im Unterverzeichnis lib liegt eine zweite Datei dsuche.dart, die ergänzenden Code enthält. In diesem Projekt brauchen wir diese Datei nicht. also löschen: Rechte Maustaste - Delete
  • ziemlich unten gibt es die Datei pubspec.yaml Dort werden Pakete eingetragen. In diesem Projekt brauchen wir nichts zusätzliches, daher bleibt die Datei unverändert.

Programmcode in dsuche.dart

Kopiere folgenden Code in die Datei bin\dsuche.dart

import 'dart:io';
/// Durchsuchen einer Datei nach einem regulären Ausdruck.
/// [args]: Programm-Argumente, z.B. [r'https?://', 'rechnung.txt']
void main(List<String> args) {
  if (args.length < 2){
    print('Gebrauch: dsuche <suchmuster> <date>\nBeispiel: dsuche "https?://" rechnung.txt');
  } else {
    final lines = File(args[1]).readAsLinesSync();
    RegExp regExp = RegExp(args[0], caseSensitive: false);
    for (var line in lines){
      if (regExp.firstMatch(line) != null){
        print(line);
      }
    }
  }
}

Programm in der Entwicklungsumgebung starten

  • In der Toolbar den grünen Hammer Add configuration klicken
  • Es geht eine Dialogbox auf: Oben links auf das + klicken
  • In der Liste Dart Command Line App
  • Name: dsuche
  • Dart file: Hier auf das Ordnersymbol in dem Textfeld klicken, dort Ordner dsuche aufklappen, im Unterordner bin die Datei dsuche.dart anklicken.
  • Program arguments:
    • Windows: https?:// c:\dev\links.txt
    • Linux: https?:// ~/dev/links.txt
  • Button Ok
  • Im Entwicklungsordner (Windows: c:\dev, Linux: ~/dev/) eine Datei links.html anlegen:
Dies ist eine Testdatei
Suchen geht mit https://google.com
Spezialwissen findet sich auf http://wikipedia.de
Hab Spaß mit Programmieren.

Programm compilieren

Windows

  • Eingabeaufforderung starten
  • gdev dsuche
  • dcompile dsuche

Danach gibt es die Datei c:\dev\bin\dsuche.exe Dieses Programm kann in der Eingabeaufforderung gestartet werden.

gdev
dsuche https?:// links.txt