中国DOS联盟论坛

中国DOS联盟
-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:bbs.cn-dos.net

DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

» 游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助

 

<<   [1] [2] [3] [4] [5]  >>   >
作者:
标题: 【建议】写我们自己的IDE环境|1.17.8英文版发布! 上一主题 | 下一主题
AlexZhang
版主





积分 907
发帖 384
注册 2007-2-8
状态 离线
『楼 主』:  【建议】写我们自己的IDE环境|1.17.8英文版发布!

【建议】写我们自己的IDE环境
众所周知 有一个好的IDE环境 可以使代码编写工作减少很多 大家可以看VisualC++/VisualBasic,这些IDE环境写的都非常出色(废话,M$卖的就是这个)。
我们是不是页可以自己写一个IDE环境呢?
当然可以
IDE环境其实不复杂,最简单的是记事本类似的程序。其实多数IDE环境是一个为代码编写特别优化的文字处理软件。比如VB就是一个画图+记事本
批处理的IDE并不难做,只是一个笔记本框架+充分的源码资源+帮助+debug就行了。其中,笔记本 帮助 源码浏览器 都是同一个框架——记事本
我们目前的工作就是:写帮助以及debug方法,这里我有点不明白,P处理的debug应该怎样写?
怎样debug?
我希望大家能够提供一些关于写帮助、源码库的资源&建议
Alex
如果有人愿意和我一起写源代码,联系:
cheungtifan@gmail.com
Q:82570635
最终作品将依据GNU GPLv3分发.
-------------------
0.99.2版已经发布,马上作出安装程序以后发布!
这是正式版之前的最后一个测试版!

由于上传系统我这里访问很慢,上传到了别的服务器上面。
Download address:
Here
下面的网友反映不能用
/*下载地址:
[ url=http://share.cech.com.cn/08d5d90797fdb1da6f3ab2127/4d1a7e2e0268866cb41666071ebd319ef8ed63a4/down/BATIDE.EXE]Here[/ url]
或者
[ url=http://share.cech.com.cn/get/08d5d90797fdb1da6f3ab2127.html]Here[/ url ]*/
请大家提出宝贵意见。这个帖子不要再沉下去了
-----------------------------------------------------------------------
[ size=6]1.00.1b正式版发布![/size ]
下载地址:
(上传在MediaFire上)
[ url=http://www.mediafire.com/?9xtxmmuxndm]下载地址[ /url]
-----------------------------------------------------------------------
[ size=6]1.10.1b[ /size]
Google Code项目主页
----------------------------------------------------------------------
[ size=8]前些天没有带着电脑 现在继续编码。。。[ /size]
[ size=8]前些天潜水了,重新发布新版1.15版本,为稳定版。最新版为1.16.2-beta
下载地址见Google Code的项目主页[/size ]
[ size=8]现在发布新版本 1.17.2 beta 建议大家升级 加入了些新功能,试试就知道哦 另外修补了若干bug 很长时间没更新 不好意思...见GCode主页[ /size]
[size=6 ]新版本 1.17.7-beta 请在项目主页下载。[ /size]
1.17.8英文版发布!

[ Last edited by AlexZhang on 2008-2-6 at 03:53 PM ]

   此帖被 +71 点积分        点击查看详情   
评分人:【&sid=RHqaKs electronixtar 分数: +22  时间:2007-7-26 14:00
评分人:【&sid=RHqaKs zh159 分数: +15  时间:2007-7-26 15:18
评分人:【&sid=RHqaKs qasa 分数: +8  时间:2007-7-26 17:12
评分人:【&sid=RHqaKs lxmxn 分数: +24  时间:2007-9-27 13:24
评分人:【&sid=RHqaKs dinfli 分数: +2  时间:2008-1-12 04:32


2007-7-25 18:38
查看资料  发送邮件  发短消息 网志  QQ   编辑帖子  回复  引用回复
AlexZhang
版主





积分 907
发帖 384
注册 2007-2-8
状态 离线
『第 2 楼』:  

大家请耐心等待,alpha版本马上分发,大概今天下午就能够看见alpha1了

2007-7-26 11:00
查看资料  发送邮件  发短消息 网志  QQ   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7491
发帖 2672
注册 2005-9-2
状态 离线
『第 3 楼』:  

帮助文件用ntcmds.chm嘛。

期望这个项目架设到 code.google.com




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2007-7-26 13:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7491
发帖 2672
注册 2005-9-2
状态 离线
『第 4 楼』:  

至于如何debug,cmd本身就是一个优秀的debug环境。要暂停bat可以发送消息冻结cmd窗口,调试变量可以直接 echo 。




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2007-7-26 14:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
AlexZhang
版主





积分 907
发帖 384
注册 2007-2-8
状态 离线
『第 5 楼』:  

现在差不多程序框架出来了,但是又有一个问题,关于语法加亮
我们改应该对什么语句加亮?
缩进是不用说的了,大家给一个需要加亮的命令的列表好么?
另外,bat框架代码库应该内容多一些,谁能够提供一些资料?
使用VisualBasic6.0+Access编写的;)
参考了下,大概知道了加什么了,不过这下就可能会有两种格式了——文本以及RTF.
联盟的空间怎么用?我的空间被河蟹了。

