中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 个人编写的GUI图形界面软件 上一主题 | 下一主题
taowentao
高级用户





积分 739
发帖 111
注册 2004-11-30
来自 辽宁沈阳
状态 离线
『楼 主』:  个人编写的GUI图形界面软件

rtCell 真正的图形模式多窗口 - 用 Borland C 编写,具有下列功能:

1. 完善而精巧的多视口裁剪和消隐处理,与实时微内核rtCell紧密结合;

2. 真正的事件(或消息)驱动的多窗口技术,且支持顶层窗口和透明窗口;

3. 当前支持Label、Edit、Botton、Slider、Listbox、TreeView和Checkbox控件,其中的
    Edit控件支持剪切、复制和粘贴(ctrl+x,ctrl+c,ctrl+v);

4. 支持窗口的平移、缩放,和窗口系统按钮,及窗口和控件的过程回调;

5. 内存需求小(不到64K),窗口和控件所耗内存很小(全部采用直接读写显存技术,没有内存设备),
    因此实用性强,包括rtCell、鼠标、键盘及图形驱动,在DOS下也仅 100 多 K 字节。


        演示方法:解压缩gui_Test.rar,在windows下(双击)执行gui_Test.bat,
                  
                  或在纯dos下直接执行bc_gui.exe(在windows的dos窗口中无鼠标)。

        注意:本演示中由于包含一个说明性位图而使得bc_gui.exe比较大。

下载地址:
http://zhenlove.com.cn/cndos/fileup/files/bc_gui.rar
http://zhenlove.com.cn/cndos/fileup/files/bc_gui.zip



来自山东,现居沈阳
2007-1-3 03:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqlcch
初级用户





积分 178
发帖 85
注册 2006-7-6
状态 离线
『第 2 楼』:  

从演示上看不错啊,楼主怎么不放出开发包呢?让兄弟们用用
要收费的吗?
用过QbWin和WinSail,QbWin太弱,Winsail功能和你的看起来差不多,但它太丑了。。。。。

2007-1-9 00:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by zqlcch at 2007-1-9 00:57:
从演示上看不错啊,楼主怎么不放出开发包呢?让兄弟们用用
要收费的吗?
用过QbWin和WinSail,QbWin太弱,Winsail功能和你的看起来差不多,但它太丑了 ...

QBWIN太弱... 想必这位兄弟一定是高手了,可否做一个更强一的出来
让所有的QB爱好者们爱惠一下,包括偶...



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-1-9 02:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqlcch
初级用户





积分 178
发帖 85
注册 2006-7-6
状态 离线
『第 4 楼』:  

QbWin的缺点是要写C盘,会产生~Qbwin.0等4个文件,每个38K,就是640x480x16色环境下显存四个位面的镜像文件,不能在只读的环境中使用,比如硬盘上所有的分区都是NTFS的情况,当初很认真地学习一段时间的QBWin,也做了一些基于QbWin的程序,后面就放弃了。另外Qbasic的数据段只有64k,建立大一些的数组就比较麻烦了。调用XMS也没有现成的包可以用,如果真要用XMS写还不如用C了,大量现成的包可以使用,以上这些都算是Qb无法解决的缺点了吧,除非谁能再写一个QB的编译器。

建议三楼的去用一下WinSail,基于BC的GUI库,编程方便多了。

象“想必这位兄弟一定是高手了,可否做一个更强一的出来”这样赌气伤感情的话就不要再说了,就算是一个基于应用层面的编程者(比如我)对语言的喜好也不能被自己的感情所左右,编程自然是哪个好用就用哪个,提高生产率何乐而不为,某种语言的优点自然要发杨光大,但缺点也要老老实实承认。。。。

[ Last edited by zqlcch on 2007-1-9 at 05:45 AM ]

2007-1-9 05:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 5 楼』:  

呵呵,楼上兄弟莫介意。。。我是真希望有一个更好的QB开发库, 因为QBWIN停止开发了,而且作者现在一直很忙... Hoker一直建议他开源,目前尚无消息。。。

所以,我在我的小站已经在开始自已做的QBCH开发库就是想取代bas原来的那个showfnt开发库(DOS字符界面的中文库),但GUI界面的目前还未敢试 ....

兄弟有任何意见,关于QB or QBWIN的尽管提,,当然最好的是改进意见,或开发意见。。。。



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-1-9 07:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqlcch
初级用户





积分 178
发帖 85
注册 2006-7-6
状态 离线
『第 6 楼』:  

真的吗?QbWin的窗口风格和界面我一直都非常喜欢,很漂亮很舒服,就是那该死的临时文件受不了,应该是用bload和bsave函数产生的吧,能把这个改了我就满足了。

2007-1-9 07:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 7 楼』:  

但目前还缺少不少知识,最好是bas能开源,QBWIN还是有很多地方可以优化的...

我正在研究一个问题就是在程式中抓自已的文件名,但还没做好,不知兄弟会不会,会的话,就指点一二,这个主要用于捆绑字库



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-1-9 08:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqlcch
初级用户





