Filter löschen
Filter löschen

How to accept only numbers in a edit text box?

23 Ansichten (letzte 30 Tage)
Nu9
Nu9 am 26 Aug. 2011
Kommentiert: Walter Roberson am 18 Dez. 2017
hi again, i need to input values at seven edit text box but i want to show a window withe erros alert when i input leters. using guide and callback functions it's easy but now i have this at the script:
Temp = uicontrol('style','edit',...
'units','pixels',...
'position',[25 364 101 31],...
'string','Inserir Temperatura.',...
'foregroundcolor','r',...
'callback',{@Temp_call});
pause(2)
S = get(0,'userdata');
str = '0';
set(Temp,'string',str,'foregroundcolor','k')
uicontrol(Temp)
function [] = Temp_call(varargin)
% Callback for secondary GUI editbox.
S = get(0,'userdata');
set(S.ed,'string',get(gcbo,'string')) % Set gui_passdata editbox string.
and with guide when i've done another project, i use this code:
input = str2num(get(hObject,'String'));
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject, handles);
can i use this code? i don't know how to use because there's no handles

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 26 Aug. 2011
Temp = uicontrol('style','edit',...
'units','pixels',...
'position',[25 364 101 31],...
'string','Inserir Temperatura.',...
'foregroundcolor','r',...
'callback','@Temp_call');
function Temp_call(src,eventdata)
str=get(src,'String');
if isempty(str2num(str))
set(src,'string','0');
warndlg('Input must be numerical');
end
  2 Kommentare
Jose Antonio  Salcedo Simon
Jose Antonio Salcedo Simon am 18 Dez. 2017
Bearbeitet: Walter Roberson am 18 Dez. 2017
Hi Fangjun,
I'm a little new, could you give me a more detailed example?
I have this code:
caja_lonsat= uicontrol('style','edit','Units','normalized','pos',tex(29,:),...
'ForegroundColor','black','String',num2str(lonsat,'%4.2f'),...
'Horizontalalignment','left',...
'Backgroundcolor','white','Fontsize',12);
What else do I need? Thanks so much.
Walter Roberson
Walter Roberson am 18 Dez. 2017
caja_lonsat= uicontrol('style', 'edit', 'Units', 'normalized', 'pos', tex(29,:), ...
'ForegroundColor', 'black', 'String', num2str(lonsat,'%4.2f'), ...
'Horizontalalignment', 'left', ...
'Backgroundcolor', 'white', 'Fontsize', 12, ...
'Callback', @temp_call);
Along with
function Temp_call(src,eventdata)
str = get(src, 'String');
if isnan(str2double(str))
set(src, 'String',' 0');
warndlg('Input must be numerical');
end

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Daniel Shub
Daniel Shub am 26 Aug. 2011
  1 Kommentar
Nu9
Nu9 am 26 Aug. 2011
but i'm not using guide and callback functions, that tips in the link will work with the first part of my code?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by