本工作室自主开发十多款实用软件,为纯绿色软件,安全可靠,不写注册表,不污染操作系统任何地方,绝不附带任何无关软件,绝不困绑任何插件,支持所有WindowsXP以上系统
论坛的首页 勇芳的软件
教程和帮助
  • VisualFreeBasic编程文档
  • 勇芳系列软件帮助说明教程
  • 留言或交流 登录
    登录
    侧边栏壁纸
    博主头像
    勇芳

    • 累计撰写 330 篇文章
    • 累计收到 0 条评论
    • 首页
    • 栏目
      • 论坛的首页
      • 勇芳的软件
      • 教程和帮助
        • VisualFreeBasic编程文档
        • 勇芳系列软件帮助说明教程
      • 留言或交流
      • 登录
    作者 【1】 的文章
    • VisualFreeBasic指南_编写64位32位通用软件 2026-1-20
      VisualFreeBasic指南_编写64位32位通用软件 为了软件可以同时能生成32位和64位软件,正常使用。 如何区分是32位还是64位 代码判断:  if len(UInteger)=4 then 32 else 64 编译判断: (编译时选择性编译,64位不会编译32位代码,32位不会编译64位代码) #IfDef __FB_64BIT__     。。。这里是 64 位要运行的代码,32 位时会被丢弃 #Else     。。。这里是 32 位要运行的代码,64 位时会被丢弃 #endif 32和64通用变量类型: Integer       :32位时是 32位整数 等同于 Long,64位时是 64位整数 等同于 LongInt  UInteger     : 同上,加个U 其它数值类型不变化。
      • 2026年-1月-20日
      • 88 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic指南_标准FreeBasic 2026-1-20
      VisualFreeBasic指南_标准FreeBasic 新建工程时,有个 [标准FreeBasic] ,这是 标准FreeBasic模式 ,为了兼容早期纯代码时期的代码,以及在 FreeBasic网站下载的代码用。 简而言之,就是VisualFreeBasic5没有对代码加工处理,直接编译。 标准FreeBasic模式 下,函数库不可用,也不处理函数定义等等,和原始的 IDE 一样,适合资深用户,新手可以编译网上的代码用用就好,然后复制主要代码用。 有些资深用户需要特殊要求,或编写特殊软件,比方写DLL,很纯的,就几个函数,那么用此模式编译,生成的DLL 文件大小,非常小。 由于VisualFreeBasic5做了大量底层工作,因此我们写代码非常方便,而标准FreeBasic模式 则什么也没干,什么都需要自己做。 新手们可以用此单独学习和研究 FreeBasic 代码,非常实用。 文件扩展名为  .BAS  ,FreeBasic网站下载的,和很多例题是 BAS 的,就可以直接打开编译了。
      • 2026年-1月-20日
      • 90 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic指南_支持高分屏(DPI) 2026-1-20
      VisualFreeBasic指南_支持高分屏(DPI) 电脑显示器起初都是 100% 的 DPI ,就是 96像素 DPI。 随着高分辨率显示器的出现,和 WIn10 的出现,越来越多电脑的 DPI 会是 125%  150%  200% 等等。 VisualFreeBasic5 已经很好的支持它们,无需我们考虑高DPI下软件显示的问题 但是,如果你要用代码调整控件位置和大小,那就必须要使用以下函数,就可以应对 不同DPI的情况了。 因此,VFB为大家提供4个DPI函数 DpiScaleF 带小数计算 DpiScaleI 只保留整数 DpiUnScaleF 带小数计算 DpiUnScaleI 只保留整数 函数 [DpiScaleI] 你编程时按照 100% DPI 写,套上函数即可,比如: me.move DpiScaleI(100),DpiScaleF(100) 所有,有关位置和大小,都需要使用这个函数转换,才可以自动适应不同DPI。 有顺转换,当然有逆向函数,把其它DPI的值转换为 100%DPI时的数值 DpiUnScaleI  DpiUnScaleF
      • 2026年-1月-20日
      • 74 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic指南_工程属性 2026-1-20
      VisualFreeBasic指南_工程属性 正在备货中
      • 2026年-1月-20日
      • 84 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic指南_多国语言 2026-1-20
      VisualFreeBasic指南_多国语言 工程属性里,选上多国语言 就选上,你的软件就支持了多国语言 然编译以后,在你本软件 EXE的文件夹下就生成一个文件: "Languages.txt" 这个就是语言文档,打开文件后,就可以把原文翻译成译文。 多国语言处理函数  加载语言文件,请确保最先被执行 vfb_LoadLanguage(app.path & "Languages.txt") 一般情况,我们都放在入口函数里加载 Function FF_WINMAIN(ByVal hInstance As HINSTANCE) As Long         vfb_LoadLanguage(app.path & "Languages.txt") ‘加载语言文件    Function = False End Function 窗口和控件上的文字,都会被自动提取到语言文档中,而代码中那些需要提取,那些不需要,需要你自己套个函数来确定,只有套这个 vfb_LangString 的文字才被提取到语言文档。 vfb_LangString("文字")  注意:这个 “文字” 必须是文字,不允许 变量、表达式,函数等等。
      • 2026年-1月-20日
      • 79 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic指南_图像管理器(资源管理) 2026-1-20
      VisualFreeBasic指南_图像管理器(资源管理) 图像管理器,其实是资源管理,可以放任意东西,因为大多是存放图像的,因此习惯上叫它为图像管理器。 叫什么没关系,知道这是干什么的即可。 就是可以把任意文件打包进EXE里的管理器,很多时候我们用到到图标,图片文件等,打包后,可以用代码实现读取,供我们使用。 名称:用于代码中标识这个资源。由 IDE 自动产生,不允许用户自己修改。 格式:每种格式,WINDOWS系统 都有不同的API 负责直接读取。 例题 :  从资源里加载图标   LoadIcon(app.hInstance,"IMAGE_xxxx") 从资源里加载图像    LoadImage(app.hInstance,"IMAGE_xxxx", IMAGE_ICON, 0, 0, LR_SHARED) 从资源里加载原始数据到 String 变量里   a= GetResourceStr(资源名称) '注意,这是原始数据加载,不是字符串加载 控件属性里包含图标或图片的,点击后就到这里引用 双击选择的文件或附加,就绑定到控件,控件就自己使用它了,不需要你写任何代码。  
      • 2026年-1月-20日
      • 88 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic指南_创建和显示窗体 2026-1-20
      VisualFreeBasic指南_创建和显示窗体 创建窗体 ------------ 在【工程】菜单中选择【新增窗口】,再选择个模板,即可按照模板一样创建出一个窗口了。 显示窗体 ----------- 代码输入:即可显示出这个窗口,其中 Form1 是窗口名称,根据在工程中的名称来输入。 Form1.Show    显示窗口,其永远在某个窗口之前(主从关系)-------------- 代码输入:这样F2窗口永远在F1之前了。(F2窗口成为F1的附属窗口) Form2.Show Form1.hWnd      其中 hWnd 为窗口句柄,是系统为每个窗口和控件分配的数值,在WIn系统中,所有窗口和控件都分配独立的值,不会发生重复,这是为了API 操作窗口和控件来标识的。 例题: Dim aa As HWND = Form2.Show(Form1.hWnd )       ’aa 返回新创建的 F2窗口的句柄。 模态窗口 -------------- 代码将会暂停到此,等待F2窗口关闭后,才会执行到下一行代码,其间点击 F1窗口会发生声音警告,不可以操作 F1窗口。 Form2.Show Form1.hWnd,True      传值给窗口事件 ------------------ 例题:把 999 的值传给它 Form2.Show Form1.hWnd,False,999 这个值会传递到窗口的创建和显示事件中 Sub Form2_Shown(hWndForm As hWnd,UserData As Integer) Sub Form2_WM_Create(hWndForm As hWnd,UserData As Integer) 这 UserData   变量,就是传来的值。 复用窗口 (需要在编辑时,窗口上“多开”属性,选择允许)--- 执行一次  Form2.Show    就出一个窗口,执行2次,就出2个窗口 N次就 N多窗口。 复用窗口后,操作窗口和其控件时,必须多一个步骤,就是先设置句柄,例题: 每个事件都有个窗口变量:hWndForm Me.hWndForm = hWndForm   Label1.hWndForm = hWndForm Form2.Text1.hWndForm = hWndForm  必须先设置后,才能执行后面控件操作。因为你重复开启同一个窗口,那么系统无法知道你具体操作的是那一个,只能用窗口句柄来识别。
      • 2026年-1月-20日
      • 79 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic指南_函数的参数选择 2026-1-20
      VisualFreeBasic指南_函数的参数选择 就是需要输入函数时,有可选项,自动提示选项给输入选择 如图所示,打了“,”后就出个选择,这里的选择,自己写的函数可以完全自己定义。 定义方法: 在函数的注解里  {1.数据1 说明2.数据2 说明1.数据3 说明3} 用 {} 包括所有数据,用英文小数点分割,第一个是数字,表示第几个参数,英文等号,表示为返回选择, Sub aabbcc( Modal As Boolean = False) ' {1.True.False} End Sub 这样在打代码时 aabbcc( 打了 ( 就有提示True 和 False 的提示了。
      • 2026年-1月-20日
      • 90 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic指南_DLL声明和生成 2026-1-20
      VisualFreeBasic指南_DLL声明和生成 调用其它DLL 先复制DLL到软件的输出文件夹 静态调用:声明DLL Declare Function 函数名 Lib "dll文件" Alias "DLL中的函数名"(ByVal eID As Integer  ) As  Integer  一般在 特殊函数的 程序起始模块 中声明(为了不出问题,强力要求在起始模块里声明DLL) "dll文件"  文件名,但不可以包含  “.dll”   ,就纯名字,不包含扩展名 以上适合带符合输出的DLL使用,VFB默认都是带符合号的,"DLL中的函数名@4"  全部是大写。@4 是和参数有关,1个参数是@4 ,2个是@8 等。 VFB 调用VFB写的DLL,不需要加符合(@4),可以省,其它编程就必须要加符合了。如果是其它按照标准C写的DLL,需要加层说明。 Extern "C"        Declare Function 函数名 Lib "dll文件" Alias "DLL中的函数名"(ByVal eID As Integer  ) As  Integer End Extern 套了层 C 模式,函数名要区分大小写,不带 @4 等符号,绝大多数DLL都是C模式,因此必须套上。 动态调用DLL:直接上代码 1)加载DLL  Dim As Any Ptr library = DyLibLoad( "DLL文件名" )  '就文件名,不能带 .DLL    If ( library = 0 ) Then       AfxMsg "加载DLL失败"       Return 1   End If 2)声明函数   Dim AddNumbers As Function( ByVal As Integer, ByVal As Integer ) As Integer   AddNumbers = DyLibSymbol( library, "ADD2" )  ' 特别提醒,必须全部大写   '从DLL查看器里可以看到全称是 ADD2@8 ,而FB用FB的DLL可以省略  @8 的符号    If ( AddNumbers = 0 ) Then       AfxMsg "无法在DLL中检索Add2函数的地址"       Return 1   End If 3)使用,和使用本地函数和静态方法一样,无区别 a=  AddNumbers (b,c) 4)完成后卸载   DyLibFree( library )   '卸载DLL ,特别注意,假如DLL还在工作,卸载会让软件崩溃 生成DLL 自己写DLL,若想要输出函数,在函数名后面加  Export   即可,如: Function aaa(ByVal b As Long) As long Export 此时输出会带符号,其它软件声明时,需要加符号 如: Declare Function 函数名 Lib "dll文件" Alias "AAA\@4 "(ByVal b As Long ) As  Long 函数名全部变大写。当然我们也可以生成标准C 的DLL Extern "C"   '注意:此代码必须在 特殊函数的 程序起始模块中 ,其它普通的可以在任意地方        Function aaa(ByVal b As Long) As long Export             ......      End Function  End Extern 其它软件声明就按照C声明即可。标准C,函数名区分大小写。(VFB 默认会全部变大写) 减少生成DLL文件大小的方法: 假如不用GDI+,工程属性里取消 GDI+ \ 在特殊函数的 程序起始模块中注销不使用的引用:如  #include Once "afx/CWindow.inc"   等 (注意:注销后编译出错,就恢复,编译正常表示没用到,就可以省一点点大小。)  DLL返回String问题: DLL中有个函数返回String,EXE调用这个DLL函数就会发生内存泄漏问题BUG(DLL和EXE必须是FB写的,其它编程语言在任何情况下都不可以使用返回字符或字符作为参数)  例:DLL中代码 -------------------- Function Myaaa1()  As String  Export '    Dim As String ss    ss="ferdddd"     Function = ss End Function EXE中代码 ---------------- Declare Function Myaaa1 Lib "FunSupLib" Alias "MYAAA1"()  As String      Dim i As Long ,ss As String    For i=0 To 100000       ss = Myaaa1()    Next 用多次循环,就能直接在进程管理器发现此时EXE的内存占用变大。 解决方法代码:DLL ------------------- Function Myaaa1() ByRef  As String  Export '    Static As String ss    ss="ferdddd"     Function = ss End Function EXE代码 -------------- Declare Function Myaaa1 Lib "FunSupLib" Alias "MYAAA1"()  ByRef  As String  就是加个 ByRef 定义和 DLL中使用 Static 来返回变量即可。
      • 2026年-1月-20日
      • 83 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • VisualFreeBasic指南_代码库 2026-1-20
      VisualFreeBasic指南_代码库 什么是代码库 在编程中,代码库是一组可重复使用的代码模块、函数、类等的集合。它可以帮助程序员提高开发效率,避免重复编写相同的代码。代码库可以是编程语言自带的标准库,也可以是由第三方开发的库,还可以是程序员自己编写并积累的自定义库。 代码库类型 以上除了“我的代码库”(自定义库),其它都内置在 VFB里,供大家直接使用。 自己编写“我的代码库” 在新建工程中,选择“我的代码库”,然后取一个新建的名称,创建一个即可。 安装第三方库 库的来源:网上找到或别人给你的。一般在 VFB编程群里下载 下载文件后,解压文件到,VFB软件文件夹中的 Private 子文件里 最后在 VFB中,刷新代码库 刷新以后,在我的代码库中,就会显示 每个库都有自己的使用方式,假如库有专门的使用说明,可以点帮助区,打开查看 自己创建的库,需要支持库的设置方法 假如你自己写的库,需要带一个动态库或静态库的,需要写好库文件。 VFB软件识别的是 *.INC 文件,这个是我们自己写的库代码 选择我的代码库里的相关的库,然后点击设置 设置里面的拷贝列表 格式为,一行一个文件:c(只是复制)|代码库文件名|输出文件名 编译完成后,需要删除:k(复制删除)|代码库文件名|输出文件名 以上是截图中,是需要静态库,要是用静态库,就用以下设置 32位 c|cairo32.dll|cairo.dll 64位 c|cairo64.dll|cairo.dll
      • 2026年-1月-20日
      • 106 阅读
      • 0 评论
      VisualFreeBasic编程文档
    • 29
    • 30
    • 31
    • 32
    • 33
    博主栏壁纸
    博主头像 勇芳

    330 文章数
    0 评论量
    • QQ游戏大厅多开版_旧版_2012到2025版
    • 使用Sandboxie沙盒多开QQ游戏大厅
    • Sandboxie沙盒(隔离软件)
    人生倒计时
    最新评论
    链接
    • 公益·寻亲,让爱回家
    • Visual Basic6 语言和控件手册
    • CWindow类库帮助FreeBasic版
    • FreeBASIC 帮助文档中文版
    • Windows GDI 编程手册
    • Windows GDI+ 编程手册
    • SQLite3数据库API手册
    • WebBrowser控件编程手册
    • Win32API参考手册
    • Windows 编程宝典
    • WinHttp参考资料
    • WMI编程手册
    • VisualFreeBasic编程文档
    舔狗日记
    载入天数...载入时分秒...

    © 2025 勇芳软件工作室 版权所有

    ICP备案图标 浙ICP备11006222号-1 | 公安备案图标 33100402331731号

    powered by emlog 浙ICP备11006222号-1