中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-10-31 06:27
47,815 topics / 349,930 posts / today 0 new / 48,290 members
DOS开发编程 & 发展交流 (开发室) » The Terminator of DOS Interface Development
Printable Version  100,773 / 290
Floor61 firstsail Posted 2005-11-01 11:19
高级用户 Posts 295 Credits 668 From 广东深圳
URL: http://www.firstsail.b2b.cn
Location:
Top-left corner of the homepage -> -> -> ->

The freely downloadable programming library is a development package for CPUs above 80386 with floating-point processors used under the BC31 compiler!
Floor62 jpzsj Posted 2005-11-02 19:30
初级用户 Posts 26 Credits 43
This programming library is really good, but it's a pity that it doesn't support true color, only 256 colors. It would be great if it could be written with djgpp + allegro to support true color.
Floor63 Kinglion Posted 2005-11-02 23:18
铂金会员 Posts 1,924 Credits 5,800 From 金獅電腦軟體工作室
Support original works!
Floor64 firstsail Posted 2005-11-03 12:42
高级用户 Posts 295 Credits 668 From 广东深圳
The default extended memory space for saving window backgrounds in WinSail currently is 2 megabytes.

Of course, you can modify the unpublicized "key values" configured in Config.Sys to increase the space.

Under 16 colors (4-bit)
640 * 480 -> 154K bytes, can open 12 full windows that need to save window backgrounds simultaneously
800 * 600 -> 240K bytes, can open 8 full windows that need to save window backgrounds simultaneously
1024 * 768 -> 393K bytes, can open 4 full windows that need to save window backgrounds simultaneously

Under 256 colors (8-bit)
640 * 480 -> 308K bytes, can open 6 full windows that need to save window backgrounds simultaneously
800 * 600 -> 480K bytes, can open 4 full windows that need to save window backgrounds simultaneously
1024 * 768 -> 786K bytes, can open 2 full windows that need to save window backgrounds simultaneously

Under 65536 colors (16-bit):
640 * 480 -> 615K bytes, can open 6 full windows that need to save window backgrounds simultaneously
800 * 600 -> 960K bytes, can open 4 full windows that need to save window backgrounds simultaneously
1024 * 768 -> 1572K bytes, can open 1 full window that needs to save window backgrounds simultaneously

Under true color (24-bit):
640 * 480 -> 924K bytes, can open 1 full window that needs to save window backgrounds simultaneously
800 * 600 -> 1440K bytes, can open 1 full window that needs to save window backgrounds simultaneously
1024 * 768 -> 2304K bytes, cannot open full windows that need to save window backgrounds

The purpose of developing based on WinSail V2.0 is for industrial use. The memory and hard disk space of many target motherboards are limited, especially in PC104 motherboards. Therefore, WinSail currently has no plan to support true color!
Floor65 jpzsj Posted 2005-11-03 14:25
初级用户 Posts 26 Credits 43
It's such a pity. Why not make it universal and directly in true color?
Floor66 bbsbot Posted 2005-12-01 08:58
初级用户 Posts 6 Credits 117
A very good DOS development toolkit, is it free? What's the matter with that online ordering?
Floor67 Neat Posted 2005-12-01 20:27
初级用户 Posts 16 Credits 32
Do you have the source code?
Floor68 zhgwbzhd Posted 2005-12-04 23:29
高级用户 Posts 187 Credits 506
Give it a support
Floor69 kdlipm Posted 2005-12-05 00:35
初级用户 Posts 16 Credits 31
The boss is too strong, worthy of learning!·!·
Floor70 m168 Posted 2005-12-14 01:05
初级用户 Posts 17 Credits 34
Salute to the senior! Thank you!
Floor71 zhgwbzhd Posted 2005-12-20 11:44
高级用户 Posts 187 Credits 506
Why can't I use it? According to the instructions, I configured the bc environment. I copied include2 over. I created a project and added those two libraries. I created a main.c by myself. I wrote the simplest code according to the instructions. But there are many errors when compiling?
Floor72 firstsail Posted 2005-12-20 12:36
高级用户 Posts 295 Credits 668 From 广东深圳
```c
// There is a Sail.Prj file in the include2 directory, use it as the project file!

// Below is an example
#include <Symbol.h>
#include <MyFrame.h>


// Stack's Size
unsigned int _stklen = 50u * 1024u; // Stack size

// Keyboard's Callback Function For All Default Window
int TransrateKey(CObject* pCurObj) // Callback function for virtual keyboard of all default windows
{
return(0);
}

void far VccFunction(CObject* pCurObj)
{
// Create a Dialog On the Center of Desktop
CDialog* pDialog = new CDialog; // Allocate instance
pDialog->CreateWindow(0, 0, 447, 364, "Radio Button Demo"); // Create window
pDialog->Center(); // Center the window

// Register Callback Function for Window
pDialog->SetTimeFc(NULL); // Register timer callback function
pDialog->SetDrawFc(NULL); // Register drawing callback function
pDialog->SetHelpFc(NULL); // Register help callback function
pDialog->SetKeyboardFc(NULL); // Register virtual keyboard callback function

// Create Close's Button Control
CCloseButton* pCloseButton = new CCloseButton(pDialog); // Allocate and create close button

// Create a Button Control
CButton* pButton1 = new CButton(pDialog);
pButton1->CreateObject(225, 141, 192, 24, "OK(\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, "Cancel(\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, "Week");
pGroup1->SetID(GROUPBASE + 1 - 1);

// Create Radio Control
CRadio* pRadio1 = new CRadio(pDialog);
pRadio1->CreateObject(22, 53, 73, 24, "Monday");
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, "Tuesday");
pRadio2->SetID(RADIOBASE + 2 - 1);

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

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

// Create Radio Control
CRadio* pRadio4 = new CRadio(pDialog);
pRadio4->CreateObject(240, 53, 57, 24, "Male");
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, "Female");
pRadio5->SetID(RADIOBASE + 5 - 1);

// Create Check Control
CRadio* pCheck1 = new CRadio(pDialog);
pCheck1->CreateObject(22, 154, 57, 24, "Reading");
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, "Running");
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, "Playing Football");
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, "Week");
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(); // Show window

// go into Message Loop
pDialog->DoModal(); // Enter window message loop

// Destroy Window
delete pDialog; // Delete dialog box


return;

}

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

// Initlize Sysem Kernel
if (!::InitSystem(argc, argv)) // Initialize system kernel
{
::CloseSystem(); // Close system kernel
printf("\nInit System Error!");
return(0);
}


// Callback Function
::VccFunction(NULL);


// Close Sysem Kernel
::CloseSystem(); // Close system kernel

return(1);

}
```
Floor73 zhgwbzhd Posted 2005-12-20 14:49
高级用户 Posts 187 Credits 506
Error reported! I'm using msdos7.