[[i] Last edited by AlexZhang on 2007-7-26 at 08:35 PM [/i]]

2007-7-26 16:51
查看资料  发送邮件  发短消息 网志  QQ   编辑帖子  回复  引用回复
qasa
高级用户




积分 952
发帖 306
注册 2006-4-11
来自 广东-LianJiang
状态 离线
『第 6 楼』:  


不错的提议,期待中......




κχυμγνξοθπρωψιαδλεηφβτζσ┬╀┾┳┞┯┰┱┣┲┳╂╁│├┟┭┠这是什么??这就是我的人生
2007-7-26 17:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7491
发帖 2672
注册 2005-9-2
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by AlexZhang at 2007-7-26 16:51:
现在差不多程序框架出来了,但是又有一个问题,关于语法加亮
我们改应该对什么语句加亮?
缩进是不用说的了,大家给一个需要加亮的命令的列表 ...

语法高亮可以参考这个帖子:

http://www.cn-dos.net/forum/viewthread.php?tid=21664




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2007-7-26 17:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
AlexZhang
版主





积分 907
发帖 384
注册 2007-2-8
状态 离线
『第 8 楼』:  

语法加亮基本完成,除了一些bug
现在正在修补bug,大概后天(我要真理很多资料,加在附带的数据库里面)
可以出beta版本
今天的进度:
数据库连接
搜索、替换
语法加亮
有滚动的about(很好看)
一个类似任务栏的东西
ASCII字符画

2007-7-26 23:39
查看资料  发送邮件  发短消息 网志  QQ   编辑帖子  回复  引用回复
AlexZhang
版主





积分 907
发帖 384
注册 2007-2-8
状态 离线
『第 9 楼』:  codeview的代码,大家看一下

Dim MSGResponse As String
Private Sub CmdAdd_Click()
    '调用AddNew方法增加记录
    Data1.Recordset.AddNew
    '在调用AddNew以后,文本框控件处于添加模式,因此
    '为了防止程序出错,需要屏蔽其他按钮的使用
        '------------------------------
        '开始屏障按钮
        '------------------------------
        CmdAdd.Enabled = False
        cmdBack.Enabled = False
        cmdCancle.Enabled = True
        cmdCopy2Clipboard.Enabled = False
        cmdDel.Enabled = False
        cmdEnd.Enabled = False
        cmdNext.Enabled = False
        cmdRefresh.Enabled = False
        cmdSave.Enabled = True
        cmdTop.Enabled = False
        '-----------------------------
        '结束
        '-----------------------------
    '结束
End Sub
Private Sub cmdBack_Click()
If Not Data1.Recordset.BOF Then
    Data1.Recordset.MovePrevious
Else
    Data1.Recordset.MoveFirst
End If
End Sub
Private Sub cmdCancle_Click()
    '通过CancelUpdate方法保存数据
    Data1.Recordset.CancelUpdate
    '恢复控件
        CmdAdd.Enabled = True
        cmdBack.Enabled = True
        cmdCancle.Enabled = False
        'cmdCopy2Clipboard.Enabled = True 这句根本没用
        cmdDel.Enabled = True
        cmdEnd.Enabled = True
        cmdNext.Enabled = True
        cmdRefresh.Enabled = True
        cmdSave.Enabled = False
        cmdTop.Enabled = True
End Sub

Private Sub cmdCopy2Clipboard_Click()
Clipboard.SetText (txtContent.Text)
End Sub

Private Sub cmdDel_Click()
MSGResponse = MsgBox("真的删除这一条记录么?" & Chr(10) & "删除以后不能恢复!", vbYesNo, "代码浏览器")
If MSGResponse = vbYes Then
    Data1.Recordset.Delete
    Data1.Refresh
