VB自定义文件COPY的类.

ReportX实例(3)VB 本例子下载地址:http://download.csdn.net/source/334323 使用步骤:1、注册控件ReportX.ocx(本压缩包内不包含ReportX.ocx,如果需要请到http://download.csdn.net/source/275430下载)代码:Private Sub AppendCol_Click()  ReportX1.AppendCol 1End S 阅读详情
 

 

 

原代码地址:http://d.download.youkuaiyun.com/down/681014/MSTOP

 
  1. '//================================
  2. '//MSTOP(陈建华)
  3. '//         2001/03/16
  4. '//================================
  5. Option Explicit
  6. Dim M_BkColor As Long
  7. Dim M_BlockSize As Long
  8. '
  9. Private Sub UserControl_Initialize()
  10.         Shape1.ZOrder 0
  11.         M_BkColor = 
  12.         Picture1.Move 0, 0, UserControl.Width, UserControl.Height
  13.         Shape1.Move -Picture1.Width, 0, Picture1.Width, UserControl.Height
  14.         LabPer.Move (Picture1.Width - LabPer.Width) / 2, (Picture1.ScaleHeight - LabPer.Height) / 2
  15.         LabPer.Caption = "0%"
  16.         Picture1.BackColor = M_BkColor
  17. End Sub
  18. Private Sub UserControl_Resize()
  19.         Picture1.Move 0, 0, UserControl.Width, UserControl.Height
  20.         Shape1.Move -Picture1.Width, 0, Picture1.Width, UserControl.Height
  21.         LabPer.Move (Picture1.Width - LabPer.Width) / 2, (Picture1.ScaleHeight - LabPer.Height) / 2
  22. End Sub
  23. ''
  24. Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
  25.     BackColor = PropBag.ReadProperty("BackColor", &H80FFFF)
  26.     Picture1.Appearance = PropBag.ReadProperty("Appearance", 0)
  27.     Set LabPer.Font = PropBag.ReadProperty("Font", Ambient.Font)
  28.     LabPer.FontSize = PropBag.ReadProperty("FontSize", LabPer.FontSize)
  29.     LabPer.ForeColor = PropBag.ReadProperty("ForeColor", &H80000012)
  30.     BlockSize = PropBag.ReadProperty("BlockSize", 2)
  31. End Sub
  32. Private Sub UserControl_Show()
  33.         Shape1.ZOrder 0
  34.         Picture1.BackColor = M_BkColor
  35. End Sub
  36. Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
  37.     Call PropBag.WriteProperty("BackColor", BackColor, &H80FFFF)
  38.     Call PropBag.WriteProperty("Appearance", Picture1.Appearance, 0)
  39.     Call PropBag.WriteProperty("Font", LabPer.Font, Ambient.Font)
  40.     Call PropBag.WriteProperty("FontSize", LabPer.FontSize, 9)
  41.     Call PropBag.WriteProperty("ForeColor", LabPer.ForeColor, &H80000012)
  42.     Call PropBag.WriteProperty("BlockSize", BlockSize, 2)
  43.     
  44. End Sub
  45. '
  46. '=====================================================================
  47. '=====================================================================
  48. Public Function Copy(SourFile As String, _
  49.                      ObjFile As String, _
  50.                      Optional MsgTitle As String = "文件复制", _
  51.                      Optional ReplaceFile As Boolean = True) As Boolean
  52.                      
  53.         Dim Buf() As Byte
  54.         Dim BTest As Variant, FSize As Variant
  55.         Dim Chunk As Long, F1 As Long, F2 As Long
  56.         Dim Response As Long
  57.         Dim PrgVal As Long
  58.         Dim OleVal As Long
  59.         Dim DltW As Double
  60.         Dim PBar As Control
  61.         Dim BufSize As Long
  62.         
  63.         If M_BlockSize < 1 Then M_BlockSize = 1
  64.         BufSize = M_BlockSize * 1024
  65.         BTest = CDec(BTest): FSize = CDec(FSize)
  66.         
  67.         If Len(Dir(ObjFile)) > 0 Then
  68.            If Not ReplaceFile Then  '//不替换文件
  69.                 Response = MsgBox(ObjFile + Chr(13) + Chr(10) + "文件已存在.是否替换该文件?", vbYesNo + vbQuestion, MsgTitle)
  70.                 If Response = vbNo Then
  71.                    Copy = False
  72.                    Exit Function
  73.                 Else
  74.                    Kill ObjFile
  75.                    If Err.Number <> 0 Then Copy = False: Exit Function
  76.                 End If
  77.            Else  '//可以替换该文件
  78.                Kill ObjFile
  79.                If Err.Number <> 0 Then Copy = False: Exit Function
  80.            End If
  81.         End If
  82.          
  83.         On Error GoTo FileCopyError
  84.         
  85.         Shape1.Left = -Shape1.Width
  86.         Shape1.Visible = True
  87.         
  88.         LabPer.Caption = "0%"
  89.         DltW = Picture1.Width / 100
  90.         
  91.         DoEvents
  92.         
  93.         F1 = FreeFile: Open SourFile For Binary As F1
  94.         F2 = FreeFile: Open ObjFile For Binary As F2
  95.         
  96.         FSize = LOF(F1)
  97.         BTest = FSize - LOF(F2)
  98.         
  99.         While BTest > 0
  100.             If BTest < BufSize Then
  101.                Chunk = BTest
  102.             Else
  103.                Chunk = BufSize
  104.             End If
  105.             
  106.             If Chunk > 0 Then
  107.                 ReDim Buf(Chunk - 1)
  108.                 Get F1, , Buf
  109.                 Put F2, , Buf
  110.                 BTest = FSize - LOF(F2)
  111.             End If
  112.             
  113.             PrgVal = (100 - Int(100 * BTest / FSize))
  114.             
  115.             If OleVal <> PrgVal Then
  116.                 If PrgVal < 0 Then PrgVal = 0
  117.                 If PrgVal > 100 Then PrgVal = 100
  118.                 Shape1.Left = DltW * PrgVal - Shape1.Width
  119.                 LabPer.Caption = PrgVal & "%"
  120.                 DoEvents
  121.             End If
  122.             OleVal = PrgVal
  123.         Wend
  124.         
  125. FileCopyError:
  126.         Copy = (Err.Number = 0 Or Err.Number = 380)
  127.         Err.Clear
  128.         Close F1
  129.         Close F2
  130.         
  131. End Function
  132. '注意!不要删除或修改下列被注释的行!
  133. Public Property Get BackColor() As OLE_COLOR
  134.     BackColor = M_BkColor 'LabPer.BackColor
  135. End Property
  136. Public Property Let BackColor(ByVal New_BackColor As OLE_COLOR)
  137.     M_BkColor = New_BackColor
  138.     Picture1.BackColor = M_BkColor
  139.     PropertyChanged "BackColor"
  140. End Property
  141. Public Property Get Appearance() As Integer
  142.     Appearance = Picture1.Appearance
  143.     Picture1.BackColor = M_BkColor
  144. End Property
  145. Public Property Let Appearance(ByVal New_Appearance As Integer)
  146.     Picture1.Appearance() = New_Appearance
  147.     Picture1.BackColor = M_BkColor
  148.     PropertyChanged "Appearance"
  149. End Property
  150. '注意!不要删除或修改下列被注释的行!
  151. 'MappingInfo=LabPer,LabPer,-1,Font
  152. Public Property Get Font() As Font
  153.     Set Font = LabPer.Font
  154. End Property
  155. Public Property Set Font(ByVal New_Font As Font)
  156.     Set LabPer.Font = New_Font
  157.     PropertyChanged "Font"
  158. End Property
  159. '注意!不要删除或修改下列被注释的行!
  160. 'MappingInfo=LabPer,LabPer,-1,FontSize
  161. Public Property Get FontSize() As Single
  162.     FontSize = LabPer.FontSize
  163. End Property
  164. Public Property Let FontSize(ByVal New_FontSize As Single)
  165.     LabPer.FontSize() = New_FontSize
  166.     PropertyChanged "FontSize"
  167. End Property
  168. '注意!不要删除或修改下列被注释的行!
  169. 'MappingInfo=LabPer,LabPer,-1,ForeColor
  170. Public Property Get ForeColor() As OLE_COLOR
  171.     ForeColor = LabPer.ForeColor
  172. End Property
  173. Public Property Let ForeColor(ByVal New_ForeColor As OLE_COLOR)
  174.     LabPer.ForeColor() = New_ForeColor
  175.     PropertyChanged "ForeColor"
  176. End Property
  177. Public Property Get BlockSize() As Long
  178.     BlockSize = M_BlockSize
  179. End Property
  180. Public Property Let BlockSize(ByVal New_BlockSize As Long)
  181.     If New_BlockSize < 1 Then New_BlockSize = 1
  182.     If New_BlockSize > 1000 Then New_BlockSize = 1000
  183.     
  184.     M_BlockSize = New_BlockSize
  185.     PropertyChanged "BlockSize"
  186. End Property
