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 sampleanklicken Next-Button- Project name:
dsuche Finish-Button
Damit ist das Projekt erstellt.
Projekt erkunden
- Linke Spalte:
Projectsanklicken - Es wird ein Ordner namens
dsuchesichtbar - auf das Symbol ">" klicken, dann klappt das Verzeichnis aus
- Im Unterverzeichnis
binliegt die Datei mit dem Hauptprogramm,dsuche.dart - Im Unterverzeichnis
libliegt 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.yamlDort 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 configurationklicken - 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
dsucheaufklappen, im Unterordnerbindie Dateidsuche.dartanklicken. - 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 dsuchedcompile dsuche
Danach gibt es die Datei c:\dev\bin\dsuche.exe
Dieses Programm kann in der Eingabeaufforderung gestartet werden.
gdev dsuche https?:// links.txt