![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 00:35 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » DOS的界面开发终结者 |
| 可打印版本 98,432 / 290 |
| 第211楼 cxjnet | 发表于 2007-11-30 00:43 |
| 新手上路 发帖 4 积分 7 | |
|
谢谢提供了
用这东西开发DOS程序就简单多了 |
|
| 第212楼 wuxianglin2000 | 发表于 2007-12-29 15:33 |
| 初级用户 发帖 17 积分 34 | |
|
我怎么打不开你的网站啊,能否发一份给我,谢谢!
wuxianglin2000@sina.com |
|
| 第213楼 wuxianglin2000 | 发表于 2007-12-29 15:37 |
| 初级用户 发帖 17 积分 34 | |
|
幸好到前面翻了一下帖子,已经下载了,谢谢!
|
|
| 第214楼 kit100 | 发表于 2008-01-03 23:35 |
| 新手上路 发帖 2 积分 4 | |
|
think!!!!!
|
|
| 第215楼 kit100 | 发表于 2008-01-03 23:44 |
| 新手上路 发帖 2 积分 4 | |
|
我怎么打不开你的网站啊,能否发一份给我,谢谢!
honkit.wong@gmail.com |
|
| 第216楼 firstsail | 发表于 2008-01-05 17:37 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
| 第217楼 firstsail | 发表于 2008-02-19 19:31 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
|
如何加载第三方的TCP/IP和多任务模块 (1)对于第三方TCP/IP来说,注册三个函数,分别为“初始化服务函数”和“终止服务函数”以及“网络消息循环函数”
其中: 注册“初始化服务函数”是为了InitSystem()中调用。 注册“终止服务函数”是为了CloseSystem()中调用。 注册“网络消息循环函数”是为了CWindow::OnIdle()函数中调用。 (2)对于第三方多任务模块来说,注册三个函数,分别为“初始化服务函数”和“终止服务函数”以及“休息函数” 其中: 注册“初始化服务函数”是为了InitSystem()中调用。 注册“终止服务函数”是为了CloseSystem()中调用。 注册“休息函数”是为了系统内部在调用KernelDelay()函数时,转换到实际的delay或sleep休息函数。 int main(int argc, char** argv) { //注册WinSail-TCPIP栈 // GlobalInitSocket -- TCP/IP初始化服务函数 // GlobalCloseSocket -- TCP/IP终止服务函数 // EthernetEntry -- TCP/IP网络消息循环函数 ::AfxRegisterNetcardEntry(::GlobalInitSocket, ::GlobalCloseSocket, ::EthernetEntry); ////注册WinSail-多任务栈 // KernelInitProcess -- 多任务初始化服务函数 // KernelCloseProcess -- 多任务终止服务函数 // __MultiTaskDelay -- 多任务的休息函数 ::AfxRegisterMultitaskEntry(::KernelInitProcess, ::KernelCloseProcess, ::__MultiTaskDelay); //初始化系统内核 if (!::InitSystem(argc, argv)) { //关闭系统内核 ::CloseSystem(); printf("\nInit System Error!"); return(0); } //用户程序 //....... //关闭系统内核 ::CloseSystem(); return(1); } |
|
| 第218楼 godai | 发表于 2008-02-20 18:59 |
| 初级用户 发帖 13 积分 28 | |
|
firstsail大大请进:关于winsail的问题 请问firstsail大大, 新下载了winwail的程序,发现了两个问题:
1。在有CMenu菜单的窗口里再加任一控件(例如加个工具条 CToolsBar)后, CMenu就不能用鼠标开启, 只能用键盘Alt+F开启后才能再用鼠标操作; 以前试用过大大的winsail早期版本反而没有问题? 2。 打开和存储文件夹好像不能支持软驱A盘? |
|
| 第219楼 firstsail | 发表于 2008-02-22 16:28 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
在有CMenu菜单的窗口里再加任一控件(例如加个工具条 CToolsBar)后, CMenu就不能用鼠标开启, 只能用键盘Alt+F开启后才能再用鼠标操作; 以前试用过大大的winsail早期版本反而没有问题? 答:已经发现确实有这一问题,因网站服务器正在刷新,需在下午5:30以后方能上传更改后的WinSail,届时请重新下载后,编译时用Bc31重新“Build All”. 打开和存储文件夹好像不能支持软驱A盘? 答:由于软盘很少使用,在新版本上将它取消了。我一般用“CF卡”+“CF转IDE转换器”代替软盘。 |
|
| 第220楼 kmlxk | 发表于 2008-02-24 01:51 |
| 初级用户 发帖 17 积分 45 | |
|
强~眼泪直流啊。。
|
|
| 第221楼 godai | 发表于 2008-02-26 11:56 |
| 初级用户 发帖 13 积分 28 | |
|
郭大大: 有否更新? 郭大大, 是在您的主页 http://www.firstsail.com.cn/Software.html 上更新了吗? 我刚刚下了好像还没有变, 还是 版本, 里面的sail.lib也还是07年12月25日的?
另: 打开和存储对话框函数的一个小问题: 比如我的D盘是USB-disk, 启动程序的时候有检测到U盘, 但打开对话框的时候如果没有插U盘就会造成系统死机。 还有据我了解,在不少传统工业,由于更新缓慢,不少老的工业环境仍然在使用软盘。 如果从提高兼容性考虑,建议大大还是加入软盘读写功能,应该不用多加程序,因为读写与硬盘相同,都是DOS标准函数。 如果要解决上面两个问题, 建议在打开此对话框前先用absread或_bios_disk函数检测是否有此盘存在, 就可解决软盘或U盘没插入的问题。 |
|
| 第222楼 firstsail | 发表于 2008-02-26 15:23 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
在您的主页 http://www.firstsail.com.cn/Software.html 上更新了吗? 我刚刚下了好像还没有变, 还是 版本, 里面的sail.lib也还是07年12月25日的? 因为网络刚刚修复,直至今日才更新WinSail ,已修正菜单的鼠标问题! 如果要解决上面两个问题, 建议在打开此对话框前先用absread或_bios_disk函数检测是否有此盘存在, 就可解决软盘或U盘没插入的问题。 过几天按您所提示加入absread或_bios_disk函数检测磁盘的存在,请关注更新! [ Last edited by firstsail on 2008-2-26 at 03:27 PM ] |
|
| 第223楼 fgckfl | 发表于 2008-02-26 21:14 |
| 初级用户 发帖 22 积分 46 | |
|
试用得几点意见 1。多exe程序合成时,主程序调用子程序时,屏幕上会显示“sail200 触”,如何屏蔽呢?
2。settimefc()函数可否设定定时时间,dos下“嘟”得时间太短。有时不希望定时器工作太快。 3。多行编辑框怎么设定最大字节数,或行最大字节数,或最大列数,这样在输入时不需回车就可自动换行。 4。能给个列表控件编辑和数据库相结合得例子吗? |
|
| 第224楼 firstsail | 发表于 2008-02-27 10:51 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
多exe程序合成时,主程序调用子程序时,屏幕上会显示“sail200 触”,如何屏蔽呢? ...... settimefc()函数可否设定定时时间,dos下“嘟”得时间太短。有时不希望定时器工作太快。 默认情况下是55mS,现将它设置为110mS void far OnTime_MyDialog(CObject* pObj) { CDialog* pDialog = (CDialog *)pObj; //引入静态变量作为计时次数 static int nLoops = 0; if ((++nLoops) < 2) { return; } nLoops = 0; //这里加入您的代码 } 3。多行编辑框怎么设定最大字节数,或行最大字节数,或最大列数,这样在输入时不需回车就可自动换行。 //..... 4。能给个列表控件编辑和数据库相结合得例子吗? BOOL LoadDatabase(CListBox* pListbox) { char buf; char* pStrFile = "MyBase.Dbf"; //假设有一个数据库名称为“MyBase.Dbf”,其有三个字段 //其中索引为 2的字段是字符串字段 //打开数据库 CFoxpro mFoxpro; if (!mFoxpro.Open (pStrFile)) { ::sprintf (buf, "文件开打错误\n---%s", pStrFile); ::AfxMessageBox("错误", buf, MB_OK); return (FALSE); } //读索引为2的字段的属性 FOXPRO_FIELDS mFoxproFields = *(mFoxpro.GetFoxproFields(2)); //判断索引为2的字段是否为字符串字段 if (mFoxproFields.byStyle != 'C' && mFoxproFields.byStyle != 'c') { ::sprintf (buf, "数据库非法\n---%s", pStrFile); ::AfxMessageBox("错误", buf, MB_OK); return (FALSE); } int nMaxCh = (int)(WORD)mFoxproFields.byLength; //得到数据库的总纪录数 long lgCount = mFoxpro.GetRecordCount(); //设置列表框每一行的最大字符数 pListBox->SetLineCharacter((nMaxCh == 255) ? 255 : nMaxzCh + 1); //设置列表框的总项数为lgCount个 pListBox->SetCount (lgCount); //循环读数据库的索引为2的字符串字段内容 for (long i = 0L; i < lgCount; i++) { //定位数据库 mFoxpro.Seek(i, SEEK_SET); //读索引为2的字符串字段的值 mFoxpro.GetFieldString (2, buf); //将读出来的值写入列表框 pListBox->SetSel(i, buf); } //关闭数据库 mFoxpro.Close(); return (TRUE); } [ Last edited by firstsail on 2008-2-27 at 11:27 AM ] |
|
| 第225楼 liudongfu | 发表于 2008-02-27 12:55 |
| 新手上路 发帖 2 积分 4 | |
|
在那儿下呀,
|
|
| 上一页 1 … 12 13 14 15 16 17 18 … 20 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |