28 lines
1.3 KiB
ObjectPascal
28 lines
1.3 KiB
ObjectPascal
const
|
|
Morse = dict(('A', '.-'), ('B', '-...'), ('C', '-.-.'), ('D', '-..'), ('E', string('.')),
|
|
('F', '..-.'), ('G', '--.'), ('H', '....'), ('I', '..'), ('J', '.---'),
|
|
('K', '-.-'), ('L', '.-..'), ('M', '--'), ('N', '-.'), ('O', '---'),
|
|
('P', '.--.'), ('Q', '--.-'), ('R', '.-.'), ('S', '...'), ('T', string('-')),
|
|
('U', '..-'), ('V', '...-'), ('W', '.--'), ('X', '-..-'), ('Y', '-.--'),
|
|
('Z', '--..'), ('0', '-----'), ('1', '.----'), ('2', '..---'), ('3', '...--'),
|
|
('4', '....-'), ('5', '.....'), ('6', '-....'), ('7', '--...'), ('8', '---..'),
|
|
('9', '----.'), ('.', '.-.-.-'), (',', '--..--'), ('?', '..--..'), ('\', '.----.'),
|
|
('!', '-.-.--'), ('/', '-..-.'), ('(', '-.--.'), (')', '-.--.-'), ('&', '.-...'),
|
|
(':', '---...'), (';', '-.-.-.'), ('=', '-...-'), ('+', '.-.-.'), ('-', '-....-'),
|
|
('_', '..--.-'), ('''', '.-..-.'), ('$', '...-..-'), ('@', '.--.-.'));
|
|
|
|
procedure SayMorse(s: string);
|
|
begin
|
|
foreach var c in s do
|
|
begin
|
|
foreach var c2 in Morse.get(c.ToUpper, '') do
|
|
if c2 = '.' then console.Beep(1000, 250)
|
|
else console.Beep(1000, 750);
|
|
sleep(1000);
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
SayMorse('SOS');
|
|
end.
|