How Do I Perform Decoding Morse Code Using GUI?
显示 更早的评论
function varargout = morsecodetranslator(varargin)
% MORSECODETRANSLATOR MATLAB code for morsecodetranslator.fig
% MORSECODETRANSLATOR, by itself, creates a new MORSECODETRANSLATOR or raises the existing
% singleton*.
%
% H = MORSECODETRANSLATOR returns the handle to a new MORSECODETRANSLATOR or the handle to
% the existing singleton*.
%
% MORSECODETRANSLATOR('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in MORSECODETRANSLATOR.M with the given input arguments.
%
% MORSECODETRANSLATOR('Property','Value',...) creates a new MORSECODETRANSLATOR or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before morsecodetranslator_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to morsecodetranslator_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help morsecodetranslator
% Last Modified by GUIDE v2.5 18-Apr-2021 14:40:40
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @morsecodetranslator_OpeningFcn, ...
'gui_OutputFcn', @morsecodetranslator_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before morsecodetranslator is made visible.
function morsecodetranslator_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to morsecodetranslator (see VARARGIN)
% Choose default command line output for morsecodetranslator
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes morsecodetranslator wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = morsecodetranslator_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
function wordinput_Callback(hObject, eventdata, handles)
% hObject handle to wordinput (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of wordinput as text
% str2double(get(hObject,'String')) returns contents of wordinput as a double
letters_input=get(hObject,'string');
handles.letters_input=letters_input;
guidata(hObject,handles);
% --- Executes during object creation, after setting all properties.
function wordinput_CreateFcn(hObject, eventdata, handles)
% hObject handle to wordinput (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in translatetomorse.
function translatetomorse_Callback(hObject, eventdata, handles)
% hObject handle to translatetomorse (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
input=char(get(handles.wordinput,'string')); %get string from edit text
input=upper(input); %change to capital
word_to_morse= '';
morse={'.----','..---','...--','....-','.....','-....','--...','---..','----.','-----','.-','-...','-.-.','-..','.','..-.','--.','....','..','.---','-.-','.-..','--','-.','---','.--.','--.-','.-.','...','-','..-','...-','.--','-..-','-.--','--..','/'};
number_and_letter={'1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',' '};
%Translation Formula/Steps
for i=1:length(input)
character = input(i);
[~, index] = ismember(character, number_and_letter);
if ~isempty(index)
if isempty(word_to_morse)
word_to_morse = morse{index};
else
word_to_morse = [word_to_morse ' ' morse{index}];
end
end
end
set(handles.morseoutput,'string',word_to_morse);
% --- Executes on button press in translatetoword.
function translatetoword_Callback(hObject, eventdata, handles)
% hObject handle to translatetoword (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
input=char(get(handles.wordinput,'string'));
input=upper(input);
morse={'.----','..---','...--','....-','.....','-....','--...','---..','----.','-----','.-','-...','-.-.','-..','.','..-.','--.','....','..','.---','-.-','.-..','--','-.','---','.--.','--.-','.-.','...','-','..-','...-','.--','-..-','-.--','--..','/'};
number_and_letter = ['1':'9', '0', 'A':'Z'];
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Graphics Object Properties 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!