注册 登录
编程论坛 Matlab

寻求帮助!急

wangshxu 发布于 2006-07-08 21:59, 639 次点击

我想编一个小小界面程序,实现一个查询的功能,就是在Edit框内输入一个英文缩写,点击查询按钮,把查询到的英文缩写和全称及中文解释等相关信息输出在Listbox上,英文缩写和全称及中文解释全部存贮在TXT的文件上.这个查询Button的Callback怎么写?
多谢帮忙!本人不胜感激.

[此贴子已经被作者于2006-7-8 21:59:57编辑过]

1 回复
#2
zhangenter2006-07-09 11:44
文本文档text保存如:
AAM air-to-air missile 空对空导弹
AMB antiballistic missile 反弹道导弹
AC alternating current 交流电
AEW airborne early warning 空中预先警报
Ag argentum 元素银
……
……
……
的形式,不好意思,我只会做这种形式的
生成gui的m程序:
function main_gui
clear;
h=figure('Units','normalized','Position',[0.3 0.3 0.45 0.35],'Color',[0.8,0.8,0.8],'Menubar','none', 'Resize','off');
set(h,'name','单词查询','numbertitle','off');
h1=uicontrol('style','edit','position',[80,165,160,30],'horizontal','right');
h2=uicontrol('position',[260,165,120,30],'string','查 询','fontsize',15','callback','word_find');
h3=uicontrol('style','listbox','position',[80,60,300,60],'horizontal','left','fontsize',10);
做个用于调用查询单词的m程序:
function word_find
[a,b,c,d,e]=dataread('file','text1.txt','%s%s%s%s%s');
str=get(findobj(gcf,'style','edit'),'string');
string=[];
for i=1:length(a)
if length(cell2mat(a(i)))==length(str)
if cell2mat(a(i))==str
string=strcat(str,'?',cell2mat(b(i)),'?',cell2mat(c(i)),'?',cell2mat(d(i)),'?',cell2mat(e(i)));
string(string=='?')=' '
set(findobj(gcf,'style','listbox'),'string',string);
end
end
end
if isempty(string)
set(findobj(gcf,'style','listbox'),'string','not find!');
end
1