MATLAB/Simulink与ThingSpeak集成:打通物联网数据与工业算法仿真的闭环 在工业算法开发与控制系统设计中,模型仿真与真实世界数据的脱节是常见的工程挑战。其核心原理在于构建一个双向数据流闭环,将虚拟的仿真模型与物理世界的传感器网络连接起来。这一技术方案的核心价值在于大幅缩短算法迭代周期,实现数据驱动的设计与验证。典型的应用场景包括数字孪生构建、预测性维护和硬件在环(HIL)测试的云端化。通过将MATLAB/Simulink这一强大的模型化设计环境,与ThingSpeak物联网云平台进行深度集成,工程师能够轻松地将实时或历史的物联网数据流直接注入仿真模型作为输入,同时将仿真结果实时回 阅读详情

相关推荐

RK3308B开发板WiFi+蓝牙一体模组RTL8821CS驱动移植保姆级教程(含DTS配置与避坑点)

本文提供RK3308B开发板RTL8821CS WiFi+蓝牙模组驱动移植的完整教程,涵盖SDK环境配置、DTS设备树设置、内核编译优化及功能验证全流程。重点解析引脚复用冲突、电源管理等关键配置,并给出常见错误解决方案,帮助开发者快速实现双模通信功能。

weixin_42531163的博客 398

