|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.12.2011, 18:43 | #1 |
Пользователь
Регистрация: 12.11.2011
Сообщений: 12
|
Дешифратор азбуки морзе
Помогите пожалуйста.Вот решил написать программу которая б переводила текст по алфавиту азбуки морзе.
Скачал алфавит азбуки морзе,сделал оболочку программы.Только вот проблема как сделать чтоб после нажатия на кнопку вместо,допустим А выводилось .- Фактически я понимаю как,но программно не получается. Спасибо |
23.12.2011, 18:49 | #2 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Часть кода покажи где на клавишу нажимаешь?
Либо так в Events формы Код:
Последний раз редактировалось Aliens_wolfs; 23.12.2011 в 19:04. |
23.12.2011, 19:15 | #3 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
|
23.12.2011, 19:31 | #4 |
Пользователь
Регистрация: 12.11.2011
Сообщений: 12
|
Более подробное описание программы.
На форме размещено 2 компонента memo и между ними кнопка. Вводим любое слово в memo1 жмем на кнопку и в memo2 это слово отображается в виде .- Вот обработчик событий на кнопке правд еще не дописанный (я ток недавно увлекся программированием) procedure TForm1.btn1Click(Sender: TObject); var s,i:string ; begin s:=mmo1.text; i:=mmo2.text; mmo2.Text:=s; end; end. |
23.12.2011, 19:41 | #5 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
пишу в браузере так что с ошибками
типа такого: procedure TForm1.btn1Click(Sender: TObject); const Morse:array['a'..'x'] of string=('· −','− · · ·',...); var s1,s2:string; i:integer; begin s1:=mmo1.text; s2:=''; for i:=1 to length(s1) do if s1[i] in ['a'..'x'] then s2:=s2+Morse[s[i]] else //обработать спец символы mmo2.Text:=s2; end;
Не стесняемся, плюсуем!
|
23.12.2011, 19:52 | #6 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Если все буквы то в коде Slym поменяй строки ['a'..'x'] на ['a'..'z']
и еще один пример: Код:
Еще можешь в интернете найти кодировщики и переделать их под азбуку Морзе Последний раз редактировалось Aliens_wolfs; 23.12.2011 в 20:17. |
23.12.2011, 21:06 | #7 | |
Пользователь
Регистрация: 12.11.2011
Сообщений: 12
|
Цитата:
но вот попытался сделать дешефратор не вышло можете помоч? Вот код всей программы procedure TForm1.Btn1Click(Sender: TObject); const ColichBukw = 31; //Количество букв подставь нужное type MorzeCoder_t = record Bukwa: String; Code: String; end; const //прописываем букву и код ее MorzeCode: array[0..ColichBukw -1] of MorzeCoder_t = ( (Bukwa: 'А'; Code: ' .- '), (Bukwa: 'Б'; Code: ' -... '), (Bukwa: 'В'; Code: ' .-- '), (Bukwa: 'Г'; Code: ' --. '), (Bukwa: 'Д'; Code: ' -.. '), (Bukwa: 'Е'; Code: ' . '), (Bukwa: 'Ж'; Code: ' ...- '), (Bukwa: 'З'; Code: ' --.. '), (Bukwa: 'И'; Code: ' .. '), (Bukwa: 'Й'; Code: ' .--- '), (Bukwa: 'К'; Code: ' -.- '), (Bukwa: 'Л'; Code: ' .-.. '), (Bukwa: 'М'; Code: ' -- '), (Bukwa: 'Н'; Code: ' -. '), (Bukwa: 'О'; Code: ' --- '), (Bukwa: 'П'; Code: ' .-.- '), (Bukwa: 'Р'; Code: ' .-. '), (Bukwa: 'С'; Code: ' ... '), (Bukwa: 'Т'; Code: ' - '), (Bukwa: 'У'; Code: ' ..- '), (Bukwa: 'Ф'; Code: ' ..-. '), (Bukwa: 'Х'; Code: ' .... '), (Bukwa: 'Ц'; Code: ' -.-. '), (Bukwa: 'Ч'; Code: ' ---. '), (Bukwa: 'Ш'; Code: ' ---- '), (Bukwa: 'Щ'; Code: ' --.- '), (Bukwa: 'Ы'; Code: ' -.-- '), (Bukwa: 'Ь'; Code: ' -..- '), (Bukwa: 'Э'; Code: ' ..-.. '), (Bukwa: 'Ю'; Code: ' ..-- '), (Bukwa: 'Я'; Code: ' .-.- ')); var s:string ; i, a: integer; begin for i:=1 to Length(Mmo1.text) do for a:=0 to ColichBukw-1 do if AnsiUpperCase(Mmo1.text[i])=MorzeCode[a].Bukwa then S:=S+(MorzeCode[a].Code); Mmo2.Lines.Add(s); end; procedure TForm1.Btn2Click(Sender: TObject); const ColichBukw = 31; //Количество букв подставь нужное type MorzeCoder_t = record Code: String; Bukwa: String; end; const //прописываем букву и код ее MorzeCode: array[0..ColichBukw -1] of MorzeCoder_t = ( ( Code: ' .- ' ;Bukwa: 'А'), ( Code: ' -... ';Bukwa: 'Б', ( Code: ' .-- ' ;Bukwa: 'В'), ( Code: ' --. ' ;Bukwa: 'Г'), ( Code: ' -.. ' ;Bukwa: 'Д'), ( Code: ' . ' ;Bukwa: 'Е'), ( Code: ' ...- ';Bukwa: 'Ж'), ( Code: ' --.. ';Bukwa: 'З'), ( Code: ' .. ' ;Bukwa: 'И'), ( Code: ' .--- ';Bukwa: 'Й'), ( Code: ' -.- ' ;Bukwa: 'К'), ( Code: ' .-.. ';Bukwa: 'Л'), ( Code: ' -- ' ;Bukwa: 'М'), ( Code: ' -. ' ;Bukwa: 'Н'), ( Code: ' --- ' ;Bukwa: 'О'), ( Code: ' .-.- ';Bukwa: 'П'), ( Code: ' .-. ' ;Bukwa: 'Р'), ( Code: ' ... ' ;Bukwa: 'С'), ( Code: ' - ' ;Bukwa: 'Т'), ( Code: ' ..- ' ;Bukwa: 'У'), ( Code: ' ..-. ';Bukwa: 'Ф'), ( Code: ' .... ';Bukwa: 'Х'), ( Code: ' -.-. ';Bukwa: 'Ц'), ( Code: ' ---. ';Bukwa: 'Ч'), ( Code: ' ---- ';Bukwa: 'Ш'), ( Code: ' --.- ';Bukwa: 'Щ'), ( Code: ' -.-- ';Bukwa: 'Ы'), ( Code: ' -..- ';Bukwa: 'Ь'), ( Code: ' ..-.. ';Bukwa: 'Э'), ( Code: ' ..-- ';Bukwa: 'Ю'), ( Code: ' .-.- ';Bukwa: 'Я')); var s:string ; i, a: integer; begin for i:=1 to Length(Mmo1.text) do for a:=0 to ColichBukw-1 do if AnsiUpperCase(Mmo1.text[i])=MorzeCode[a].Bukwa then S:=S+(MorzeCode[a].Code); Mmo2.Lines.Add(s); end; end. |
|
23.12.2011, 21:15 | #8 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Второй раз кодеровку ( Code: ' .-.- ';Bukwa: 'Я')); не пиши
а измени код нужно сейчас прикину Нужно будет поменять код сейчас прикину Последний раз редактировалось Aliens_wolfs; 23.12.2011 в 21:20. |
23.12.2011, 21:46 | #9 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
я бы создал 2-х мерный массив:
Код:
Последний раз редактировалось Человек_Борща; 23.12.2011 в 21:54. |
23.12.2011, 21:50 | #10 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Можно и 2х мерном масиве но думаю он может запутаться и символы местами перепутать.
По поводу обратного декодирования. У него в одной букве несколько знаков и они разные по количеству, нужно тогда пробелом его кодовые знаки допустим в мемо отделять что бы конец символа поймать. Например .- может подставиться знак .-.- заместо А будет Я, или заместо Ш будет Щ разная длина кодировки у него. Было бы все по 4 знака было бы легче. С кодировкой в морзе проблем нет а вот обратно в буквы, немного нужно помудрить Последний раз редактировалось Aliens_wolfs; 23.12.2011 в 22:23. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Шифратор дешифратор текста | DeKot | Софт | 44 | 12.11.2013 22:13 |
Дешифратор | BuTeK48 | Помощь студентам | 2 | 10.11.2011 11:00 |
Лексический анализатор азбуки Морзе в виде конечного автомата | MrBrain | Помощь студентам | 1 | 08.11.2010 10:23 |
VBA.шифратор дешифратор | aleksa_202 | Помощь студентам | 1 | 13.03.2010 18:58 |
Шифратор и дешифратор по методу Грюнсфельда! | Dj_Tiger | Помощь студентам | 1 | 22.11.2008 22:23 |