Открыто
04.10.2014, 01:23
Разработать программу, которая позволяет манипулировать горячими клавишами. Горячая клавиша - клавиша или сочетание клавиш на клавиатуре, которому сопоставлено некоторое действие, команда.
Текстовый файл (или несколько), содержащий набор горячих клавиш и назначенных им команд. Пример:
Ctrl+Alt+Del = reset
Ctrl+C = copy
Ctrl+Ins = copy
Ctrl+V = paste
Shift+Ins = paste
Ctrl+X = cut
Shift+Del = cut
F1 = help
Клавиша рассматривается как отдельная строка. Сочетания Shift+Ctrl+L и Ctrl+Shift+L система должна воспринимать как эквивалентные горячие клавиши. Названия команд заданы как строки.
Разработать модуль, позволяющий манипулировать горячими клавишами. Модуль должен поддерживать следующую функциональность:
Варианты:
1) Даны два файла с наборами горячих клавиш и назначенных им команд. Загрузить файлы, распечатать, объединить, распечатать список конфликтов, объединенный результат записать в третий файл.
Пример вывода программы:
file1:
copy    Ctrl+C, Ctrl+Ins, 
paste   Ctrl+V, Shift+Ins, 
reset   Ctrl+Alt+Del, 
file2:
move    Ctrl+M, F6, 
copy    Ctrl+C, F5, 
search  Ctrl+V, F7, 
conflicts: 1
Ctrl+V
file3 = file1.merge(file2):
copy    Ctrl+C, Ctrl+Ins, F5, 
paste   Ctrl+V, Shift+Ins, 
reset   Ctrl+Alt+Del, 
move    Ctrl+M, F6, 
search  F7, 
2) Дан файл с набором горячих клавиш и назначенных им команд, а так же файл со списком горячих клавиш и команд которые нужно удалить. Загрузить оба файла, удалить горячие клавиши и команды, сохранить результат в третий файл.
Пример вывода программы:
file1:
copy    Ctrl+C, Ctrl+Ins, F5, 
paste   Ctrl+V, Shift+Ins, 
reset   Ctrl+Alt+Del, 
move    Ctrl+M, F6, 
search  F7, 
remove items:
Ctrl+Alt+Del
Ctrl+Ins
move
file2:
copy    Ctrl+C, F5, 
paste   Ctrl+V, Shift+Ins, 
search  F7,