//The following is an example
include <Symbol.h>
#include <MyFrame.h>


//Stack's Size
unsigned int _stklen = 50u * 1024u;//Stack size

//Keyboard's Callback Function For All Default Window
int TransrateKey(CObject* pCurObj)//Callback function for the virtual keyboard of all default windows
{
return(0);
}
int main(int argc, char** argv)
{

//Initlize Sysem Kernel
if (!::InitSystem(argc, argv))//Initialize the system kernel
{
::CloseSystem();//Close the system kernel
printf("\nInit System Error!");
return(0);
}


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


//Close Sysem Kernel
::CloseSystem();//Close the system kernel

return(1);

}
Floor74 zhgwbzhd Posted 2005-12-20 14:58
高级用户 Posts 187 Credits 506
The error message is:
Above are some addresses
Below let me [T] terminate, may need to restart the computer, if the system is not usable.....
Floor75 firstsail Posted 2005-12-20 18:30
高级用户 Posts 295 Credits 668 From 广东深圳
For BC31, if there are too many syntax errors, BC31 will crash!

#include <Symbol.h> // There is a syntax error here, crashing here
#include <MyFrame.h>
//-----------------------------------------

#include <Symbol.h> // It should be like this
#include <MyFrame.h>


//==========================================
//The following is an example
#include <Symbol.h>
#include <MyFrame.h>


//Stack's Size
unsigned int _stklen = 50u * 1024u; // Stack size

//Keyboard's Callback Function For All Default Window
int TransrateKey(CObject* pCurObj) // Callback function for virtual keyboard of all default windows
{
return(0);
}

void far VccFunction(CObject* pCurObj)
{
//Create a Dialog On the Center of Desktop
CDialog* pDialog = new CDialog; // Allocate instance
pDialog->CreateWindow(0, 0, 447, 364, "Radio Button Demo"); // Create window
pDialog->Center(); // Center window

//Register Callback Function for Window
pDialog->SetTimeFc(NULL); // Register timer callback function
pDialog->SetDrawFc(NULL); // Register drawing callback function
pDialog->SetHelpFc(NULL); // Register help callback function
pDialog->SetKeyboardFc(NULL); // Register virtual keyboard callback function

//Create Close's Button Control
CCloseButton* pCloseButton = new CCloseButton(pDialog); // Allocate and create close button

//Create a Button Control
CButton* pButton1 = new CButton(pDialog);
pButton1->CreateObject(225, 141, 192, 24, "OK(\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, "Cancel(\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, "Week");
pGroup1->SetID(GROUPBASE + 1 - 1);

//Create Radio Control
CRadio* pRadio1 = new CRadio(pDialog);
pRadio1->CreateObject(22, 53, 73, 24, "Monday");
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, "Tuesday");
pRadio2->SetID(RADIOBASE + 2 - 1);

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

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

//Create Radio Control
CRadio* pRadio4 = new CRadio(pDialog);
pRadio4->CreateObject(240, 53, 57, 24, "Male");
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, "Female");
pRadio5->SetID(RADIOBASE + 5 - 1);

//Create Check Control
CRadio* pCheck1 = new CRadio(pDialog);
pCheck1->CreateObject(22, 154, 57, 24, "Reading");
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, "Running");
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, "Playing Football");
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, "Week");
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(); // Show window

//go into Message Loop
pDialog->DoModal(); // Enter window message loop

//Destroy Window
delete pDialog; // Delete dialog box


return;

}

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

//Initlize Sysem Kernel
if (!::InitSystem(argc, argv)) // Initialize system kernel
{
::CloseSystem(); // Close system kernel
printf("\nInit System Error!");
return(0);
}


//Callback Function
::VccFunction(NULL);


//Close Sysem Kernel
::CloseSystem(); // Close system kernel

return(1);

}
Prev  1 … 2 3 4 5 6 7 8 … 20  Next
[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023