中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-16 10:54
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » DOS的界面开发终结者 查看 93,975 回复 290
61 WinSail的下载地址 发表于 2005-11-01 11:19 ·  中国 广东 深圳 电信
高级用户
★★
积分 668
发帖 295
注册 2005-07-26 00:00
UID 41110
性别 男
来自 广东深圳
状态 离线
网址:http://www.firstsail.b2b.cn
位置:
首页的左上角->->->->

免费下载的编程库是BC31编译器下使用的80386以上CPU、带浮点处理器的开发包!
62 发表于 2005-11-02 19:30 ·  中国 云南 红河哈尼族彝族自治州 电信
初级用户
积分 43
发帖 26
注册 2005-10-07 11:08
UID 43188
状态 离线
这个编程库确实很好,可惜就是不支持真彩色,只支持256,如果能用djgpp+allegro编写,支持真彩色就好了
63 发表于 2005-11-02 23:18 ·  中国 辽宁 朝阳 联通
铂金会员
★★★★
痴迷DOS者
积分 5,798
发帖 1,924
注册 2003-06-20 00:00
UID 5583
性别 男
来自 金獅電腦軟體工作室
状态 离线
支持原创作品!
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
64 WinSail V2.0目前没有支持真彩色的计划! 发表于 2005-11-03 12:42 ·  中国 广东 深圳 宝安区 电信
高级用户
★★
积分 668
发帖 295
注册 2005-07-26 00:00
UID 41110
性别 男
来自 广东深圳
状态 离线
目前的WinSail保存窗口背景的默认扩展内存空间为2M字节.
当然可以修改Config.Sys中配置的没有公开的“键值”来增加空间。

在16色(4位)下
640 * 480 -> 154K字节,可同时开12个需保存窗口背景的全窗口
800 * 600 -> 240K字节,可同时开8个需保存窗口背景的全窗口
1024 * 768 -> 393K字节,可同时开4个需保存窗口背景的全窗口

在256色(8位)下
640 * 480 -> 308K字节,可同时开6个需保存窗口背景的全窗口
800 * 600 -> 480K字节,可同时开4个需保存窗口背景的全窗口
1024 * 768 -> 786K字节,可同时开2个需保存窗口背景的全窗口

在65536色(16位)下:
640 * 480 -> 615K字节,可同时开6个需保存窗口背景的全窗口
800 * 600 -> 960K字节,可同时开4个需保存窗口背景的全窗口
1024 * 768 -> 1572K字节,可同时开1个需保存窗口背景的全窗口

在真彩色(24位)下:
640 * 480 -> 924K字节,可同时开1个需保存窗口背景的全窗口
800 * 600 -> 1440K字节,可同时开1个需保存窗口背景的全窗口
1024 * 768 -> 2304K字节,不能开需保存窗口背景的全窗口

基于WinSail V2.0开发的目的是用于工业用途,许许多多的目标主板
的内存和硬盘空间有限,特别是在PC104主板中,故WinSail目前没有支持
真彩色的计划!
65 发表于 2005-11-03 14:25 ·  中国 云南 红河哈尼族彝族自治州 个旧市 电信
初级用户
积分 43
发帖 26
注册 2005-10-07 11:08
UID 43188
状态 离线
太可惜了, 如果做成通用的、 直接真彩色不是更好吗?
66 发表于 2005-12-01 08:58 ·  中国 广东 肇庆 四会市 电信
初级用户
积分 117
发帖 6
注册 2003-12-20 00:00
UID 14238
性别 男
状态 离线
很好的dos开发工具包,免费的?
那个在线订购是怎么回事
67 发表于 2005-12-01 20:27 ·  中国 江苏 苏州 吴江区 电信
初级用户
积分 32
发帖 16
注册 2005-11-28 18:19
UID 46122
状态 离线
带源码吗?
68 发表于 2005-12-04 23:29 ·  中国 北京 东城区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
UID 46500
性别 男
状态 离线
支持一下
69 发表于 2005-12-05 00:35 ·  中国 福建 厦门 电信
初级用户
积分 31
发帖 16
注册 2005-12-04 23:26
UID 46501
状态 离线
老大太强了,值得学习!·!·
70 发表于 2005-12-14 01:05 ·  中国 陕西 西安 电信
初级用户
积分 34
发帖 17
注册 2005-12-08 21:03
UID 46751
状态 离线
向老大致敬!!谢谢!
71 发表于 2005-12-20 11:44 ·  中国 北京 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
UID 46500
性别 男
状态 离线
俺怎么用不了呢?按照说明,把bc环境配置了一下。把include2拷贝过去。
建立一个工程,把那两个库增加进去。自己建立一个main.c
。按照说明把最简单的代码写进去。可是编译的时候报很多错??
72 在include2目录中有一个Sail.Prj文件,用它做工程文件吧! 发表于 2005-12-20 12:36 ·  中国 广东 深圳 电信
高级用户
★★
积分 668
发帖 295
注册 2005-07-26 00:00
UID 41110
性别 男
来自 广东深圳
状态 离线
//在include2目录中有一个Sail.Prj文件,用它做工程文件吧!

