免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2641 | 回复: 13
打印 上一主题 下一主题

[函数] 请教:form.h输入界面的函数的用法。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-17 08:14 |只看该作者 |倒序浏览
请教高手,我正在作一个中文数据库录入界面,请教form.h 中函数的用法。

论坛徽章:
0
2 [报告]
发表于 2003-06-18 08:12 |只看该作者

请教:form.h输入界面的函数的用法。

请高手给发各帖子。指教一下。我真的很急。蓝色键盘指教一下好吗!!

论坛徽章:
0
3 [报告]
发表于 2003-06-18 15:01 |只看该作者

请教:form.h输入界面的函数的用法。

请高手给发各帖子。指教一下。我真的很急。无双指教一下好吗!!

论坛徽章:
0
4 [报告]
发表于 2003-06-18 15:10 |只看该作者

请教:form.h输入界面的函数的用法。

form.h 是什么文件
数据库的form还是ncurses的

论坛徽章:
0
5 [报告]
发表于 2003-06-18 18:57 |只看该作者

请教:form.h输入界面的函数的用法。

form.h是头文件。
包含set_field_back()
等文本框函数。

论坛徽章:
0
6 [报告]
发表于 2003-06-18 19:05 |只看该作者

请教:form.h输入界面的函数的用法。

使用google查找
set_field_back

等函数

另外看看man

论坛徽章:
0
7 [报告]
发表于 2003-06-18 19:06 |只看该作者

请教:form.h输入界面的函数的用法。

内容很多,所以想讲的话还是很难讲清楚的
还是在google上看吧

论坛徽章:
0
8 [报告]
发表于 2003-06-19 07:59 |只看该作者

请教:form.h输入界面的函数的用法。

用google搜索set_field_back只有一篇文章内容如下:
请无双斑竹解释一些函数的使用方法。
#include
#include
#include
#include
int main(int argc,char *argv[])
{
int ch ,i=0;
int rows,cols;
WINDOW *win,*subwin,*msgwin;
FORM *form;
FIELD *fields[7];

initscr();
cbreak();

noecho();
keypad(stdscr,TRUE);

fields[0]=new_field(1,12,1,1,0,0);
set_field_buffer(fields[0],0,"学 号:";
set_field_opts(fields[0],field_opts(fields[0])&~O_ACTIVE);

fields[1] = new_field(1,6,1,10,0,0);
// set_field_back(fields[1],A_UNDERLINE);
set_field_userptr(fields[1],NULL);

fields[2]=new_field(1,12,2,1,0,0);
set_field_buffer(fields[2],0,"姓 名:";
set_field_opts(fields[2],field_opts(fields[2])&~O_ACTIVE);

fields[3]=new_field(1,10,2,10,0,0);
set_field_back(fields[3],A_UNDERLINE);
/* set_field_opts(fields[3],field_opts(fields[3])&~O_PUBLIC); */
set_field_userptr(fields[3],NULL);

fields[4]=new_field(1,12,3,1,0,0);
set_field_buffer(fields[4],0,"班 级:";
set_field_opts(fields[4],field_opts(fields[4])&~O_ACTIVE);

fields[5]=new_field(1,20,3,10,0,0);
set_field_back(fields[5],A_UNDERLINE);
set_field_userptr(fields[5],NULL);

fields[6] = NULL;


form=new_form(fields);

scale_form(form,&rows,&cols);
win=newwin(rows+10,cols+15,3,20);
subwin=derwin(win,rows,cols,1,2);
set_form_sub(form,subwin);
box(win,0,0);
keypad(win,TRUE);

msgwin=newwin(5,40,10,30);
/*box(msgwin,0,0);*/
keypad(msgwin,TRUE);

post_form(form);
refresh();
wrefresh(win);
wrefresh(subwin);


form_driver(form,REQ_OVL_MODE);

for(;{
ch=wgetch(win);
if(ch=='\n' && current_field(form)==fields[3]){
if(strncmp(field_buffer(fields[1],0),"8888",4)!=0){
mvwaddstr(msgwin,3,3,field_buffer(fields[1],0));
mvwaddstr(msgwin,2,3,"User does not exist";
mvwaddstr(msgwin,4,3,fields[3]);
wrefresh(msgwin);
wgetch(msgwin);
refresh();
touchwin(win);
wrefresh(win);
wrefresh(subwin);
}
form_driver(form,REQ_NEXT_FIELD);
/*break;*/
}
else if(ch==KEY_UP)
form_driver(form,REQ_PREV_FIELD);
else if(ch==KEY_DOWN | | ch=='\n')
form_driver(form,REQ_NEXT_FIELD);
else if(isprint(ch))
form_driver(form,ch);
else form_driver(form,E_UNKNOWN_COMMAND);
}

unpost_form(form);

free_form(form);
for(i=0;i<5;i++)
free_field(fields);

endwin();


}

论坛徽章:
0
9 [报告]
发表于 2003-06-19 12:51 |只看该作者

请教:form.h输入界面的函数的用法。

set_field_buffer
设置field显示的内容
set_field_opts设置field选项

set_form_sub设置与form关联的子窗口


这些在man中应该有
http://osr5doc.ca.caldera.com:457/cgi-bin/man/man?form_win+S

这是googlez结果

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2003-06-19 13:11 |只看该作者

请教:form.h输入界面的函数的用法。

如果对一些函数的用发还不时特便明白的话,建议去看看man手册。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP