论坛的首页
勇芳的软件
教程和帮助
VisualFreeBasic编程文档
勇芳系列软件帮助说明教程
留言或交流
登录
搜索
登录
搜索
勇芳
累计撰写
330
篇文章
累计收到
0
条评论
首页
栏目
论坛的首页
勇芳的软件
教程和帮助
VisualFreeBasic编程文档
勇芳系列软件帮助说明教程
留言或交流
登录
自定义幻灯片
最新文章
2026-1-21
VisualFreeBasic代码_进程
在编程中,进程(Process)是计算机系统中的一个基本概念,代表程序在计算机上的一次执行过程。它是系统进行资源分配和调度的一个独立单元,拥有独立的内存空间和系统资源。不同的进程之间互不影响,可以并发执行。了解并熟练使用进程管理是编程中的重要技能之一,尤其对于需要处理多任务或并行计算的场景。 就是说,每个软件运行后,就有一个进程。 进程的基本概念 进程ID(PID):每个进程都有一个唯一的标识符,称为进程ID(Process ID),用于区分不同的进程。 父进程与子进程:每个进程都可能由另一个进程创建,创建它的进程称为父进程,被创建的进程称为子进程。进程之间的这种关系构成了一个进程树。 进程状态:进程在其生命周期中会有多种状态,如新建(New)、就绪(Ready)、运行(Running)、阻塞(Blocked)和终止(Terminated)等。 进程通信:不同进程间可能需要进行通信以交换数据或同步执行。常见的进程通信方式包括管道(Pipe)、消息队列(Message Queue)、共享内存(Shared Memory)和套接字(Socket)等。 进程的创建 通俗来说,就是用代码打开一个软件,就是打开一个 EXE 文件 OpenFileExe(软件文件名.exe,"参数") 也可以打开系统文件 OpenFileExe("Explorer.exe", 文件夹路径) ‘系统资源管理器打开这个文件夹 OpenFileExe("Explorer.exe", 文件名) ‘系统打开这个文件 OpenFileExe( 文件名,"") ‘系统打开这个文件 OpenFileExe("Explorer.exe","/select," & 文件夹路径) '打开资源管理器,并且选中这个文件夹 OpenFileExe("Explorer.exe","/select," & 文件名) '打开资源管理器,并且选中这个文件名 获取系统中所有进程 操作系统中运行的所有软件,包括系统服务进程 Dim 软件文件() As String, 进程ID() As DWORD Dim u As Long = GetAllPID(软件文件(), 进程ID()) Print "进程数量:" & u For i As Long = 0 To UBound(软件文件) Print 进程ID(i),软件文件(i) Next 其它一些关于进程的常用函数 GetWinProId 由窗口句柄获取进程ID GetParentPID 获取父进程ID,PID是要查的进程ID,默认为自己软件的进程ID Process_GetPath 获取进程文件路径 ProcessKill 杀死进程,终止进程,强制关闭进程 ProcessSuspend 挂起一个进程 ProcessResume 恢复一个进程,被 ProcessSuspend 挂起的,恢复它 RemoteDLLinjection 远程DLL注入 GetCurrentProcessId ' 获取自己进程ID GetCurrentThreadId 获取当前线程ID GetCurrentThread 获取当前线程句柄 GetProcessId 通过进程句柄,返还进程ID
2026年-1月-21日
48 阅读
0 评论
VisualFreeBasic编程文档
2026-1-21
VisualFreeBasic代码_文件和文件夹
编程中处理文件是一项基本且常用的技能,几乎每种编程语言都提供了文件操作的功能。这里我将以一个较为通用的方式介绍文件操作的基本概念和步骤。 文件操作的基本概念 文件操作主要包括以下几个步骤: 打开文件:使用编程语言的文件打开函数或方法打开指定的文件。 读写文件:对打开的文件进行读取或写入操作。 关闭文件:完成文件操作后,关闭文件以释放系统资源。 文件操作的模式 在打开文件时,通常需要指定一个模式(mode),该模式决定了文件是用于读取、写入还是其他操作。常见的模式有: 'Read':只读模式(默认)。如果文件不存在,抛出错误。 'Write':写入模式。如果文件已存在则覆盖,如果文件不存在则创建。 'Lock':排他性创建模式。如果文件已存在,则抛出错误。 'Append':追加模式。如果文件存在,则在其末尾追加内容;如果文件不存在,则创建新文件。 'Binary':二进制模式。 FB语句例题 '创建一个字符串并填充它。 Dim buffer As String, f As Integer buffer = "一个文件中的Hello World。" '获取文件号。 f = FreeFile '打开文件“file.ext”进行二进制使用,使用文件号“f”。 Open "file.ext" For Binary As #f If Err>0 Then Print "打开文件时出错" end if '将我们的字符串放在文件中,使用数字“f”。 Put #f, , buffer '关闭所有打开的文件。 Close end if 直接使用VFB封装函数 读写文件还是比较繁琐的,我们使用封装函数,可以简单方便的使用。 读取文件 文件内容= GetFileStr(带路径的文件名) 写入文件 SaveFileStr(带路径的文件名,文件内容) 判断文件是否存在 if AfxFileExists(带路径的文件名) then 文件存在 else 文件不存在 if AfxFolderExists(文件夹) then 文件夹存在 else 文件夹不存在 配置文件 通常我们会将软件配置、选项等保存到文件中,软件开启后读取这些配置和选项。 配置通常扩展名是 INI ,那样在WIn系统中,也能直接打开查看。 读取配置 aa = INI_GetKey(app.path & "配置.ini","节名",“键名”,"默认值") 保存配置 INI_SetKey(app.path & "配置.ini","节名",“键名”,"值") 节名 如同分类一样,保存的配置会把同一个“节名”保存在一起 键名 在同一个“节名”下,是唯一的名字,依靠此名保存和读取内容 默认值 当读取时,不存在内容,就返回默认值 其它封装函数 文件和文件夹相关的封装函数非常多,以下列举几个函数,想看全部函数的,进VFB里共库查看。 GetDIR 获取所有文件,包括文件夹,返回对象数,返回0表示失败或无文件。 Dim lName() As WIN32_FIND_DATAW ,i As Long ,tt As String PrintA GetDIR("c:\*.*" ,lName()) For i = 0 To UBound(lname) If (lname(i).dwFileAttributes And fbDirectory) <> 0 Then tt = "- 目录" Else tt = " - 文件" If (lname(i).dwFileAttributes And fbReadOnly) <> 0 Then tt &= ", 只读" If (lname(i).dwFileAttributes And fbHidden) <> 0 Then tt &= ",隐藏" If (lname(i).dwFileAttributes And fbSystem) <> 0 Then tt &= ",系统" If (lname(i).dwFileAttributes And fbArchive) <> 0 Then tt &= ",存档" PrintA i ,lname(i).cFileName ,tt Next
2026年-1月-21日
73 阅读
0 评论
VisualFreeBasic编程文档
2026-1-21
VisualFreeBasic代码_其它系统相关函数
函数 功能 [CpuID] 获取 CpuID [WindowMessagePass] 设置低权限软件向自己进程窗口发送消息。 [Cpu_Info] Case 0 'CPU个数 [CPU_UseRate] 获取CPU使用率 [DwmIsEnabled] 获取系统是否启动 Aero ,从Windows 8开始,始终启用DWM [FF_ClipboardGetText] 从 Windows 剪贴板中检索文本字符串。 [FF_ClipboardSetText] 存储到 Windows 剪贴板中的文本字符串。 [GetSys_Bits] 获取系统位数 [IsVista] 是不是VISTA 或以上 [Mem_Info] 内存的相关信息 [PowerOff] 关闭计算机 [WinErrorMsg] WinErrorMsg(GetLastError) '显示API错误 [WriteClipboard] 写入剪切板 [GetTickCount] 获取开机时间 AfxClearClipboard 清除剪贴板的内容. AfxGetClipboardData 以指定格式从剪贴板检索数据。 AfxGetClipboardText 从剪贴板返回文本字符串。 AfxComCtlVersion 返回commctl32.dll版本 AfxGetUserName 检索与当前线程相关联的用户的名称。 AfxGetWinErrMsg 检索指定的Windows错误代码的本地化描述。 AfxIsDPIResolutionAtLeast 确定屏幕分辨率是否满足相对像素的最低要求, AfxIsPlatformNT 如果Windows平台为NT,则返回TRUE;假,否则。 AfxIsSystemFile 如果指定的路径是系统文件,则返回True;如果不是,则为假。 AfxGetComputerName 检索本地计算机的NetBIOS名称。系统从系统启动时,系统从注册表读取该名称。
2026年-1月-21日
58 阅读
0 评论
VisualFreeBasic编程文档
2026-1-21
VisualFreeBasic代码_注册表
对系统注册标进行读写操作 从 Windows 注册表返回一个 DWord 值 Function FF_GetRegistryDWord(ByVal hLocation as HANDLE, sSubKeys as CWSTR, sValueName as CWSTR, ByVal lDefault as DWord) as DWord hLocation HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS sSubKeys 键 sValueName 值 lDefault 默认值 从 Windows 注册表中返回一个字符串。 Function FF_GetRegistryString(ByVal hLocation As HANDLE, sSubKeys As CWSTR , sValueName As CWSTR , sDefault As CWSTR ) As CWSTR hLocation HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS sSubKeys 子项的名称 sValueName 值 lDefault 默认值 其它操作 FF_SetRegistryDWord 将一个 DWord 值设置为 Windows 注册表中。 FF_SetRegistryString 将一个字符串值设置为 Windows 注册表中。 FF_DeleteRegistryKey 从注册表中删除一个值或键。
2026年-1月-21日
59 阅读
0 评论
VisualFreeBasic编程文档
2026-1-21
VisualFreeBasic代码_GetSystemMetrics 系统环境有关信息
这是系统提供的API,获取系统里的各种信息 使用例题: '要取得屏幕大小,可以用下面几个函数: Dim As int cx = GetSystemMetrics(SM_CXFULLSCREEN) Dim As int cy = GetSystemMetrics(SM_CYFULLSCREEN) '通过上边两个函数获取的是 显示屏幕的大小,但不包括任务栏等区域。 Dim As int cx = GetSystemMetrics(SM_CXSCREEN) Dim As int cy = GetSystemMetrics(SM_CYSCREEN) 更多参数和功能 SM_ARRANGE 设置windows如何排列最小化窗口的一个标志。参考api32.txt中的ARW常数 SM_CLEANBOOT 指定启动模式。0=普通模式;1=带网络支持的安全模式 SM_CMETRICS 可用系统环境的数量 SM_CMOUSEBUTTON 鼠标按钮(按键)的数量。如没有鼠标,就为零 SM_CXBORDER, SM_CYBORDER 尺寸不可变边框的大小 SM_CXCURSOR, SM_CYCURSOR 标准指针大小 SM_CXDLGFRAME, SM_CYDLGFRAME 对话框边框的大小 SM_CXDOUBLECLK, SM_CYDOUBLECLK 双击区域的大小(参考注解) SM_CXFRAME, SM_CYFRAME 尺寸可变边框的大小(在win95和nt 4.0中使用SM_C?FIXEDFRAME) SM_CXFULLSCREEN, SM_CYFULLSCREEN 最大化窗口客户区的大小 SM_CXHSCROLL, SM_CYHSCROLL 水平滚动条上的箭头大小 SM_CXHTHUMB, SM_CYHTHUMB 滚动块在水平滚动条上的大小 SM_CXICON, SM_CYICON 标准图标的大小 SM_CXICONSPACING, SM_CYICONSPACING 桌面图标之间的间隔距离。在win95和nt 4.0中是指大图标的间距 SM_CXMAXIMIZED, SM_CYMAXIMIZED 最大化窗口的默认尺寸 SM_CXMAXTRACK, SM_CYMAXTRACK 改变窗口大小时,最大的轨迹宽度 SM_CXMENUCHECK, SM_CYMENUCHECK 菜单复选号位图的大小 SM_CXMENUSIZE, SM_CYMENUSIZE 菜单栏上的按钮大小 SM_CXMIN, SM_CYMIN 窗口的最小尺寸 SM_CXMINIMIZED, SM_CYMINIMIZED 最小化的窗口必须填充进去的一个矩形小于或等于SM_C?ICONSPACING SM_CXMINTRACK, SM_CYMINTRACK 窗口的最小轨迹宽度 SM_CXSCREEN, SM_CYSCREEN 屏幕大小 SM_CXSIZE, SM_CYSIZE 标题栏位图的大小 SM_CXSIZEFRAME, SM_CYSIZEFRAME 具有WS_THICKFRAME样式的窗口的大小 SM_CXSMICON, SM_CYSMICON 小图标的大小 SM_CXSMSIZE, SM_CYSMSIZE 小标题按钮的大小 SM_CXVSCROLL, SM_CYVSCROLL 垂直滚动条中的箭头按钮的大小 SM_CYCAPTION 窗口标题的高度 SM_CYKANJIWINDOW Kanji窗口的大小(Height of Kanji window) SM_CYMENU 菜单高度 SM_CYSMCAPTION 小标题的高度 SM_CYVTHUMB 垂直滚动条上滚动块的高度 SM_DBCSENABLED 如支持双字节则为TRUE SM_DEBUG 如windows的调试版正在运行,则为TRUE SM_MENUDROPALIGNMENT 如弹出式菜单对齐菜单栏项目的左侧,则为零 SM_MIDEASTENABLED 允许了希伯来和阿拉伯语 SM_MOUSEPRESENT 如安装了鼠标则为TRUE SM_MOUSEWHEELPRESENT 如安装了带轮鼠标则为TRUE;只适用于nt 4.0 SM_NETWORK 如安装了网络,则设置位0。其他位保留未用 SM_PENWINDOWS 如装载了支持笔窗口的DLL,则表示笔窗口的句柄 SM_SECURE 如安装了安全(保密)机制,则为TRUE SM_SHOWSOUNDS 强制视觉提示播放声音 SM_SLOWMACHINE 系统速度太慢,但仍在运行中(System is too slow for effective use but is being run anyway) SM_SWAPBUTTON 如左右鼠标键已经交换,则为TRUE
2026年-1月-21日
42 阅读
0 评论
VisualFreeBasic编程文档
2026-1-21
VisualFreeBasic代码_Environ 系统环境变量
Environ 语句是FB语言的语句,用来获取操作系统里的系统环境变量 result = Environ( varname ) varname 参数,和返回什么,看下面列表 WIN7 系统 系统不同,内容不同 1 ALLUSERSPROFILE=C:\ProgramData 2 APPDATA=C:\Users\Administrator\AppData\Roaming 3 CommonProgramFiles=C:\Program Files (x86)\Common Files 4 CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files 5 CommonProgramW6432=C:\Program Files\Common Files 6 COMPUTERNAME=YONGFANG 7 ComSpec=C:\Windows\system32\cmd.exe 8 DEVMGR_SHOW_DETAILS=1 9 FP_NO_HOST_CHECK=NO 10 HOMEDRIVE=C: 11 HOMEPATH=\Users\Administrator 12 LOCALAPPDATA=C:\Users\Administrator\AppData\Local 13 LOGONSERVER=\\YONGFANG 14 NUMBER_OF_PROCESSORS=8 15 OS=Windows_NT 16 Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\ 17 PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC 18 PROCESSOR_ARCHITECTURE=x86 19 PROCESSOR_ARCHITEW6432=AMD64 20 PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel 21 PROCESSOR_LEVEL=6 22 PROCESSOR_REVISION=2a07 23 ProgramData=C:\ProgramData 24 ProgramFiles=C:\Program Files (x86) 25 ProgramFiles(x86)=C:\Program Files (x86) 26 ProgramW6432=C:\Program Files 27 PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ 28 PUBLIC=C:\Users\Public 29 SESSIONNAME=Console 30 SystemDrive=C: 31 SystemRoot=C:\Windows 32 TEMP=S:\ 33 TMP=S:\ 34 USERDOMAIN=YONGFANG 35 USERNAME=Administrator 36 USERPROFILE=C:\Users\Administrator 37 windir=C:\Windows 38 windows_tracing_flags=3 39 windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log XP系统 1 ALLUSERSPROFILE=C:\Documents and Settings\All Users 2 APPDATA=C:\Documents and Settings\Administrator\Application Data 3 CLIENTNAME=Console 4 CommonProgramFiles=C:\Program Files\Common Files 5 COMPUTERNAME=PC-20141206HRKK 6 ComSpec=C:\WINDOWS\system32\cmd.exe 7 FP_NO_HOST_CHECK=NO 8 HOMEDRIVE=C: 9 HOMEPATH=\Documents and Settings\Administrator 10 LOGONSERVER=\\PC-20141206HRKK 11 NUMBER_OF_PROCESSORS=2 12 OS=Windows_NT 13 Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem 14 PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH 15 PROCESSOR_ARCHITECTURE=x86 16 PROCESSOR_IDENTIFIER=x86 Family 6 Model 42 Stepping 7, GenuineIntel 17 PROCESSOR_LEVEL=6 18 PROCESSOR_REVISION=2a07 19 ProgramFiles=C:\Program Files 20 SESSIONNAME=Console 21 SystemDrive=C: 22 SystemRoot=C:\WINDOWS 23 TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp 24 TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp 25 USERDOMAIN=PC-20141206HRKK 26 USERNAME=Administrator 27 USERPROFILE=C:\Documents and Settings\Administrator 28 windir=C:\WINDOWS 29 _DFX_INSTALL_UNSIGNED_DRIVER=1 WIN10系统 1 ALLUSERSPROFILE=C:\ProgramData 2 APPDATA=C:\Users\w10\AppData\Roaming 3 CommonProgramFiles=C:\Program Files\Common Files 4 COMPUTERNAME=WIN-5VHV9G20U4C 5 ComSpec=C:\Windows\system32\cmd.exe 6 FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer 7 FPS_BROWSER_USER_PROFILE_STRING=Default 8 HOMEDRIVE=C: 9 HOMEPATH=\Users\w10 10 LOCALAPPDATA=C:\Users\w10\AppData\Local 11 LOGONSERVER=\\WIN-5VHV9G20U4C 12 NUMBER_OF_PROCESSORS=2 13 OS=Windows_NT 14 Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\ 15 PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC 16 PROCESSOR_ARCHITECTURE=x86 17 PROCESSOR_IDENTIFIER=x86 Family 6 Model 42 Stepping 7, GenuineIntel 18 PROCESSOR_LEVEL=6 19 PROCESSOR_REVISION=2a07 20 ProgramData=C:\ProgramData 21 ProgramFiles=C:\Program Files 22 PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ 23 PUBLIC=C:\Users\Public 24 SESSIONNAME=Console 25 SystemDrive=C: 26 SystemRoot=C:\Windows 27 TEMP=C:\Users\w10\AppData\Local\Temp 28 TMP=C:\Users\w10\AppData\Local\Temp 29 USERDOMAIN=WIN-5VHV9G20U4C 30 USERDOMAIN_ROAMINGPROFILE=WIN-5VHV9G20U4C 31 USERNAME=w10 32 USERPROFILE=C:\Users\w10 33 windir=C:\Windows 34 __COMPAT_LAYER=DetectorsWin8
2026年-1月-21日
50 阅读
0 评论
VisualFreeBasic编程文档
2026-1-21
VisualFreeBasic代码_操作系统
一、操作系统的基本概念 操作系统(Operating System,简称OS)是管理计算机硬件和软件资源的计算机程序,它是计算机系统的核心和基础。操作系统负责配置内存、决定资源供需顺序、控制输入输出设备等,为用户和计算机硬件之间提供了一个交互的界面。 二、操作系统的功能 资源管理:操作系统统一管理计算机的处理器资源、存储器资源、IO设备资源和文件资源等。它通过合理的调度和分配,确保这些资源能够被高效、有序地使用。 提供用户接口:操作系统提供了用户和计算机之间的接口,如图像窗口形式、命令行形式和系统调用形式等,使得用户能够方便地与计算机进行交互。 程序控制:操作系统能够控制程序的执行,包括进程的创建、调度、同步和通信等,确保程序能够正确、有序地运行。 系统安全:操作系统提供了多种安全机制,如访问控制、加密解密、病毒防护等,以保护计算机系统和用户数据的安全。 三、操作系统的种类 操作系统的种类是多种多样的,不局限于计算机。常见的操作系统包括Windows、Linux、MacOS、Android等。每种操作系统都有其独特的特点和适用场景,如Windows操作系统适用于个人计算机和服务器,Linux操作系统则因其开源性和稳定性而广泛应用于服务器、嵌入式系统等领域。 四、操作系统的关键技术 并发性:操作系统能够支持多个程序或进程同时运行,以提高计算机的利用率和响应速度。 共享性:多个程序可以同时使用主存资源,资源共享根据属性分为互斥共享和同时访问两种形式。 虚拟性:操作系统通过虚拟技术将一个物理实体转化为多个逻辑实体,以提高资源的利用率和编程效率。常见的虚拟技术包括虚拟处理器技术、虚拟设备技术和虚拟内存技术等。 五、操作系统的编程接口 操作系统为程序员提供了多种编程接口,以便他们能够在操作系统上进行应用程序的开发。这些接口包括系统调用、库函数和API等。程序员可以通过这些接口来访问操作系统的各种资源和服务,如文件操作、网络通信、进程管理等。
2026年-1月-21日
56 阅读
0 评论
VisualFreeBasic编程文档
2026-1-21
VisualFreeBasic代码_算法
算法是编程中非常重要的一部分,它是一系列解决问题的明确指令,这些指令能够被计算机理解并执行。算法不仅帮助程序员高效地解决问题,还是计算机科学和软件工程领域的基础。下面,我将通过一个简单的算法教程来介绍算法的基本概念、设计步骤以及一些常见的算法示例。 算法的基本概念 输入:算法接收的初始数据。 输出:算法经过处理后的结果。 确定性:算法的每个步骤都必须明确定义,无歧义。 有限性:算法必须在有限步骤内完成。 可行性:算法的每个步骤都必须是可行的,即能在一定的时间内完成。 算法设计步骤 问题定义:明确问题的输入和输出,以及需要解决的问题。 数据结构设计:设计适合问题的数据结构,如数组、链表、树、图等。 算法设计: 选择算法策略:如贪心算法、分治法、动态规划、回溯法等。 设计算法步骤:详细列出算法的执行步骤。 算法实现:用编程语言实现算法。 测试:通过不同的输入数据测试算法的正确性和效率。 优化:如果算法效率不高,尝试优化算法以提高性能。 常见的算法示例 1. 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换的元素为止。 Sub 冒泡排序(数组() As Long) Dim u As Long = UBound(数组) '数组下标 Dim l As Long = LBound(数组) '数组上标 If u = -1 Then Return '数组没初始化 If u - l < 1 Then Return '只有一个 Dim i As Long, j As Long For i = l To u -1 For j = i To u -1 If 数组(j) > 数组(j + 1) Then Swap 数组(j), 数组(j + 1) '把数字比较大的,向后移动,产生从小到大排序。 Next Next End Sub 2. 快速排序(Quick Sort) 快速排序是一种分而治之的算法。它选择一个“基准”元素,通过一趟排序将待排记录分隔成独立的两部分,其中一部分的所有记录均比另一部分的所有记录小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 VFB内置算法 Base64_Decode Base64解码 Base64_Encode Base64编码 CRC32Encode CRC值 (不支持64位,因为没64位库) LzmaDecode LZMA 解码,解压缩 LzmaEncode LZMA 编码,压缩 MD5 Function MD5_FromFile(filename As String) As String RC4 RC4 加密解密(调用它一次加密,再次用相同的密钥来解密) SHA1 SHA1算法 SHA256 SHA256算法 LzmaEncodeStr 压缩字符串,此字符串指的是任意数据,而不是纯粹的文本 LzmaDecodeStr 解压字符串,此字符串指的是任意数据,而不是纯粹的文本 zUnCompress z解压,返回解压后的字符串,不是压缩字符串或其它错误,返回空,此字符串指的是任意数据,而不是纯粹的文本 zCompress2 z压缩,返回被压缩后的字符串,此字符串指的是任意数据,而不是纯粹的文本 Crc32Str 计算源字符串32位校验和,此字符串指的是任意数据,而不是纯粹的文本 Adler32Str 计算源字符串Adler的32位校验和,计算速度比CRC要快得多,此字符串指的是任意数据,而不是纯粹的文本 FileZip 压缩文件为ZIP(注:不支持火星文的文件名) FileUnZip 解压zip文件(注:不支持火星文的文件名) LzmaComprString 压缩字符串,level是压缩级别,0--9,此字符串指的是任意数据,而不是纯粹的文本 LzmaUnComprString 解压由LzmaComprString压缩的数据,此字符串指的是任意数据,而不是纯粹的文本,必须配套使用。 zCompress z压缩,返回被压缩后的字符串,此字符串指的是任意数据,而不是纯粹的文本
2026年-1月-21日
42 阅读
0 评论
VisualFreeBasic编程文档
2026-1-21
VisualFreeBasic代码_内置绘图库
FreeBasic语言 内置的图形处理语句,只支持控制台,且不支持中文,更加不能用于 WIn系统的窗口,但国外FB网站有很多用此编写的游戏例题,都是用此方式编写。 我们写的软件,都是窗口和控件,因此无法使用内置图形语句绘画。 那我们绘画,使用其它方法。 注意:已经被弃用
2026年-1月-21日
65 阅读
0 评论
VisualFreeBasic编程文档
2026-1-21
VisualFreeBasic代码_函数指针
函数指针基础用法 函数指针定义的参数必须和实体函数参数一样,如果有错,调用函数就软件崩溃 声明指针 ---------------- Dim 过程指针 As Sub(aa As Long, bb As Long) Dim 函数指针 As Function(aa As Long, bb As Long) As Long 函数实体---------------- Sub 过程实体(aa As Long, bb As Long) End Sub Function 函数实体(aa As Long, bb As Long) As Long End Function 指针绑定实体 -------------- 过程指针=@过程实体 函数指针=@函数实体 调用函数,和普通函数使用一样 ----------------- 过程指针(11,22) 返回=函数指针(11,22) 动态加载DLL,使用DLL中函数 函数指针定义的参数必须和DLL中一样,如果有错,调用函数就软件崩溃 Dim DLL模块句柄 As Any Ptr = DyLibLoad("DLL文件.dll") If DLL模块句柄 Then Dim DLL函数指针 As Function(aa As Long, bb As Long) As Long DLL函数指针 = DyLibSymbol(DLL模块句柄, "函数名") If DLL函数指针 Then Dim 返回 As Long = DLL函数指针(11, 22) End If End If 执行内存中的汇编 为了安全考虑,WIn服务器版系统,不允许执行变量区内存执行代码,因此下面代码一调用就崩溃,需要你自己用API申请内存为执行代码属性的内存,才可以,汇编都会写,这申请内存的事情应该也会办,不会的就网上搜索吧。 Dim 函数指针 As Function(aa As Long, bb As Long) As Long 函数指针 = CAllocate(500) ''''在内存中写入汇编代码 ‘’‘’‘’‘’ Dim 返回 As Long = DLL函数指针(11, 22) 当然,你只要知道内存中函数地址在那里,都可以随意去
2026年-1月-21日
54 阅读
0 评论
VisualFreeBasic编程文档
19
20
21
22
23