vb中copyFile与Filecopy的区别 容易踩坑

踩了个坑 给大家分享一下 记得区分 这里是引用 添加链接描述

qq_38610729的博客 746

WebRTC Qos优化杂记

本文是笔者对WebRTC Qos性能研究、优化的一些思考,希望对有兴趣的读者有一些启发。

sonysuqin的专栏 6677

VB 极速自动备份文件助手 涉及可识别 Unicode 编码文件名

自动备份文件 涉及 Unicode 文件名的操作

Will_lliW的博客 522

【AI气象6】Skilful nowcasting of extreme precipitation with NowcastNet

极端降水是气象灾害的重要因素,因此迫切需要通过高分辨率、长时间预报和局部细节的精准短期预报来减轻其社会经济影响。当前的方法存在模糊、衰减、强度或位置误差,基于物理的数值方法在捕捉关键的混沌动态(如对流起始)时面临挑战,而数据驱动的学习方法则未能遵循内在的物理法则(如平流守恒)。我们提出了 NowcastNet,这是一种针对极端降水的非线性短期预报模型,将物理演变方案与条件学习方法统一到一个端到端的神经网络框架中,通过优化预测误差进行训练。基于来自美国和中国的雷达观测数据,我们的模型能够生成物理上合理的降水短

weixin_51473374的博客 2325

VSCode+ESP-IDF开发环境搭建:从零开始创建你的第一个物联网项目(2024最新版)

本文详细介绍了如何在2024年使用VSCode和ESP-IDF搭建物联网开发环境,从零开始创建第一个物联网项目。内容包括环境准备、ESP-IDF配置、项目创建与结构解析、构建烧录步骤以及高级技巧和常见问题解决方案,帮助开发者快速上手ESP32开发。

weixin_29165725的博客 331

VB6.0 ActiveX 控件开发详解 [第三章:属性的设计,属性映射,属性的初始化,属性的保存]

第三章:属性的设计,属性映射,属性的初始化,属性的保存 第一节:属性的设计        废话不多说,前文再续,书接上一回。上回说到,如何对界面进行布置和写动态修改控件大小的代码;这一回,我来介绍一下如何设计属性,这是难点。        启动我们上次做好的工程,我们需要想想,我们这个控件需要些什么属性?既然是图片框架控件,那么我们就需要一个Picture属性,同时,在以前的代码里,没有调整

几罗星人的专栏 2万+

SOEM主站开发篇(1):移植SOEM主站到Linux开发板