End If
End Sub
Private Sub cmdEnd_Click()
Data1.Recordset.MoveLast
End Sub
Private Sub cmdNext_Click()
If Not Data1.Recordset.EOF Then
    Data1.Recordset.MoveNext
Else
    Data1.Recordset.MoveLast
End If
End Sub
Private Sub cmdRefresh_Click()
Data1.Refresh
End Sub
Private Sub cmdSave_Click()
    Data1.Recordset.Update
        CmdAdd.Enabled = True
        cmdBack.Enabled = True
        cmdCancle.Enabled = False
        cmdCopy2Clipboard.Enabled = True
        cmdDel.Enabled = True
        cmdEnd.Enabled = True
        cmdNext.Enabled = True
        cmdRefresh.Enabled = True
        cmdSave.Enabled = False
        cmdTop.Enabled = True
End Sub
Private Sub cmdTop_Click()
Data1.Recordset.MoveFirst
End Sub
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "\code.mdb"
Data1.RecordSource = "BAT"
Data1.Refresh
cmdCancle.Enabled = False
cmdSave.Enabled = False
End Sub

2007-7-26 23:40
查看资料  发送邮件  发短消息 网志  QQ   编辑帖子  回复  引用回复
slore
铂金会员





积分 5211
发帖 2478
注册 2007-2-8
状态 离线
『第 10 楼』:  

什么都不干,帮你着色嗬

Dim MSGResponse As String
Private Sub
CmdAdd_Click()
   
'调用AddNew方法增加记录
   
Data1.Recordset.AddNew
    '在调用AddNew以后,文本框控件处于添加模式,因此
    '为了防止程序出错,需要屏蔽其他按钮的使用
    '------------------------------
    '开始屏障按钮
    '------------------------------
   
CmdAdd.Enabled = False
   
cmdBack.Enabled = False
   
cmdCancle.Enabled = True
   
cmdCopy2Clipboard.Enabled = False
   
cmdDel.Enabled = False
   
cmdEnd.Enabled = False
   
cmdNext.Enabled = False
   
cmdRefresh.Enabled = False
   
cmdSave.Enabled = True
   
cmdTop.Enabled = False
   
'-----------------------------
    '结束
    '-----------------------------
    '结束
End Sub
Private Sub
cmdBack_Click()
   
If Not Data1.Recordset.BOF Then
        
Data1.Recordset.MovePrevious
    Else
        
Data1.Recordset.MoveFirst
    End If
End Sub
Private Sub
cmdCancle_Click()
   
'通过CancelUpdate方法保存数据
   
Data1.Recordset.CancelUpdate
    '恢复控件
   
CmdAdd.Enabled = True
   
cmdBack.Enabled = True
   
cmdCancle.Enabled = False
   
'cmdCopy2Clipboard.Enabled = True 这句根本没用
   
cmdDel.Enabled = True
   
cmdEnd.Enabled = True
   
cmdNext.Enabled = True
   
cmdRefresh.Enabled = True
   
cmdSave.Enabled = False
   
cmdTop.Enabled = True
End Sub

Private Sub
cmdCopy2Clipboard_Click()
   
Clipboard.SetText (txtContent.Text)
End Sub

Private Sub
cmdDel_Click()
   
MSGResponse = MsgBox("真的删除这一条记录么?" & Chr(10) & "删除以后不能恢复!", vbYesNo, "代码浏览器")
   
If MSGResponse = vbYes Then
        
Data1.Recordset.Delete
        Data1.Refresh
    End If
End Sub
Private Sub
cmdEnd_Click()
   
Data1.Recordset.MoveLast
End Sub
Private Sub
cmdNext_Click()
   
If Not Data1.Recordset.EOF Then
        
Data1.Recordset.MoveNext
    Else
        
Data1.Recordset.MoveLast
    End If
End Sub
Private Sub
cmdRefresh_Click()
   
Data1.Refresh
End Sub
Private Sub
cmdSave_Click()
   
Data1.Recordset.Update
    CmdAdd.Enabled = True
   
cmdBack.Enabled = True
   
cmdCancle.Enabled = False
   
cmdCopy2Clipboard.Enabled = True
   
cmdDel.Enabled = True
   
cmdEnd.Enabled = True
   
cmdNext.Enabled = True
   
cmdRefresh.Enabled = True
   
cmdSave.Enabled = False
   