积分 178
发帖 85
注册 2006-7-6
状态 离线
『第 8 楼』:  

运行程序时,第0个参数就是自身的文件名。
在Pascal中函数ParamStr(0),返回的就是自身的文件名。。。
在Qb中找到相对应的函数就OK了。
现在居然连Qb都下不到了。。。。汗

2007-1-9 09:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 9 楼』:  

C中也是第0个参数,但是QB中的参数是COMMAND$, 是一个字符串不是数组....

qb的下载地址:
http://vb.lihuasoft.net/showdown.php?id=419

帮忙解决一下,thanks!



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-1-9 12:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xugaohui
高级用户




积分 774
发帖 293
注册 2003-4-16
来自 湖北仙桃
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by happybasic at 2007-1-9 02:01 AM:


QBWIN太弱... 想必这位兄弟一定是高手了,可否做一个更强一的出来
让所有的QB爱好者们爱惠一下,包括偶...

qbwin是不错,但遗留的问题太多了,根本不打算用这个。在vmware正准备用qbwin,发现它显示窗体十分慢。鼠标移动一下都不容易。还有很多人说qbwin 编写的程序在部分液晶显示器上无法显示,显示器上只显示出刷新率超出范围。
qbwin的msgbox正好与vbdos冲突。这些问题作者都不打算去解决它。

[ Last edited by xugaohui on 2007-1-10 at 04:44 AM ]



下载
09年7月7日 更新
感谢网友 囧HQY 提供空间
2007-1-10 00:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 11 楼』:  

1.窗体刷新速度是有些慢,不过不能用倒是没听说过...
ps: 可以先加载smartdrv.exe后速度就快多了

2.与VBDOS的MSGBOX冲突,QBWIN是for QBX 7.1的, 根本没有打算for VBDOS
(虽然可以兼容), VBDOS只是诱导大家去用VB的饵,不想用,呵呵,而且界面也太丑了



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-1-10 01:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqlcch
初级用户





积分 178
发帖 85
注册 2006-7-6
状态 离线
『第 12 楼』:  

查找DOS中断编程相关资料,没有找到与此有关的中断服务,程序的PSP段中也只有参数而没有自身文件名,无法。。。

2007-1-10 06:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 13 楼』:  

查到资料说PSP段 2Ch开始,查找0010之后就是文件名称,可是在QB中不知怎
么实现, 我原来弄过一段汇编程序是OK的,

代码如下,你看能不能用QB实现它:

cseg segment
     assume cs:cseg,ds:cseg
     org  100h
start: mov si,2ch
       lodsw
       mov ds,ax
       mov si,0
       push cs         ;exe格式需要这两句
       pop es          ;com格式 cs==ds==es 可以不要
       mov di, offset buf
       cld
loc_1: lodsb
       cmp al,0        ;0
       jnz loc_1

       lodsb
       cmp al,0        ;0
       jnz loc_1

       lodsb
       cmp al,1        ;1
       jnz loc_1

       lodsb           ;0
      
loc_2:lodsb           ;文件名开始
       cmp al,0
       jz disp_1
      
       stosb
       jmp loc_2
      
disp_1:push cs
       pop ds
      
       mov dx, offset buf
       mov ah,9
       int 21h         ;显示文件名
      
       mov ah,4ch
       int 21h         ;返回DOS
      
buf db 256 dup('$')

cseg ends
end start



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-1-10 09:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqlcch
初级用户





积分 178
发帖 85
注册 2006-7-6
状态 离线
『第 14 楼』:  

有资料就容易
先运行qbx /L qbx.qlb载入qbx库,如果你没有在QB中设置路径就要在/L后加路径了

代码如下:
//先调用DOS中断21的子功能62来取PSP的地址
'$INCLUDE: 'e:\programs\qb71\src\qbx.bi'
CLS
DIM s AS RegType
s.ax = &H6200
CALL Interrupt(&H21, s, s)   //调用中断
//定义段地址
DEF SEG = s.bx
//从2C取两个字节,这两个字节就是环境变量的段地址
s1 = PEEK(&H2C)
PRINT s1
s2 = PEEK(&H2D)
PRINT s2
//这里计算段地址
DEF SEG = s2 * 16 * 16 + s1
//这里取环境变量的内容,自身的文件名是以01,00打头的,查找以01,00找头,后面的一串以0结尾的字符串就是自己的文件,自己补些代码吧
//这里我偷懒了,把全部都取出来了,自己修改吧,要喝酒去了
a$ = ""
FOR aa = 0 TO 1855
         a$ = a$ + CHR$(PEEK(aa))
NEXT
PRINT a$

汗,QB还是先天不足,操作起来实在麻烦,在C或PASCAL中一个指针就搞定了。。。。。。

[ Last edited by zqlcch on 2007-1-10 at 10:40 AM ]

2007-1-10 10:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 15 楼』:  

做好了,去看看吧!多提提意见!
http://yxbasic.51.net/library/qbch.htm



欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-1-11 22:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: