How to concatenate strings from multiple push button?

6 visualizzazioni (ultimi 30 giorni)
Hey, I want a gui with four push buttons. Say, push button 1 gives an output of A, pb2 B, pb3 C and pb4 D. What I want to do is, I like to concatenate each letter in one string. That is, everytime a push button is pressed, it will add the new letter to the string. For example, pb1 pb2 pn3 pb4 the output should be A B C D thanks!
  1 Commento
Mark Jecel Rapir
Mark Jecel Rapir il 9 Ago 2018
function varargout = checker(varargin) % CHECKER MATLAB code for checker.fig % CHECKER, by itself, creates a new CHECKER or raises the existing % singleton*. % % H = CHECKER returns the handle to a new CHECKER or the handle to % the existing singleton*. % % CHECKER('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in CHECKER.M with the given input arguments. % % CHECKER('Property','Value',...) creates a new CHECKER or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before checker_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to checker_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 checker
% Last Modified by GUIDE v2.5 09-Aug-2018 12:49:59
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @checker_OpeningFcn, ... 'gui_OutputFcn', @checker_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 checker is made visible. function checker_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 checker (see VARARGIN)
% Choose default command line output for checker handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% UIWAIT makes checker wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = checker_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;
% --- Executes on button press in A.
function A_Callback(hObject, eventdata, handles)
% hObject handle to A (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.out, 'String', 'A');
% --- Executes on button press in B. function B_Callback(hObject, eventdata, handles) % hObject handle to B (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.out, 'String', 'B');
% --- Executes on button press in C. function C_Callback(hObject, eventdata, handles) % hObject handle to C (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.out, 'String', 'C');
% --- Executes on button press in D. function D_Callback(hObject, eventdata, handles) % hObject handle to D (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.out, 'String', 'D');
This is my program, but still I cant concatenate the values, save the current string and update it to a one whole string

Accedi per commentare.

Risposte (2)

KSSV
KSSV il 8 Ago 2018
pb1 = 'A' ;
pb2 = 'B' ;
pb3 = 'C' ;
pb4 = 'D' ;
S = [pb1,' ',pb2,' ',pb3,' ',pb4] ;
  2 Commenti
Mark Jecel Rapir
Mark Jecel Rapir il 9 Ago 2018
I know this, but I cannot implement it on a gui pushbutoon
Mark Jecel Rapir
Mark Jecel Rapir il 9 Ago 2018
Its like a panel, getting inputs from pushbuttons but continously saving and editing an output string

Accedi per commentare.


Walter Roberson
Walter Roberson il 9 Ago 2018
Modificato: Walter Roberson il 9 Ago 2018
Initialize:
handles.currentstring = '';
guidata(hObject, handles)
Then you can use the same callback code for all four pushbuttons:
function pushbuttonA_callback(hObject, event, handles)
handles.currentstring = [handles.currentstring hObject.String];
guidata(hObject, handles);
  2 Commenti
Walter Roberson
Walter Roberson il 9 Ago 2018
If you are using GUIDE, then put
handles.currentstring = '';
into the OpenFcn_Callback, and make sure that callback ends with
guidata(hObject, handles)
Then, build the four pushbuttons, setting their String values to 'A', 'B', 'C', and 'D'. Configure the Callback associated with each one of them to contain
handles.currentstring = [handles.currentstring hObject.String];
guidata(hObject, handles);
in all four cases.
You would need slightly different code if you were using R2014a or earlier.

Accedi per commentare.

Categorie

Scopri di più su Entering Commands in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by