﻿;-- TIME_STAMP   2021-01-04 13:59:25   v 0.1


Opt('MustDeclareVars', 1)

#include "Morse.au3"

_Example_1()
_Example_2()

Func _Example_1()
	_Morse_SetUnit(100) ; Basis-Einheit der Morsesequenzen festlegen (ms)

	Global $g_hGui = GUICreate('Morsen', 700, 400)
	_Morse_RegisterGui($g_hGui) ; Gui registrieren, nur wenn diese Gui aktiv ist, wird R-CTRL als Morsetaste ausgewertet
	GUICtrlCreateLabel('Erkannte Morsezeichen', 10, 15)
	Global $inMorseReceived = GUICtrlCreateInput('', 10, 30, 680, 30, BitOR($ES_LEFT, $ES_AUTOHSCROLL, $ES_READONLY))
	GUICtrlSetBkColor(-1, 0x000090)
	GUICtrlSetColor(-1, 0xFFFF00)
	GUICtrlSetFont(-1, 14, 600, Default, 'Consolas')
	_Morse_RegisterRawIn($inMorseReceived) ; Input registrieren zur Ausgabe der erkannten Morsezeichen
	GUICtrlCreateLabel('Entspricht Klartext', 10, 80)
	Global $inTextReceived = GUICtrlCreateInput('', 10, 95, 680, 30, BitOR($ES_LEFT, $ES_AUTOHSCROLL, $ES_READONLY))
	GUICtrlSetBkColor(-1, 0x000090)
	GUICtrlSetColor(-1, 0xFFFF00)
	GUICtrlSetFont(-1, 12)
	_Morse_RegisterDecodeIn($inTextReceived) ; Input registrieren zur Ausgabe der aus den Morsezeichen dekodierten Textzeichen
	GUICtrlCreateLabel('Erfasste Tastendruck- und Pausenlängen. MORSETASTE ist <STRG-RECHTS>.', 10, 145)
	Global $edButtonReceived = GUICtrlCreateEdit('', 10, 160, 680, 200, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
	GUICtrlSetBkColor(-1, 0xFFFFFF)
	GUICtrlSetFont(-1, 9, Default, Default, 'Consolas')
	_Morse_RegisterLog($edButtonReceived, 8) ; Edit registrieren zum Loggen DOWN/UP-Zeiten, nach 8 Aufrufen (je 4 DOWN und UP) erfolgt Zeilenumbruch

	; individuelle Darstellung der Zeichen- und Wortpausen im erkannten Morsecode ($inMorseReceived)
	_Morse_SetCharacterCharBreak('°') ; Standard: ' '
	_Morse_SetCharacterWordBreak('^') ; Standard: '  '

	GUISetState()

	While True
		Switch GUIGetMsg()
			Case -3
				Exit
		EndSwitch
	WEnd
EndFunc

Func _Example_2()
	Local $sEncrypt = _Morse_EnCrypt('AutoIt ist eine leicht zu lernende Programmiersprache. Besonders leicht lassen sich damit wiederkehrende Aufgaben unter Windows automatisieren.')
	ConsoleWrite('als Morsecode:' & @CRLF & $sEncrypt & @CRLF)
	_Morse_Beep($sEncrypt, True)  ; Audioausgabe und zusätzlich Console
EndFunc
