博文
热烈庆祝中文PureBasic支持站点PureBasic.CN 正式开通,(2006-03-10 13:20:00)
摘要:PureBasic 是一个新的基于"BASIC"标准的"高级"编程语言. 它兼容其它任何 "BASIC" 编译器, 不管它是Amiga 或 PC 格式. 学习 PureBasic非常简单! PureBasic已经赢得了很多初学者和专家.编缉时间是确实很快.它已经开发了Windows的版本. 为快速认识和系统学习这门语言,我做了大量的工作,使用了友好的语言.
语法很简单并且可能是非常"高级"的函数,如指针,结构,过程,动态链表等. 富有经验的程序员可以毫不费力的访问系统支持的结构和 Windows API .PureBasic 是一个兼容性广泛的编程语言,支持 AmigaOS (680x0 和 PowerPC) 和 Windows计算机系统. 这意味着同样的代码可以被编译为两种系统的本地代码而流畅运行.没有瓶颈象虚拟的机器和代码翻译器,生成的代码是一个优化过的可执行程序.外部库是充分写了支持优化的汇编程序,每个程序非常快,命令常常比C/C++还快或等同.
PureBasic主要特色:
- 支持486, Pentium (Pro, II, III) - 内嵌数组, 动态表, 复合体结构,指针,和变量定义- 已支持类型: Byte (8 bits), Word (16 bits), Long (32 bits), Float (32 bits) 和用户自定义类型(结构)- 内建字符串类型(characters)- 支持常量,二进制和十六进制的数值- 常量和数字数据可写在一个表达中- 标准算术支持遵守符号优先和括号: +, -, /, *, and, or, <<, >> - 高速编译器, 大约 300 000 行/分钟在P200!- 过程支持本地和全局变量结构编程- 支持所有标准 BASIC 关键词: If-Else-EndIf, Repeat-Until, 等等- 使用专用库操纵 BMP 图象, windows, gadgets, DirectX, 等等- 使用专用用库充分写了支持优化速度和体积的汇编程序- 象BASIC关键字一样完全支持Win32 API- 汇编程序内嵌- 为快俦嘁胧褂霉潭ㄎ募け嘁虢峁?BR>- 结构化 CLI编译器- 高效率......
ListView ,MSFlexGrid 直接输出到打印机的函数写法!问题解决人:laviewpbt(2005-11-23 10:17:00)
摘要:ListView ,MSFlexGrid 直接输出到打印机的函数写法!问题解决人:laviewpbt(人一定要靠自己) ,mylzw(芃)
把ListView 里的内容做个参数为ListView 对象,使用VB的Printer 对象打印出来的函数!下面是打印MSFlexGrid 的代码,不知道怎么打印我说的ListView!以下是参考代码:Sub print_grid(Grd As MSFlexGrid, MainTitle As String, SecTitle As String, PageLine As Integer, DjCol As Integer, JeCol As Integer) Dim x0 As Single, y0 As Single Dim x As Single, y As Single Dim fs As String * 10 Dim zje As Currency, yje As Currency Dim HzNum As Integer Dim n As Integer, r As Integer
Dim dx(0 To 20) As Integer Dim Cellf(0 To 20) As Single
Dim str1 As String, str2 As String, str3 As String, str4 As String Dim I As Integer, j As Integer, k As Integer 'Load printer 'printer.Show If Grd.Rows <= 1 Then MsgBox "本表格没有数据,没有必要打印!", 48, "提示" Exit Sub End If x0 = 10 '打印边界 y0 = 20 With Grd '计算栏空 dx(i) .Row = 1 w = .Width Fo......
经过几个月的测试和试用,CoderHelper 又改进不少!更多的漏洞被修复和弥补!有兴趣的进来看看(2005-11-23 10:15:00)
摘要:CoderHelper没有新加功能,目前版本只是修复了更多的错误!大概30多个地方已经纠正!不了解的朋友如果要查看截图可以打开这里: http://blog.csdn.net/MysticBoys/Gallery/150145.aspx具体介绍点这里:http://www.mysticboy.nease.net/coderhelper/index.htm
目前主要功能如下:
工程资源管理器-比VB本身的功能更强大!支持分组管理!
软件国际化工具-可是制作软件语言包!自动编写访问代码和语言包信息!
VB代码窗口中键支持-代码窗口不再有任何鼠标上的不自在
软件帮助体制-快速制作软件帮助,自动创建各个对象的帮助页面以及帮助工程文件,自动配置帮助ID到软件中!让你不再为配备帮助机制而烦恼!
代码注释Web页-自动生成代码注释报表!可为报表自动添加到IIS,或编译为CHM
Share Dll 编译工具 -自动强制编译 ActiveX Dll为 标准可输出函数DLL(如:shell32.dll)
内置浏览器 在IDE内即可浏览网页或其他内容文本编辑器 可编辑开发LOG,可直接修改VBP FRM。保存后自动重新加载!
自动保存功能- 可自动在指定时间间隔中保存工程文件
自动代码备份-自动完成备份!
简单的代码注释-该功能简单实用,HelpCtID是和该方法的HelpContnentID同步的.成员描述也是同步的,它的更改也将更改该成员的描述.开发库和控件时,这时一种添加方法说明的最好方法
新式标签功能-如果你在代码中插入"'>MyCodeA<"这样引号内的内容,您将看到在标签管理器中列出当前活动代码窗口的所有标签,双击它,代码窗口立刻跳至该标记出.大大的方便了您的编程工作.
丰富了命令行功能 命令行中可以直接调用本插件大部分功能。简单的命令即可完成很多复杂的鼠标操作或其他信息! 点这里查看详细内容! http://www.mysticboy.nease.net/coderhelper/cmdline.htm
最新升级包下载地址:www.mysticboy.nease.net/coderhelper/downdload/ch1.0.52.exe
完整安装包和升级包下载地址:ht......
从RegSvr32的错误,得出 微软的人也偷懒!呵呵! (2005-09-30 16:18:00)
摘要:我的一用户在2000中安装CoderHelper时。windows instiller 安装进程全部无错误进行!但是打开V B后没有发现CoderHelper存在,本人立即断定可能是没有注册DLL。可是在XP下是没有任何错误的。可是在2000下???
打开[运行]输入 regsvr32 e:\Program Files\Mysticsoft\CoderHelper\CoderHelper.Dll 接着跳出 LoadLibrary("e:\Program") Failed 原来 参数使用了类似VB中的Split函数。使用空格为分隔符号。导致了该错误。
那么由此推断,WinInster是调用了 RegSvr32来注册DLL,而不是使用API函数来注册的。看来微软的人也偷懒!呵呵!使用API函数调用DLL的注册函数是很麻烦。但是也不过30行左右的代码而已!......
中文语音合成,文本到语音的转换类库。只支持中文发音。识别数字发音。不支持多音字的识别。 (2005-09-30 16:17:00)
摘要:http://www.mysticboy.com.cn/srl/srl_voice.htm 这是个经过改进的版本.同时提供了更多的发声函数,相对1.0,1.1来说,对汉字的朗读更加灵活,更加多样,同时,采用的的音频压缩技术使得发声包体积更小,但是,本版本不再支持上一个版本的VOC文件,也不再提供语音包制作工具,所有修改权MysticBoy将保留. -------------------------------------------------------------------------------- 下面是部分函数的介绍和使用方法: SrlTextVoice 类 Sub Speak(txtText As String) '朗读汉字,txtText为朗读的文本,注意所有数字将被识别为数据来朗读,比如:"234"朗读为"二百三十四",而不是"二三四" Event Speaking(txtChr As String, Cancel As Boolean) 朗读每个汉字时发生,如果Cancel为假则放弃朗读整个语句,txtChr为当前朗读的汉字,该事件不发生在朗读拼音时! Sub SpeakSpelling(SpellingText As String) 朗读拼音,SpellingText必须服从以下格式: 必须是拼音字母 拼音后必须是声调, 必须是正确的拼音 以上三点如果有任何一个被违反,那么程序将不朗读当前字,继续下一个段拼音 拼音之间必须使用空格分割开,比如:"ma1 yan2 hong2"是正确的,"ma1yan2;hong4"是错误的! Property Speed As Single 朗读汉字的速度, 最小不小于0.15秒,最大不大于2.5秒,超出范围程序自动纠正! Property VocFileName As String 发音包文件名字,如果你在安装本程序后没有设置过此项,程序在初始化时读取系统目录下一个叫"Srl5Config.ini"的文件,该文件类包括了最后访问时间和默认的发音包文件名称,如果不是特别需要,请不要更改此信息. Property VoiceSymbol As Boolean决定是否自动识别并朗读符号,比如".","%"等!......
CoderHelper 给您的工程生成帮助体制。。。(2005-09-30 16:12:00)
摘要:功能如下:
根据应用程序类型和各种对象类型,自动配置帮助.例如:一个标准的EXE就不会给Class和UserControl配置帮助机制,但是如果项目是ActiveX OCX,程序自动给Public属性为真的控件配置帮助,同时工程中的Class如果不是私有的,也会为其中的每个公有的事件,属性或方法配置帮助机制.
自动生成帮助HHP项目文件,HHK索引文件,HHC内容表文件,和HelpContextID的常量包含文件以及VB的常量代码,同时为每个对象生成HTML帮助文件,每个HTML文件将独自占有一个同名的目录,在此目录中您可以防止与此HTML文件相关的文件,如图片等!如果该HTML文件存在,向导不覆盖此文件,所以您可以放心的使用编辑软件编辑,而不用担心重新生成时会被覆盖,但是HHP项目文件,HHK索引文件,HHC内容表文件将被重写.
注意:
您需要注意的是,程序在修改了工程的帮助文 件属性后,如果直接关闭,则VB不会保存此属,您可以修改一下[工程]->[属性]然后确定后保存.同时你可以在您的启动窗体Form_Load()或启动模块Main()中设置App.HelpFile来设置帮助文件的路径.同时您需要了解下面的信息: HelpFileName命名规则: 如果您的项目是工程组,直接使用工程组名称,如果单工程,在工程名称名称前加"VBP_".如 工程名称为: "MyPjt" ,则命名为 "VBP_MyPjt".设置代码如下:App.HelpFile = App.Path + IIF( Len( App.Path ) = 3 , "" , "\" ) + "Help\" + HelpFileName +".CHM"例如:单工程:MyPjtApp.HelpFile = App.Path + IIF( Len( App.Path ) = 3 , "" , "\" ) + "Help\" + "VBP_"+App.ProductName +".CHM"
提示: 使用Microsoft Office FrontPage时请不要删除本向导生成的任何一个文件,如果删除,可能造成无法使用HTML Help Workshop编......
专为VB制做的多语言软件开发工具,可以轻松完成对可视界面的多语言化,您只需要制做语言包母板后翻译复制(2005-09-30 16:06:00)
摘要:程序将向您的代码中添加以下代码,以便您访问语言包:
API: Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long 由于语言包是使用INI格式保存的,程序添加了该API函数,如果该API已经存在,将不添加.
在窗体的 Load 事件中添加调用界面语言加载子程序的代码.Private Sub Form_Load()Call frmMain.CoderHelper_VBMltLug_InitfrmMain(App.Path + IIf(Len(App.Path) = 3, "", "\") + App.EXEName + ".exe.lag") 'CoderHelper专用代码行请不要删除! '括号内的过程是计算语言包文件的文件路径和文件名称,文件名称是以可执行文件的路径为准,其文件名后加".lag"为扩展名的文件.要翻译该文件,请复制后打开使用文本工具翻译.在后续版本中,将提供部分翻译和转换方面的工具.
添加界面初始化程序.该程序的参数为一个有效的语言包文件的完整路径.Public Sub CoderHelper_VBMltLug_InitfrmMain(lngFileName As String)'MysticBoy 提醒您:由于一些控件的属性可能是只读的或在运行时是不可用的,建议调试以下代码. Me.CmdDown.Caption = ch_GetKeyVal(lngFileName, "frmMain.CmdDown", "Caption", "V") {......}End Sub 由于部分控件的部分属性在运行时是只读或是不可用的,建议在你编译工程之前,请调试该段代码,
该函数将用于访问语言包......
CoderHelper 正式发布1。0。41 版本,功能更加强大,性能更加稳定。(2005-09-30 16:05:00)
摘要:2005年09月04日 此版本为正式版本的修正版,应网友"很爱很爱你"提出的建议和"正号"以及其它网友提出的意见,新增了自动保存同时添加了窗口自动化管理功能,使得你的工程中很少打开的元件一律关闭,而不是让整个IDE乱七八糟,满屏幕窗口.同时新增加了企业版,专业版,个人版和免费版,您可以自由选择,其中,免费版可以说是最适合低配置计算机.而企业版具备全部功能.您要注意的是,你选择的功能越多你的VB会运行起来越慢,因此你可能需要一台CPU至少在1.1GB内存为256的WindowsXP计算机来运行.理由很简单,MysticBoy就是在这样的机器上开发的.相对前面的版本,启动速度提高到了1秒之内.调用效率方面也做了调整.非注册版本取消了部分广告内容!修正了部分漏洞和错误.使得程序运行起来更可靠,更稳定.
您需要向其它开发组成员解释自己的代码吗?您需要快速的为软件定制帮助体制吗?你希望代码被自动备份吗?您希望一次性向模块中添加版权信息吗?你还希望有一个功能更加强大的资源管理器吗?最重要的是您是不是还希望提高使用VB的效率呢? 为此,MysticBoy为您提供了这样一个工具.CoderHelper: 可显示窗体等的控件.以及其方法,属性,变量,函数,并能自动识别API函数来特别显示在树结构中.自动按照类型分组显示.相关文档自动调用程序打开编辑.支持元件分组显示,在有分组的情况下,CTRL+右键显示菜单.代码使用三种方式自动缩进.可直接使用内置编辑器修改不可见代码,保存后自动重新加载,方便修复损坏元件.丰富的命令行代码.可计算表达式子,显示项目其他各种信息.快速调用其他程序等.可自动添加版权信息.可自动配置帮助机制.可自动生成代码注释Web页.可变态编译项目为DLL输出.支持自动代码备份.提供系统环境变化监控,提供全屏取色,hWnd类查看,放大镜2-32倍放大.即将支持更强大的代码缩进能力,代码库支持,代码模板功能,自动配置元件功能,函数模板,常用函数自动快速插入(包括自适应主题代码),错误处理代码自动配置.添加更加强大包括中文说明信息的API浏览器.还将添加更加强大的资源编辑工具,无效元件不可见代码自动修复功能. 它的功能依然还在逐渐强大和......
得到VB的控制权(2005-09-30 16:02:00)
摘要:首先,外接,故名思意,当然必须是要和vb一起启动!在新建一外接工程后.新工程中设计器中有 Conncet.Dsr有这一元件,元件中有最为关键的一个事件 Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)这个事件中的 Application 就是VBIDE.要想控制VB,就必须从这里入手.因此在声明区就有了 Public VBInstance As VBIDE.VBE 这行代码,在这个事件中就有了 Set VBInstance = Application .然后,你的外接程序就可以直接控制整个VB.建议不要使用太长的变量名VBInstance,而使用VBI这样的短名称.编程可不是写文章.你能简短就简短.目的是完成功能,而不是让人欣赏你代码的编写艺术. ConnectMode 让会让你写的软件具备标准外接的连接方式.如果不标准,那你的代码虽然简练了很多,但是功能却让人却步.
言归正传, ConnectMode = ext_cm_External 时,那是为向导准备的.新建一个 向导,其元件Wizard中的代码就很明显,简单明了的告诉你,"被向导工具栏用来启动向导"If ConnectMode = ext_cm_External Then'被向导工具栏用来启动向导LoadMeElse[...]End If
当然,现在我们步创建向导,创建向导也步用操心太多,很多工作模板中已经存在了,可是有个问题我很好奇,为什么没有创建向导的向导呢,这似乎是个具有讽刺意味的事情,但是从VB6到VB.Net我似乎没听说过.
下面接着做的就是添加到VB的工具栏或菜单里了.同样工作很简单,很重要的一点,你需要声明一个响应按钮的事件对象 :Public WithEvents evnMyCmdBar As CommandBarEvents CommandBarEvents 只有一个事件,就是 Click .光这样声明了是没有用......
在VB中创建您自己工具条和菜单(2005-09-30 16:01:00)
摘要:创建工具条依然需要使用到VBI,只要和VB打交道,必须有它,同时在上篇文章所阐述的菜单项的制做方法是对你现在即将做的工作有用的.有一点你必须知道,无论是创建按钮,还是创建菜单项,他们之间是没有区别的.只是有一些地方有一点点不同而已.怎样创建工具条呢?非常简单.VBI.CommandBars.Add cbsToolsBarName此方法后面当然有其它可选参数,但是有些东西对于现在我要阐述的问题是无关的.Function Add([Name], [Position], [MenuBar], [Temporary]) As CommandBar[Position] 是位置.是浮动在VB中还是在VB的上边,下边,左边,右边?参数,你待参考 MsoBarPosition.至于 [MenuBar]参数,指定是哪个菜单栏啦,这个就自己去摸索吧.当然,最后一个参数,我也不知道它有什么用,单至少不会影响你当前的工作,而且以后也不会的.
VBI.CommandBars.Add cbsToolsBarName中的cbsToolsBarName当然是我们的工具条名称.你最好用常量方式.每次向它加按钮时,将会节约你写汉字的事件,如果你写英文,当用户在工具栏点右键时出现的菜单里写的工具条名称是英文的.如果你写中文的话,就是中文的.在处理工具条上我不是高手,因为目前为止,我还不能向菜单条添加一个和[文件]菜单这样的菜单,只能添加它的子项.曾经有一次试图添加,但是可能由于不恰当,造成又一次的失败.如果你知道了一定别忘了告诉我!
在添加了一个工具栏后,向工具条里添加按钮是和向[工具]这样的菜单中添加菜单项是一样的.只是结果是添加到你的工具条里了,同时字符串将用于按钮的ToolTipText而已,这里,你必须为每个按钮准备个图标,一般是32*32的.其它大小当然也可以,只是会变形而已.使用剪贴板加载图标,然后使用上篇文章中所说的PasteFace粘贴就可以了.无论何中格式,均可以添加到按钮上.只要是VB支持的图形.当然,VB支持GIF但是粘贴上的绝对不是动画.这个方法只是封装了BitBlt,把剪贴板中的图象放到一个 DC对象,然后BitBlt到按钮上而已.即使你加载一个GIF,按钮上只能看到的是GIF的第一帧,这何用[图画]程序打开一个GIF是一个道理.我把一......
