SimpleHelperTools/dart/bin/pause.dart
2024-08-31 01:07:03 -07:00

43 lines
952 B
Dart

import 'dart:io';
import 'package:libac_dart/utils/IOTools.dart';
String getKeyPress() {
bool ret = false;
String str = "";
while (!ret) {
// Disable line mode to capture a single key press without requiring Enter
//stdin.echoMode = false;
stdin.lineMode = false;
// Read a single byte from stdin
int byte = stdin.readByteSync();
// Restore line mode and echo mode to default settings
//stdin.echoMode = true;
stdin.lineMode = true;
// Return the character representation of the byte
str = String.fromCharCode(byte);
if (RegExp(r'^[A-Za-z]$').hasMatch(str)) ret = true;
}
return str;
}
Future<int> main() async {
await prnt("\rPress Any Key To Continue...");
// Listen for a key press
String key = getKeyPress();
// Erase the line by printing a new line
await prnt("\r\n");
// Check if the pressed key is 'Z'
if (key.toUpperCase() == 'Z') {
return 1;
}
return 0;
}