cmdTop.Enabled = True
End Sub
Private Sub
cmdTop_Click()
   
Data1.Recordset.MoveFirst
End Sub
Private Sub
Form_Load()
   
Data1.DatabaseName = App.Path & "\code.mdb"
    Data1.RecordSource = "BAT"
    Data1.Refresh
    cmdCancle.Enabled = False
   
cmdSave.Enabled = False
End Sub



cmdCancle应该叫 cmdCancel吧?:P

2007-7-27 00:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5211
发帖 2478
注册 2007-2-8
状态 离线
『第 11 楼』:  

Private Sub cmdCopy2Clipboard_Click()
   
Clipboard.Clear '对了这里在复制到剪切板前要清空,不然你的复制会……
   
Clipboard.SetText (txtContent)
End Sub

2007-7-27 00:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
AlexZhang
版主





积分 907
发帖 384
注册 2007-2-8
状态 离线
『第 12 楼』:  

hehe,你很有工夫,I服了U
那个clipboard真的忘了~没有测试还
----------------------------------------------
第一版已测试,语法加亮功能有很大缺陷,
字符长度>100左右以后,程序响应很慢(调试状态)
debug一下,一会放出一个测试版
-----------------------------------------------
开发进程:
bug“去掉了”,但是还是不稳定,编译好了估计就没事了。
刚才又crash了...
这个crash去掉以后,beta版就可以发行了

[ Last edited by AlexZhang on 2007-7-27 at 09:38 AM ]

2007-7-27 07:10
查看资料  发送邮件  发短消息 网志  QQ   编辑帖子  回复  引用回复
slore
铂金会员





积分 5211
发帖 2478
注册 2007-2-8
状态 离线
『第 13 楼』:  

建议高亮功能可选……带个配置文件可以保留设置。

你用richtext上色是不是?如果出了。发个text的给我,受不了rich……功能多了浪费。

cmdCancle应该叫 cmdCancel吧?:P 这句没有看到么?Cancle看了很别扭

2007-7-27 09:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
AlexZhang
版主





积分 907
发帖 384
注册 2007-2-8
状态 离线
『第 14 楼』:  

vb处理这个的速度还是有问题。
我写的算法可能不怎么好,大家看一下加亮的算法以及程序。
CODE:  [Copy to clipboard]
Public Function Highlight(keyword As String, colorset As Variant)
'加亮语法,在这里实现
'算法:
'   S1 得到关键字(这里就是cd % 0123456789 之类的)
'   S2 使用RTF的FindTxt方法 得到行号。SelText设置颜色(一会查)
'   S3 行号count暂存至tmpi,继续查找
'   S4 查找下一个,行号与tmpi比较,相同停止,不同回S2
'下面开始编码
count = MDIForm1.ActiveForm.CodeInp.find(keyword, , , 2)
tmpi = 0
ok2go = False
'here,it's a bug
'it could now GO ON FINDING
    While ok2go = False
        If count = -1 Then
            'no match word could resume next
            ok2go = True
        Else
            MDIForm1.ActiveForm.CodeInp.SelColor = colorset
            'here add something which could make the program go on serching
            'not stop replacing the ONLY word all the time
            If count = tmpi Then
                ok2go = True
            Else
                'not do nothing but do something to make the program go
                MDIForm1.ActiveForm.CodeInp.SelStart = MDIForm1.ActiveForm.CodeInp.SelStart + MDIForm1.ActiveForm.CodeInp.SelLength + 1
            End If
        End If
    Wend
End Function


2007-7-27 10:06
查看资料  发送邮件  发短消息 网志  QQ   编辑帖子  回复  引用回复
slore
铂金会员





积分 5211
发帖 2478
注册 2007-2-8
状态 离线
『第 15 楼』:  

rich没有用过,因为速度的问题……所以帮不上
你的算法我理解不了……我着色的话是设置写分割符号一般是
SplitWords = ",.?!;:\/<>(){}[]""'=+-|*%@#$^& " & vbCrLf & vbTab & vbNullChar

遇到他们停止,这样可以把代码的关键字一个词一个词的处理……
循环从1到strlenth,只前进不后退。。




MDIForm1.ActiveForm.CodeInp.可以with掉。。。

注释干嘛用e文~~

2007-7-27 10:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
<<   [1] [2] [3] [4] [5]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转:  



[ 联系我们 - 中国DOS联盟 ]


Powered by Discuz! © 2001-2011