//下面是例子
include <Symbol.h>
#include <MyFrame.h>


//Stack's Size
unsigned int _stklen = 50u * 1024u;//堆栈的尺寸

//Keyboard's Callback Function For All Default Window
int TransrateKey(CObject* pCurObj)//所有窗口默认虚拟键盘回调函数
{
return(0);
}

void far VccFunction(CObject* pCurObj)
{
//Create a Dialog On the Center of Desktop
CDialog* pDialog = new CDialog;//分配实例
pDialog->CreateWindow(0, 0, 447, 364, "单选按钮演示");//建立窗口
pDialog->Center();//窗口对中

//Register Callback Function for Window
pDialog->SetTimeFc(NULL);//注册定时器回调函数
pDialog->SetDrawFc(NULL);//注册画图回调函数
pDialog->SetHelpFc(NULL);//注册帮助回调函数
pDialog->SetKeyboardFc(NULL);//注册虚拟键盘回调函数

//Create Close's Button Control
CCloseButton* pCloseButton = new CCloseButton(pDialog);//分配和建立关闭按钮

//Create a Button Control
CButton* pButton1 = new CButton(pDialog);
pButton1->CreateObject(225, 141, 192, 24, "确定(\x3\E\x3)");
pButton1->SetShortcutKey(VK_ALT_E);
pButton1->SetFc(ClickEnterButton);
pButton1->SetID(BUTTONBASE + 1 - 1);

//Create a Button Control
CButton* pButton2 = new CButton(pDialog);
pButton2->CreateObject(223, 183, 192, 24, "取消(\x3\C\x3)");
pButton2->SetShortcutKey(VK_ALT_C);
pButton2->SetFc(ClickCancelButton);
pButton2->SetID(BUTTONBASE + 2 - 1);

//Create Group Control
CStatic* pGroup1 = new CStatic(pDialog);
pGroup1->CreateObject(10, 32, 204, 94, "星期");
pGroup1->SetID(GROUPBASE + 1 - 1);

//Create Radio Control
CRadio* pRadio1 = new CRadio(pDialog);
pRadio1->CreateObject(22, 53, 73, 24, "星期一");
pRadio1->SetStatic(TRUE);
pRadio1->SetRadio(TRUE);
pRadio1->SetID(RADIOBASE + 1 - 1);

//Create Radio Control
CRadio* pRadio2 = new CRadio(pDialog);
pRadio2->CreateObject(22, 76, 73, 24, "星期二");
pRadio2->SetID(RADIOBASE + 2 - 1);

//Create Radio Control
CRadio* pRadio3 = new CRadio(pDialog);
pRadio3->CreateObject(22, 98, 73, 24, "星期三");
pRadio3->SetID(RADIOBASE + 3 - 1);

//Create Group Control
CStatic* pGroup2 = new CStatic(pDialog);
pGroup2->CreateObject(226, 32, 204, 94, "性别");
pGroup2->SetID(GROUPBASE + 2 - 1);

//Create Radio Control
CRadio* pRadio4 = new CRadio(pDialog);
pRadio4->CreateObject(240, 53, 57, 24, "男性");
pRadio4->SetStatic(TRUE);
pRadio4->SetRadio(TRUE);
pRadio4->SetID(RADIOBASE + 4 - 1);

//Create Radio Control
CRadio* pRadio5 = new CRadio(pDialog);
pRadio5->CreateObject(240, 83, 57, 24, "女性");
pRadio5->SetID(RADIOBASE + 5 - 1);

//Create Check Control
CRadio* pCheck1 = new CRadio(pDialog);
pCheck1->CreateObject(22, 154, 57, 24, "读书");
pCheck1->SetBox(TRUE);
pCheck1->SetID(CHECKBASE + 1 - 1);
pCheck1->SetID(CHECKBASE + 1 - 1);

//Create Check Control
CRadio* pCheck2 = new CRadio(pDialog);
pCheck2->CreateObject(22, 180, 57, 24, "跑步");
pCheck2->SetBox(TRUE);
pCheck2->SetID(CHECKBASE + 2 - 1);
pCheck2->SetID(CHECKBASE + 2 - 1);

//Create Check Control
CRadio* pCheck3 = new CRadio(pDialog);
pCheck3->CreateObject(22, 202, 73, 24, "打足球");
pCheck3->SetBox(TRUE);
pCheck3->SetID(CHECKBASE + 3 - 1);
pCheck3->SetID(CHECKBASE + 3 - 1);

//Create Group Control
CStatic* pGroup3 = new CStatic(pDialog);
pGroup3->CreateObject(10, 133, 204, 96, "星期");
pGroup3->SetID(GROUPBASE + 3 - 1);

//Create Edit Control
CEdit* pEdit1 = new CEdit(pDialog);
pEdit1->CreateObject(97, 153, 106, 21, NULL);
pEdit1->SetID(EDITBASE + 1 - 1);

//Create Edit Control
CEdit* pEdit2 = new CEdit(pDialog);
pEdit2->CreateObject(99, 180, 106, 21, NULL);
pEdit2->SetID(EDITBASE + 2 - 1);


//Show Window
pDialog->ShowWindow();//显示窗口

//go into Message Loop
pDialog->DoModal();//进入窗口消息循环

//Destroy Window
delete pDialog;//删除对话框


return;

}

