How to accept only numbers in a edit text box?
24 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
0 commentaires
Réponse acceptée
Fangjun Jiang
le 26 Août 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 commentaires
Jose Antonio Salcedo Simon
le 18 Déc 2017
Modifié(e) : Walter Roberson
le 18 Déc 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
le 18 Déc 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
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Migrate GUIDE Apps dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!