详细介绍了SOEM主站源码移植到Linux开发板上的步骤,同时演示了如何使用Linux开发板获取EtherCAT从站的PDO映射信息。

kevin1499的博客 2398

VB开发OCX控件的属性之自定义列表项

到这里一个OCX控件属性的编写就结束了,测试,打开Form窗体,在左边的部件栏中单击刚编写的UserControl控件图标,然后在Form窗体中拖出一个UserControl1控件,在这个控件的属性栏我们就可以看到"BorderStyle"这个属性了。“Style”是类的名称(自设),而这个类里面的“0-1-2-3-4-5”便是该类中包含的成员,“[]“中的字符串可以是中文或其他语言,但”=“后必须是数字,字符串和等号后的数字是对等的,在设计中可以用”[]“里的字符串或相应的数字相互对替。...

键盘上的舞指 1045

c# 如何使用S7NET 读取汇川H5U的数据

本文介绍了两种使用C#读取汇川H5U PLC数据的方法。第一种通过ModbusTCP协议(推荐),使用NModbus库实现,步骤包括配置PLC的Modbus服务器功能、安装库及编写读取保持寄存器的代码。第二种针对兼容西门子S7协议的型号,使用S7NetPlus库直接读取。文章强调需注意地址映射关系、协议配置及网络设置,并建议优先采用ModbusTCP方案以确保稳定性。两种方法均提供了完整的代码示例,帮助开发者快速实现在C#环境下与汇川H5U PLC的通信。

StevenChen的博客 457

CAPL学习之路-关键字

