Projekt DSuche: Unterschied zwischen den Versionen
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 24. Dezember 2020, 23: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 Dateidsuche.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 Unterordnerbin
die Dateidsuche.dart
anklicken. - Program arguments:
- Windows:
https?:// c:\dev\links.txt
- Linux:
https?:// ~/dev/links.txt
- Windows:
- 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