标题: 个人编写的GUI图形界面软件
[打印本页]
作者: taowentao
时间: 2007-1-3 03:19
标题: 个人编写的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
作者: zqlcch
时间: 2007-1-9 00:57
从演示上看不错啊,楼主怎么不放出开发包呢?让兄弟们用用
要收费的吗?
用过QbWin和WinSail,QbWin太弱,Winsail功能和你的看起来差不多,但它太丑了。。。。。
作者: happybasic
时间: 2007-1-9 02:01
Quote: |
Originally posted by zqlcch at 2007-1-9 00:57:
从演示上看不错啊,楼主怎么不放出开发包呢?让兄弟们用用
要收费的吗?
用过QbWin和WinSail,QbWin太弱,Winsail功能和你的看起来差不多,但它太丑了 ... |
|
QBWIN太弱... 想必这位兄弟一定是高手了,可否做一个更强一的出来
让所有的QB爱好者们爱惠一下,包括偶...
作者: zqlcch
时间: 2007-1-9 05:42
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 ]
作者: happybasic
时间: 2007-1-9 07:05
呵呵,楼上兄弟莫介意。。。我是真希望有一个更好的QB开发库, 因为QBWIN停止开发了,而且作者现在一直很忙... Hoker一直建议他开源,目前尚无消息。。。
所以,我在我的小站已经在开始自已做的QBCH开发库就是想取代bas原来的那个showfnt开发库(DOS字符界面的中文库),但GUI界面的目前还未敢试 ....
兄弟有任何意见,关于QB or QBWIN的尽管提,,当然最好的是改进意见,或开发意见。。。。
作者: zqlcch
时间: 2007-1-9 07:36
真的吗?QbWin的窗口风格和界面我一直都非常喜欢,很漂亮很舒服,就是那该死的临时文件受不了,应该是用bload和bsave函数产生的吧,能把这个改了我就满足了。
作者: happybasic
时间: 2007-1-9 08:08
但目前还缺少不少知识,最好是bas能开源,QBWIN还是有很多地方可以优化的...
我正在研究一个问题就是在程式中抓自已的文件名,但还没做好,不知兄弟会不会,会的话,就指点一二,这个主要用于捆绑字库
作者: zqlcch
时间: 2007-1-9 09:57
运行程序时,第0个参数就是自身的文件名。
在Pascal中函数ParamStr(0),返回的就是自身的文件名。。。
在Qb中找到相对应的函数就OK了。
现在居然连Qb都下不到了。。。。汗
作者: happybasic
时间: 2007-1-9 12:07
C中也是第0个参数,但是QB中的参数是COMMAND$, 是一个字符串不是数组....
qb的下载地址:
http://vb.lihuasoft.net/showdown.php?id=419
帮忙解决一下,thanks!
作者: xugaohui
时间: 2007-1-10 00:48
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 ]
作者: happybasic
时间: 2007-1-10 01:03
1.窗体刷新速度是有些慢,不过不能用倒是没听说过...
ps: 可以先加载smartdrv.exe后速度就快多了
2.与VBDOS的MSGBOX冲突,QBWIN是for QBX 7.1的, 根本没有打算for VBDOS
(虽然可以兼容), VBDOS只是诱导大家去用VB的饵,不想用,呵呵,而且界面也太丑了
作者: zqlcch
时间: 2007-1-10 06:41
查找DOS中断编程相关资料,没有找到与此有关的中断服务,程序的PSP段中也只有参数而没有自身文件名,无法。。。
作者: happybasic
时间: 2007-1-10 09:44
查到资料说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
作者: zqlcch
时间: 2007-1-10 10:38
有资料就容易
先运行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 ]
作者: happybasic
时间: 2007-1-11 22:45
做好了,去看看吧!多提提意见!
http://yxbasic.51.net/library/qbch.htm
作者: 本是
时间: 2007-1-11 23:17
RE 第4楼:“调用XMS也没有现成的包可以用”
改XMS绝对地址调用为中断调用,执行代码100字节不到即可(内存占用不过320字节)!
RE 第14楼:“汗,QB还是先天不足,操作起来实在麻烦,在C或PASCAL中一个指针就搞定了”
Power BASIC中就有指针。参见“100个弃QB用PB的理由”(
http://www.powerbasic.com/files/pub/pbdos/100ways.txt)
100 ways PowerBASIC 3.2 beats QuickBasic
========================================
1- PB 3.2 supports true pointer variables. Traditionally, a Basic
programmer had to use a combination of DEF SEG and PEEK and POKE to
access memory. Pointers are not only more flexible, they also make
data access much faster.
[
Last edited by 本是 on 2007-1-11 at 11:21 PM ]
作者: zqlcch
时间: 2007-1-12 00:06
从PB的主页的介绍上看,和其他BASIC比确实算是比较POWER了,把原来Basic和其他高级语言相比所缺少的指针操作、位操作、汇编给补上了。
但是要$99啊,还不提供帮助,打印版的PDF还要$29,这未免也太那个了吧,更何况PBDOS似乎还不支持面向对象。
happybasic老兄倒是可以考虑去找一下破解版
这么久了,怎么也不见写rtCell的楼主露一下脸。。。。
[
Last edited by zqlcch on 2007-1-12 at 12:23 AM ]
作者: fastslz
时间: 2007-1-12 01:44
已检测到: 广告程序 not-a-virus:AdWare.Win32.Diybar.b URL:
http://pi.51.net/download/diybar2.cab\diybar2.dll
作者: happybasic
时间: 2007-1-12 02:32
空间是51.net提供的,它们要放广告我也没办法啊~~~无奈.....
作者: osfree
时间: 2007-1-12 02:38
支持,试一下。
作者: defrag
时间: 2007-2-11 12:26
PB我那里有
http://qbdos.ys168.com/
XMS包艘以下肯定有
[
Last edited by defrag on 2007-2-12 at 03:17 AM ]
作者: stcell
时间: 2007-3-14 11:51
标题: QBwin ?
QBwin 要UCDOS中的TX(特显)
那开发出的程序也要UCDOS的支持吗?
作者: xuxuezeng
时间: 2007-3-16 11:02
在QBwin中的那个文本输入框怎么用呀?我想将输入到文本框中的字符串取出来,不知怎么办?
作者: wang6610
时间: 2007-3-16 12:11
Quote: |
Originally posted by defrag at 2007-2-11 12:26 PM:
PB我那里有http://qbdos.ys168.com/
XMS包艘以下肯定有
[ Last edited by defrag on 2007-2-12 at 03:17 AM ] |
|
你的网盘被锁了。
作者: imsong
时间: 2007-3-17 02:05
呵呵,不错啊,顶上一下
作者: happybasic
时间: 2007-3-18 10:28
Quote: |
Originally posted by stcell at 2007-3-14 11:51:
QBwin 要UCDOS中的TX(特显)
那开发出的程序也要UCDOS的支持吗? |
|
那是早先的版本才要,后来的版本是完全不需要UCDOS的。
ps:你可以到我的小站上去下一个最终版本~
作者: 135956
时间: 2008-1-27 20:09
Quote: |
Originally posted by happybasic at 2007-3-18 10:28 AM:
那是早先的版本才要,后来的版本是完全不需要UCDOS的。
ps:你可以到我的小站上去下一个最终版本~ |
|
站上没有得下啊。。。。哪里有呢?上传一下上来,可以么?
作者: happybasic
时间: 2008-1-31 14:20
请到我的小站留言上留下e-mail, 我发给你~~~~~~~
作者: qb45
时间: 2008-3-16 14:33
看到大家讨论qbasic,还有点亲切