在capl中,关键字具有特殊的含义和用途,因此,不得将关键字用作变量或函数的名称 声明数据类型的关键字 可以用不同的关键字,声明或引用不同类型的数据 byte 声明一个字节的变量 word 声明两个字节的变量 dword 声明四个字节的变量 int 声明两个字节的整数 long 声明四个字节的变量 qword 声明八个字节的变量 char 声明一个字符串 float 声明一个浮点数,8个字节 double 声明一个浮点数,8个字节 定义一个结构体或枚举类型 struct struct Data { .

jasonj333 6108

c++ 删除文件_文件操作Files vb.net

File类用于VB.NET中的File操作。我们可以创建,删除,复制等操作。如何创建文件?为了创建一个新的File,我们可以在File类中调用Create方法。语法:File.Create(FilePath)FilePath:新文件对象的名称File.Create(“ c: testFile.txt”)如何检查文件是否存在?在创建File对象之前,我们通常会检查File是否存在。为此,我们在Fil...

weixin_39934640的博客 267

OpenCV-Python实战(10)——详解 OpenCV 轮廓检测

在计算机视觉领域,轮廓通常指图像中对象边界的一系列点。因此,轮廓通常描述了对象边界的关键信息,包含了有关对象形状的主要信息,该信息可用于形状分析与对象检测和识别。在本文中,将首次通过简单示例了解轮廓的基本概念,然后通过实际示例来了解如何检测和压缩轮廓,最后利用介绍如何利用图像矩描述检测到的轮廓属性。

盼小辉丶的博客 3万+

COPY合并文件及思考

其实,以前也知道COPY有合并文件的功能,只是很少使用到。     如  copy /b 1.txt + 2.exe = 3.jpg     最近遇到了纠结的事情,没有办法通过其他途径获取到外网的文件,庆幸的是,能够浏览某些网站。而自己,恰好有些东西要用,怎么办呢?于是就想到了上面的这个命令,将一个文件或几个文件,与图片合并后,然后上传到个人网站(当然不希望公开的,呵呵),然后再拆分的方式来解

SmartyIdiot的专栏 2660

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

How to Copy an Entire Directory in VB6?

Sub Copy(ByVal SourcePath As String, ByVal DestinationPath As String)    拷贝指定目录下所有文件到另一位置    by VBDN 2005-8-26 http://blog.csdn.net/vbdn/    注意:SourcePath,DestinationPath这两个目录一定要存在,否则会出错    使用举例: 

VBDN的专栏 1233

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VB.net文件操作

文件读写整理: 1.文件度

ecjtuAndy的专栏 4850

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VB.NET中对象的克隆

VB.NET中对象的克隆侯永锋       在3DMAX里面,做好一个物体(父物体)以后,可以选择Edit菜单中的Clone,下面有三中选项:Copy(生成一个同模样的子物体,两者的操作互不影响),Instance(父子互动,父物体的操作同样影响子物体,子物体也一样),还有一个Reference(暂不考虑)。       在VB.NET,同样会碰到这样的问题。创建一个复杂对象(可能有很

Montaque & DotNet 2044

vb.net file.copy 语法错误

VB.NET 中的 File.Copy 语法应该是这样的:File.Copy(源文件路径, 目标文件路径[, 是否覆盖现有文件]) 。如果你在使用 File.Copy 时遇到语法错误,建议你检查一下参数是否正确,或者检查一下当前路径是否有权限访问。 ...

weixin_42601547的博客 384

vb 中拷贝文件

       FileCopy("源文件名","目标文件名") 两个参数都是必选的,且都包含路径。        在VB中filecopy函数可以直接调用。而CopyFile函数则不能要先定义filesystemobject变量,然后才能用。有过copyFile比fileCopy的功能有所不同。         FileCopy是单个文件的copy,目标文件名可以和源文件名不同,也就是说Copy文...

miaozk2006的专栏 572

VB.Net语言 复制、删除文件案例

VB.NET语言经过长时间的发展,很多用户都很了解VB.NET语言了,这里我发表一个关于VB.Net语言 复制、删除文件的例子,和大家一起分享一下。   VB.Net语言 复制、删除文件代码:   Imports System.IO   Imports System.IO.Directory   ' ===========================================

CHEN_DO_IT的专栏 1039

VB.NET复制删除文件

有些人认为操作文件是一件非常简单的是,其实并不是,如果你没有权限你就不能对文件进行更改,但是我们今天不讲权限的问题,我们来对VB.NET复制删除文件这个问题进行简单的介绍一下。   VB.NET复制删除文件代码: VB.NET版      Imports System.IO     Imports System.IO.Directory     ' =======

Claire_sun的专栏 1523

vb如何向别的计算机发送文件夹,VB怎样复制文件夹?(包括里面的文件)

满意答案给你一个列子sourcePath 为源文件地址targetPath 存放文件的地址'复制文件夹到指定位置Function CopyDir(ByVal sourcePath As String, ByVal targetPath As String) As BooleanTry'检查目标目录是否以目录分隔符结束,不是则添加If Microsoft.VisualBasic.Right(targ...

weixin_34471172的博客 717

vb.net用Marshal类在内存中处理图像

vb.net操作不了指针,只能用marshal类来进行托管内存和非托管内存之间的交互,但是这样也依然比用GetPixel和SetPixel速度快。 讲之前先介绍一些方法的用法 Bitmap.LockBits 方法 定义如下: Public Function LockBits (rect As Rectangle, flags As ImageLockMode, format As PixelFor...

weixin_42150685的博客 1301

关于VB.NET实现多线程拷贝文件

此示例结合了 `System.Threading` 命名空间的功能以及文件操作的相关 API。以上代码定义了一个名为 `CopyFile` 的方法用于单个文件的复制,并将其封装在一个独立的线程中运行。对于更加复杂的场景,还可以引入异步事件(如 `OnCompleted` 或自定义委托),从而进一步增强程序的灵活性和可扩展性。在此示例中,`BackgroundWorker` 被用来执行文件复制任务,同时允许 UI 线程保持响应状态。- **异步事件驱动模型**:更适合复杂业务逻辑下的解耦设计。

cncbook1979的博客 993

vb.net中彩色图像数据的快速获取

         一直以来,图像处理都是VB的禁区,主要的原因可能是因为她没有指针,而图像的数据量通常都很大。其实,只要有正确的方法,VB同样可以写出高效而又快速的图像处理程序的。        我并不是学图像处理这方面的。可以说,我的专业和图像毫不占边,但因老板项目的需要,自学了一些图形图像学方面的知识。网络上图像方面大部分的代码都是用VC写的,对于我这个对C系列语言不感冒的人来说实在是太痛

ssihc0的专栏 1696

VB常用文件类

Option Explicit'*************************************************************************************************************'   读写文件函数'**********************************************************...

miaozk2006的专栏 374
上一篇: VB网络校时.
下一篇: VB中启动控制面板命令
华芸智森
博客等级 码龄25年 571粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值