int main(int argc, char** argv)
{

//Initlize Sysem Kernel
if (!::InitSystem(argc, argv))//初始化系统内核
{
::CloseSystem();//关闭系统内核
printf("\nInit System Error!");
return(0);
}


//Callback Function
::VccFunction(NULL);


//Close Sysem Kernel
::CloseSystem();//关闭系统内核

return(1);

}
73 发表于 2005-12-20 14:49 ·  中国 北京 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
UID 46500
性别 男
状态 离线
报错呀!我用的是msdos7呀。
//下面是例子
include <Symbol.h>
#include <MyFrame.h>


//Stack's Size
unsigned int _stklen = 50u * 1024u;//堆栈的尺寸

//Keyboard's Callback Function For All Default Window
int TransrateKey(CObject* pCurObj)//所有窗口默认虚拟键盘回调函数
{
return(0);
}
int main(int argc, char** argv)
{

//Initlize Sysem Kernel
if (!::InitSystem(argc, argv))//初始化系统内核
{
::CloseSystem();//关闭系统内核
printf("\nInit System Error!");
return(0);
}


//
printf("\nhahahahahahahahhahah\n");


//Close Sysem Kernel
::CloseSystem();//关闭系统内核

return(1);

}
74 发表于 2005-12-20 14:58 ·  中国 北京 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
UID 46500
性别 男
状态 离线
报错内容是:
上面是一些地址
下面让我[T]终止,可能要重新启动计算机,如果系统不能使用的话.....
75 发表于 2005-12-20 18:30 ·  中国 广东 深圳 电信
高级用户
★★
积分 668
发帖 295
注册 2005-07-26 00:00
UID 41110
性别 男
来自 广东深圳
状态 离线
对于BC31来说,如果语法错误太多,BC31会崩溃!

include <Symbol.h> //这里的语法是有错的,崩溃在这里
#include <MyFrame.h>
//-----------------------------------------

#include <Symbol.h> //应该这样
#include <MyFrame.h>


//==========================================
//下面是例子
#include <Symbol.h>
#include <MyFrame.h>


//Stack's Size
unsigned int _stklen = 50u * 1024u;//堆栈的尺寸

//Keyboard's Callback Function For All Default Window
int TransrateKey(CObject* pCurObj)//所有窗口默认虚拟键盘回调函数
{
return(0);
}

