How to accept only numbers in a edit text box?

28 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Fangjun Jiang
Fangjun Jiang il 26 Ago 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 Commenti
Jose Antonio  Salcedo Simon
Modificato: Walter Roberson il 18 Dic 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 il 18 Dic 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

Accedi per commentare.

Più risposte (1)

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

Accedi per commentare.

Categorie

Scopri di più su Characters and Strings 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