整数 文件,序号=-1;文本 Pat[80];OPENFILENAME fn;
常量 读写文件=[GENERIC_READ|GENERIC_WRITE];
小程序 窗体消息(整数 窗口,整数 消息,整数 参数,整数 数据);
判断(消息)
为 单击左键{左键点击(参数);}
为 窗口关闭 {fclose(文件);停止(0);}
否则{DefWindowProc(窗口,消息,参数,数据);}
结束;
小程序 窗体启动();
列举 fn{
.lStructSize = 0076;
.nMaxFileTitle = 0064;
.nMaxFile = 0064;
.hwndOwner = 窗体;
.lpstrFile = Pat;
.lpstrFilter = "YBMsg文件'\0'ybmsg.cfg'\0'";
.lpstrTitle = "打开文件";}
读取消息();
结束;
小程序 左键点击(整数 参数);
判断(参数)
为 3{打开文件}为 4{查找内容}
为 $10001{选中内容(SendMessage(列表, LB_GETCURSEL,0,0));}
结束;
小程序 打开文件();
整数 fp,dat,ln,sl;
如果(文件>0){
SendMessage(列表, LB_DELETESTRING,序号, 0);
ln=GetWindowText(编辑,Pat,80)+1;
fwrite(Pat,ln,1,文件);
SendMessage(列表, LB_INSERTSTRING,序号, Pat);}
否则{
GetOpenFileName(fn);
文件= fopen(Pat,"rb+");
SendMessage(列表, LB_RESETCONTENT, 0,0);
fseek(文件, 0, 2);ln=ftell(文件) - 1544;
dat=malloc(ln);fseek(文件, 1544, 0);
fread(dat,ln,1,文件);ln+=dat;sl=dat;
循环{SendMessage(列表, LB_ADDSTRING, 0,sl);
sl+1024;}(sl>=ln);free(dat);EnableWindow(查找,1);
SetWindowText(修改,"修改");}
结束;
小程序 选中内容(整数 id);
SendMessage(列表, LB_GETTEXT, id,Pat);
SetWindowText(编辑,Pat);序号=id;
id=? * 1024 +1544;fseek(文件, id, 0);
结束;
小程序 查找内容;
GetWindowText(编辑,Pat,80);
序号=SendMessage(列表, LB_FINDSTRING, 序号,Pat);
如果(序号<0){信息框(0,"未找到此数据","提示",$30);}
否则{SendMessage(列表, LB_SETCURSEL, 序号,0);}
结束;


费先生
1 声望0 粉丝