void far VccFunction(CObject* pCurObj)
{
//Create a Dialog On the Center of Desktop
CDialog* pDialog = new CDialog;//分配实例
pDialog->CreateWindow(0, 0, 447, 364, "单选按钮演示");//建立窗口
pDialog->Center();//窗口对中

//Register Callback Function for Window
pDialog->SetTimeFc(NULL);//注册定时器回调函数
pDialog->SetDrawFc(NULL);//注册画图回调函数
pDialog->SetHelpFc(NULL);//注册帮助回调函数
pDialog->SetKeyboardFc(NULL);//注册虚拟键盘回调函数

//Create Close's Button Control
CCloseButton* pCloseButton = new CCloseButton(pDialog);//分配和建立关闭按钮

//Create a Button Control
CButton* pButton1 = new CButton(pDialog);
pButton1->CreateObject(225, 141, 192, 24, "确定(\x3\E\x3)");
pButton1->SetShortcutKey(VK_ALT_E);
pButton1->SetFc(ClickEnterButton);
pButton1->SetID(BUTTONBASE + 1 - 1);

//Create a Button Control
CButton* pButton2 = new CButton(pDialog);
pButton2->CreateObject(223, 183, 192, 24, "取消(\x3\C\x3)");
pButton2->SetShortcutKey(VK_ALT_C);
pButton2->SetFc(ClickCancelButton);
pButton2->SetID(BUTTONBASE + 2 - 1);

//Create Group Control
CStatic* pGroup1 = new CStatic(pDialog);
pGroup1->CreateObject(10, 32, 204, 94, "星期");
pGroup1->SetID(GROUPBASE + 1 - 1);

//Create Radio Control
CRadio* pRadio1 = new CRadio(pDialog);
pRadio1->CreateObject(22, 53, 73, 24, "星期一");
pRadio1->SetStatic(TRUE);
pRadio1->SetRadio(TRUE);
pRadio1->SetID(RADIOBASE + 1 - 1);

//Create Radio Control
CRadio* pRadio2 = new CRadio(pDialog);
pRadio2->CreateObject(22, 76, 73, 24, "星期二");
pRadio2->SetID(RADIOBASE + 2 - 1);

//Create Radio Control
CRadio* pRadio3 = new CRadio(pDialog);
pRadio3->CreateObject(22, 98, 73, 24, "星期三");
pRadio3->SetID(RADIOBASE + 3 - 1);

//Create Group Control
CStatic* pGroup2 = new CStatic(pDialog);
pGroup2->CreateObject(226, 32, 204, 94, "性别");
pGroup2->SetID(GROUPBASE + 2 - 1);

//Create Radio Control
CRadio* pRadio4 = new CRadio(pDialog);
pRadio4->CreateObject(240, 53, 57, 24, "男性");
pRadio4->SetStatic(TRUE);
pRadio4->SetRadio(TRUE);
pRadio4->SetID(RADIOBASE + 4 - 1);

//Create Radio Control
CRadio* pRadio5 = new CRadio(pDialog);
pRadio5->CreateObject(240, 83, 57, 24, "女性");
pRadio5->SetID(RADIOBASE + 5 - 1);

//Create Check Control
CRadio* pCheck1 = new CRadio(pDialog);
pCheck1->CreateObject(22, 154, 57, 24, "读书");
pCheck1->SetBox(TRUE);
pCheck1->SetID(CHECKBASE + 1 - 1);
pCheck1->SetID(CHECKBASE + 1 - 1);

//Create Check Control
CRadio* pCheck2 = new CRadio(pDialog);
pCheck2->CreateObject(22, 180, 57, 24, "跑步");
pCheck2->SetBox(TRUE);
pCheck2->SetID(CHECKBASE + 2 - 1);
pCheck2->SetID(CHECKBASE + 2 - 1);

//Create Check Control
CRadio* pCheck3 = new CRadio(pDialog);
pCheck3->CreateObject(22, 202, 73, 24, "打足球");
pCheck3->SetBox(TRUE);
pCheck3->SetID(CHECKBASE + 3 - 1);
pCheck3->SetID(CHECKBASE + 3 - 1);

//Create Group Control
CStatic* pGroup3 = new CStatic(pDialog);
pGroup3->CreateObject(10, 133, 204, 96, "星期");
pGroup3->SetID(GROUPBASE + 3 - 1);

//Create Edit Control
CEdit* pEdit1 = new CEdit(pDialog);
pEdit1->CreateObject(97, 153, 106, 21, NULL);
pEdit1->SetID(EDITBASE + 1 - 1);

//Create Edit Control
CEdit* pEdit2 = new CEdit(pDialog);
pEdit2->CreateObject(99, 180, 106, 21, NULL);
pEdit2->SetID(EDITBASE + 2 - 1);


//Show Window
pDialog->ShowWindow();//显示窗口

//go into Message Loop
pDialog->DoModal();//进入窗口消息循环

//Destroy Window
delete pDialog;//删除对话框


return;

}

int main(int argc, char** argv)
{

//Initlize Sysem Kernel
if (!::InitSystem(argc, argv))//初始化系统内核
{
::CloseSystem();//关闭系统内核
printf("\nInit System Error!");
return(0);
}


//Callback Function
::VccFunction(NULL);


//Close Sysem Kernel
::CloseSystem();//关闭系统内核

return(1);

}
论坛跳转: