用VB开发文件和文本同时上传的Active组件
VB教程中的ActiveX控件
设置或返回对话框中选定的包括目录的文件名
FileTitle属性:
设置或返回对话框中选定的不包括目录的文件名
Filter属性:
设置或返回对话框中显示文件的过滤器,格式为: 类型描述|类型通配符 例:文本文件(*.txt)|*.txt|Word文档(*.doc)|*.doc
FilterIndex属性:
当用Filter设置多组过滤器时,指定第几组为默认过滤器
InitDir属性:
设置对话框中初始文件目录,默认为当前目录
Flags属性:
见P179表9-2
DefaultExt属性:
适合“另存为”对话框,没有指定扩展名时的默认扩展名
例:
Private Sub Command1_Click()
On Error Resume Next CommonDialog1.ShowOpen或 CommonDialog1.action=1 If Err.Number <> 32755 Then Image1.Picture = LoadPicture(CommonDialog1.FileName) Private Sub Command2_Click() Image1.Picture = Nothing End Sub Private Sub Command3_Click() Unload Me End Sub End If End Sub
9.3 多媒体控件
一、MMcontrol控件
“部件”对话框中选择“Microsoft MultiMedia Controls6.0"
Filename属性:播放文件名
Command属性:Open、Play、Stop等
二、Animation控件
一个用VB编写ActiveX自定义控件的例子——进度条控件
一个用VB编写ActiveX自定义控件的例子——进度条控件设计方法:1.在UserControl中添加一个Label控件Label1,将它设为平面,用来做外框。
添加两个PictureBox控件PictureBox1做为进度指示,PictureBox2控件做为控件背景。
2.加入以下代码Option Explicit''定义私有变量用于存储属性值Private mvarMax As LongPrivate mvarMin As LongPrivate mvarValue As LongPrivate Rate As StringPrivate Sub UserControl_Initialize()''初始化Picture2.BackColor = vbBlueEnd SubPublic Property Get BackColor() As OLE_COLOR''读取BackColor属性BackColor = Picture1.BackColorEnd PropertyPublic Property Let BackColor(ByVal vNewValue As OLE_COLOR)''设置BackColor属性Picture1.BackColor = vNewValueEnd PropertyPrivate Sub UserControl_InitProperties()''初始化属性Max = 100Min = 0Value = 0End SubPrivate Sub UserControl_ReadProperties(PropBag As PropertyBag)''读取从属性窗体中设置的属性值mvarMax = PropBag.ReadProperty("Max", 100)mvarMin = PropBag.R eadProperty("Min", 0)''Value属性值这里未提供,主要是模仿VB自带的进度条控件''mvarValue = PropBag.R eadProperty("Value", 0)End SubPrivate Sub UserControl_WriteProperties(PropBag As PropertyBag)''保存从属性窗体中设置的属性值PropBag.WriteProperty "Max", mvarMax, 100PropBag.WriteProperty "Min", mvarMin, 0''PropBag.WriteProperty "Value", mvarValue, 0End SubPrivate Sub UserControl_Resize()''R esize事件Label1.Move 0, 0, UserControl.Width / Screen.TwipsPerPixelX, UserControl.Height / Screen.TwipsPerPixel YPicture1.Move 1, 1, UserControl.Width / Screen.TwipsPerPixelX - 2, UserControl.Height / Screen.TwipsPerPixel Y - 2Picture2.Move 1, 1, 1, UserControl.Height / Screen.TwipsPerPixelY - 2End SubPublic Property Get Max() As Long''读取Max属性Max = mvarMaxEnd PropertyPublic Property Let Max(ByVal vNewValue As Long)''设置Max属性mvarMax = vNewValueIf vNewValue < Min Then Err.Raise "1001", , "Max必须大于Min"End PropertyPublic Property Get Min() As Long''读取Min属性Min = mvarMinEnd PropertyPublic Property Let Min(ByVal vNewValue As Long)''设置Min属性If vNewValue > Max Then Err.Raise "1000", , "Min必须小于Max"mvarMin = vNewValueEnd PropertyPublic Property Get Value() As Long''读取Value属性Value = mvarValueEnd PropertyPublic Property Let Value(ByVal vNewValue As Long)''设置Value属性''原理就是在两个PictureBox中以不同颜色打印百分比进度Dim DX As Long, DY As LongIf vNewValue > Max Then Err.Raise "1002", , "Value不能大于Max"mvarValue = vNewValuePicture2.Width = Value / (Max - Min) * (UserControl.Width / Screen.TwipsPerPixelX - 2) Rate = Int(Value / (Max - Min) * 100) & "%"DX = (Picture1.Width - Picture1.TextWidth(Rate)) / 2DY = (Picture1.Height - Picture1.TextHeight(Rate)) / 2Picture1.ForeColor = vbBlackPicture2.ForeColor = vbWhi t eIf DX < Picture2.Width ThenPicture2.ClsPicture2.CurrentX = DXPicture2.CurrentY = DYPicture2.Print RateElsePicture1.ClsPicture1.CurrentX = DXPicture1.CurrentY = DYPicture1.Print RateEnd IfEnd Property3.新建另一个测试工程,加入一个自己的进度条控件和一个系统的进度条控件,加入以下代码:Option ExplicitPrivate Sub Command1_Click()Unload MeEnd SubPrivate Sub Timer1_Timer()myProgressBar1.Value = myProgressBar1.Value + 2ProgressBar1.Value = ProgressBar1.Value + 2If myProgressBar1.Value = myProgressBar1.Max Then Timer1.Enabled = FalseEnd Sub。
VB程序设计第10章 ActiveX控件简介
Logo
12.工具栏上的按钮如打开,保存和打印等,其相应的图 标在何处可以得到? 答:可以在VB的Graphics\BITMAPS\TLBR_W95目录下找 到工具按钮位图。
13.如何知道点击TreeView的+号所选中的目录 答:这种情况应该在Expand事件中获得节点。在TreeView 控件中的Node对象扩展开时, 也就是它的子节点变成可 视时,这个事件便发生。Expand事件发生在Click和 DblClick事 件之后。语法是: Private Sub object_Expand(ByVal node As Node) 其中参数node是所需要要获得的节点。
Company Logo
Logo
7.如何在StatusBar控件中增加一个变量并将该 变量值显示在状态栏里? 答:将StatusBar的Style属性为sbrSimple,即: StatusBar1.SimpleText =cy (其中cy为变量名)。 如果Style属性为sbrNormal,可以这样: Set pnlX = StatusBar1.Panels.Add pnlX.Text =cy „改变面板对象的文本
答:可以使用下面的语句加入一个按钮,叫bold: Set btnX = Toolbar1.Buttons.Add(, "bold", , tbrCheck, "bold") 然后检查Toolbar1.Buttons("bold").Value的值, 如果该值为tbrUnpressed,表示按钮 没 有被按下, 如果为tbrPressed表示被按下。检查工作通常是 在toolbar1_ButtonClick事件中完成的 。
VB中MsFlexGrid控件的使用细则及应用举例
VB中MsFlexGrid控件的使用细则及应用举例1.VB中MsFlexGrid控件的使用细则>> 将文本赋值给MsFlexGrid的单元格MsFlexGrid.TextMatrix(3,1)=”Hello” .>> 在MsFlexGrid控件单元格中插入背景图形Set MsFlexGrid.CellPicture=LoadPicture(“C:\temp\1.bmp”) 版权申明:本站文章均来自网络.>>选中某个单元MsFlexGrid.Row=1MsFlexGrid.Col=1 。
>>用粗体格式化当前选中单元MsFlexGrid.CellFontBold=True 根据专家观察,这样的理论和现象都是值得各位站长深思的,所以希望大家多做研究学习,争取总结出更多更好的经验!>> 添加新的一行使用AddItem方法,用Tab字符分开不同单元格的内容dim row as stringrow=”AAA”&VBtab&”bbb”MsFlexFrid1.addItem row ..>>怎样来实现MSFlexGrid控件单数行背景为白色,双数的行背景为蓝色?Dim i As IntegerWith MSFlexGrid1.AllowBigSelection = True ’ 设置网格样式.FillStyle = flexFillRepeatFor i = 0 To .Rows - 1.Row = i: .Col = .FixedCols.ColSel = .Cols() - .FixedCols - 1If i Mod 2 = 0 Then.CellBackColor = &HC0C0C0 ’ 浅灰Else.CellBackColor = vbBlue ’ 兰色End IfNext iEnd With 。
>> MSFlexGrid控件如何移到最后一行MSFlexGrid1.TopRow = MSFlexGrid1.Rows – 1 版权申明:本站文章均来自网络,如有侵权,请联系************-215,我们收到后立即删除,谢谢!>>如何判断msflexgrid有无滚动条Declare Function GetScrollRange Lib "user32" (ByVal hWnd As Long, ByVal nBar As Long, lpMinPos As Long, lpMaxPos As Long) As LongPublic Const SB_HORZ = &H0Public Const SB_VERT = &H1 .Public Function VsScroll(MshGrid As MSHFlexGrid) As Boolean ’判断水平滚动条的可见性Dim i As LongVsScroll = Falsei = GetScrollRange(MshGrid.hWnd, SB_HORZ, lpMinPos,lpMaxPos)If lpMaxPos <> lpMinPos Then VsScroll = TrueEnd Function 。
vb6.0 ActiveX控件
ADO Data 控件ADO Data 控件与内部Data 控件以及Remote Data控件(RDC) 相似。
ADO Data 控件使您能使用Microsoft ActiveX Data Objects (ADO) 快速地创建一个到数据库的连接。
说明在设计时,您可以通过首先将ConnectionString 属性设置为一个有效的连接字符串,然后将RecordSource属性设置为一个适合于数据库管理者的语句来创建一个连接。
您也可以将ConnectionString属性设置为定义连接的文件名。
该文件是由“数据链接”对话框产生的,当您单击“属性”窗口中的ConnectionString,然后单击“生成”或“选择”时,该对话框出现。
您可以通过将DataSource 属性设置为ADO Data 控件,把ADO Data 控件连接到一个数据绑定的控件,例如DataGrid、DataCombo、或DataList 控件。
在运行时,您可以动态地设置ConnectionString和RecordSource 属性来更改数据库。
或者,您可以将Recordset 属性直接设置为一个原先已经打开的记录集。
Animation 控件Animation 控件允许创建按钮,当单击它时即显示动画,如 .avi 文件。
该控件只能播放无声的 AVI 文件。
此外,动画控件只能显示未压缩的或已用行程编码(RLE) 压缩的 .avi 文件。
说明如果尝试加载含有声音数据或格式不为控件所支持的 .avi 文件,则返回错误(错误 35752)。
在 Windows 95 中,文件复制进度栏就是使用Animation 控件的一个实例。
在执行复制操作时,纸页从一个文件夹“飞”到另一个文件夹。
CommonDialog 控件CommonDialog 控件提供一组标准的操作对话框,进行诸如打开和保存文件,设置打印选项,以及选择颜色和字体等操作。
通过运行 Windows 帮助引擎控件还能显示帮助。
VB_activex
正常情况下,在开发.NET Windows应用程序时,我们都会用到System.Windows.Forms名字空间的控件。
可供我们使用的控件很多,从Label、TextBox等简单的控件到MonthCalendar、ColorDialog等功能更丰富、更复杂的控件。
尽管这些控件对于我们需要开发的大多数Windows应用程序已经足够好了,但有时我们也需要自己开发一些System.Windows.Forms 名字空间不包括的控件。
本篇文章将讲述如何使用创建定制控件,尤其是在需要提供自己的图形用户接口时。
开发定制的控件并不困难。
在开发定制控件时,我们可以使用现有的控件,或者对Control 或UserControl类进行扩展。
结合使用现有的控件使我们减少提供接口的麻烦,扩展Control 或UserControl类意味着我们需要覆盖OnPaint方法,自己绘制图形用户接口。
本篇文章中,我们由UserControl类派生了一个定制控件,UserControl类本身也是由继承Control类而生成的。
因此读者需要对这二个类有一定的了解。
Control类非常重要,因为它是Windows可视化组件的父类,我们开发的定制类将是Control 类的一个子类。
我们的定制类一般不会直接由Control类派生而成,相反,一般是对UserControl类进行扩展。
Control类Control类提供向Windows应用程序用户显示信息的类所要求的基本功能,它处理用户通过键盘和鼠标进行的输入,以及消息的分配和安全。
更重要的是,Control类定义了控件的范围(位置和大小),尽管它不实现控件的绘制。
Windows表单控件使用了环境属性,因此其子控件的显示与其周围环境相似。
缺省情况下,环境属性是由其父控件获得的,如果类没有父控件或者其环境属性没有设置,则控件试图通过Site属性设置环境属性的值。
如果控件没有确定位置,不支持环境属性,或者AmbientProperties对象的属性没有设置,控件就会使用缺省值。
VB编程:使用MSHFlexGrid控件与Excel互传数据
VB编程:使用MSHFlexGrid控件与Excel互传数据使用MSHFlexGrid控件获取并更新Excel中的数据要点:1、工程-引用,勾选Microsoft Excel 11.0 Object Libraly。
2、工程-部件,勾选Microsoft Hierarchical FlexGridControl 6.0。
3、在窗体添加一个MSHFlexGrid控件。
4、将需要打开更新的电子表格设置为“共享”(非常重要),方法:工具--共享工作簿。
代码:Private Sub Form_Load()Dim xlExcel As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim AppExcel As ObjectSet xlExcel = CreateObject("Excel.Application")xlExcel.Workbooks.Open "C:\Program Files\Microsoft Visual Studio\mywork\book1.xls"Set xlBook = xlExcel.Workbooks("book1.xls")Set xlSheet = xlBook.Worksheets(2)'选择第2个工作表Dim i As LongWith xlSheetx = 2y = 1While .Cells(2, y).Value <> ""y = y + 1WendWhile .Cells(x, 1).Value <> ""x = x + 1Wend'Debug.Print .RowsMSHFlexGrid1.Rows = x - 1MSHFlexGrid1.Cols = y - 1 MSHFlexGrid1.TextMatrix(0, 0) = .Cells(2, 1).ValueFor j = 2 To MSHFlexGrid1.ColsDim k As Integerk = jIf k Mod 2 = 1 Then k = k - 1MSHFlexGrid1.TextMatrix(0, j - 1) = .Cells(1, k) & .Cells(2, j) NextFor i = 3 To MSHFlexGrid1.RowsFor j = 1 To MSHFlexGrid1.Cols MSHFlexGrid1.TextMatrix(i - 2, j - 1) = .Cells(i, j).ValueNextNextEnd WithWith MSHFlexGrid1.Col = 1.Row = 1' .CellBackColor = vbBlueEnd With xlBook.Close (False) '关闭EXCEL工作簿Set xlSheet = NothingSet xlBook = NothingxlExcel.Quit '关闭EXCELSet xlExcel = Nothing '释放EXCEL对象End SubPrivate Sub Command4_Click() Dim xlExcel AsExcel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim AppExcel As Object'MSFlexGrid1.Redraw = FalseSet xlExcel = CreateObject("Excel.Application")Set xlBook = xlExcel.Workbooks.Open("C:\Program Files\Microsoft Visual Studio\mywork\book1.xls", , ReadWrite) 'Set xlBook = xlExcel.Workbooks("zkb.xls")Set xlSheet = xlBook.Worksheets(2)' xlExcel.Visible = True '设置工作簿为可见With xlSheetFor i = 3 To MSHFlexGrid1.RowsFor j = 1 To MSHFlexGrid1.Cols .Cells(i, j) = MSHFlexGrid1.TextMatrix(i - 2, j - 1)NextNext End With'MSFlexGrid1.Redraw = TruexlBook.SavexlExcel.DisplayAlerts = FalsexlBook.Close (False) '关闭EXCEL工作簿Set xlSheet = NothingSet xlBook = NothingxlExcel.Quit '关闭EXCELSet xlExcel = Nothing '释放EXCEL对象End SubPrivate Sub Form_Load()Dim xlExcel As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim AppExcel As ObjectSet xlExcel = CreateObject("Excel.Application")xlExcel.Workbooks.Open "C:\Program Files\Microsoft Visual Studio\mywork\book1.xls"Set xlBook = xlExcel.Workbooks("book1.xls")Set xlSheet = xlBook.Worksheets(2)Dim i As LongWith xlSheetx = 2y = 1While .Cells(2, y).Value <> ""y = y + 1WendWhile .Cells(x, 1).Value <> ""x = x + 1Wend'Debug.Print .RowsMSHFlexGrid1.Rows = x - 1MSHFlexGrid1.Cols = y - 1 MSHFlexGrid1.TextMatrix(0, 0) = .Cells(2, 1).ValueFor j = 2 To MSHFlexGrid1.ColsDim k As Integerk = jIf k Mod 2 = 1 Then k = k - 1MSHFlexGrid1.TextMatrix(0, j - 1) = .Cells(1, k) & .Cells(2, j) NextFor i = 3 To MSHFlexGrid1.RowsFor j = 1 To MSHFlexGrid1.Cols MSHFlexGrid1.TextMatrix(i - 2, j - 1) = .Cells(i, j).ValueNextNextEnd WithWith MSHFlexGrid1.Col = 1.Row = 1' .CellBackColor = vbBlueEnd With xlBook.Close (False) '关闭EXCEL工作簿Set xlSheet = NothingSet xlBook = NothingxlExcel.Quit '关闭EXCELSet xlExcel = Nothing '释放EXCEL对象End SubPrivate Sub MSHFlexGrid1_Click()With MSHFlexGrid1.CellBackColor = vbCyanText3 = .TextMatrix(.Row, .Col)End WithText3.SetFocusEnd SubPrivate Sub MSHFlexGrid1_DblClick()With MSHFlexGrid1If .CellBackColor = vbCyan Then .CellBackColor = &HFFFFFF End WithEnd Sub。
用VB制作ActiveX控件
# 10 #
第 22 卷( 总第 95 期 ) 第 3 期 2001 年 6 月 按确定按钮进入代码窗口 : Public Sub change( c_st a As int eger) Select Case c_st a ∀ 参数正常时, 信号灯为绿色, X 不可见 Case 0 Shape1 F illColor = 32896 Line1 Visible = False Line2 Visible = False
1 新建一个 VB 工程
新建一个项目, 选择 Act ive X 控件 类型。 将属性窗口中的 名称 属性 UserControl1 改为 Flash 。
2 添加控件
用 Shape 控件来表示信号灯, 用两个交叉的 Line 控件表示闪烁的 X 。 在工具箱中选择 Shape 控件, 属性按以下赋 值: 名称 : Shape1, BackStyle: 0 ! ! ! T ransparent BorderStyle: 0 ! ! ! T ransparent F illStyle: 0 ! ! ! Solid Shape 属性改为 3 ! ! ! Circle 在工具箱中选择两个 Line 控件 , 属性按以下 赋值 : 名称 : L ine1, L ine2 此时 L ine 控件的位置并不重要, 在 UserCon t rol_Resize 过程中要调整控件的位置。
部件在控件窗口中出现myocx控件选中并按确定按钮工具箱上会出现用户控件的图标鼠标在上面移动会出现控件的名称flash将此控件放在窗体form1上再添加一个计时器控件interval属性值改为1000并添加以下代码
VBActiveX控件
VB ActiveX 控件Visual Basic 的控件分类:1.内部控件,CommandButton、TextBox 控件。
2.ActiveX 控件,是扩展名为 .ocx 的独立文件,其中包括各种版本Visual Basic 提供的控件(DataCombo, DataList 控件等等)和仅在专业版和企业版中提供的控件(例如 Listview、Toolbar、Animation 和TabbedDialog),另外还有许多第三方提供的 ActiveX 控件。
3.可插入的对象,例如一个包含公司所有雇员的列表的 Microsoft Excel 工作表对象,或者一个包含某工程计划信息的 Microsoft Project 日历对象。
因为这些对象能添加到工具箱中,所以可把它们当作控件使用。
其中一些对象还支持自动化(正式的名称为 OLE 自动化),使用这种控件就可在 Visual Basic 应用程序中编程控制另一个应用程序的对象。
关于自动化的详细信息,请参阅第十章"用部件编程"中的"使用对象编程"。
ActiveX 控件VB ActiveX 控件OLEDragDrop 常数VB ActiveX 控件DataObjectFiles 集合VB ActiveX 控件键码常数VB ActiveX 控件"属性页"对话框VB ActiveX 控件Change 事件VB ActiveX 控件Click 事件VB ActiveX 控件DblClick 事件VB ActiveX 控件DblClick 事件示例VB ActiveX 控件KeyDown、KeyUp 事件VB ActiveX 控件KeyPress 事件VB ActiveX 控件MouseDown、MouseUp 事件VB ActiveX 控件MouseMove 事件VB ActiveX 控件OLECompleteDrag 事件VB ActiveX 控件OLEDragDrop 事件VB ActiveX 控件OLEDragOver 事件VB ActiveX 控件OLEGiveFeedback 事件VB ActiveX 控件OLESetData 事件VB ActiveX 控件OLEStartDrag 事件VB ActiveX 控件BorderStyle 常数VB ActiveX 控件Clipboard 对象常数VB ActiveX 控件拖放常数VB ActiveX 控件MousePointer 常数VB ActiveX 控件关键字未找到VB ActiveX 控件无法删除控件或引用。
在VB中实现文件上传
☆在V B中实现文件上传☆V isual Basic 作为一个集应用程序开发、测试、查错功能于一体的集成式开发环境,越来越受到程序员的青睐。
笔者在开发某数据库维护系统的过程中,选择了V B5.0作为开发平台,U nix作为服务器端操作系统,Informix 作为服务器数据库。
问题的出现在开发该维护系统的过程中,注意到Informix 数据库的字段类型C L O B 填入数据时需要函数FILETOC L OB("FILENAME","SERVER") , 其中的"FILENAME"需要指出文件路径和文件名称。
然而,在维护过程中此文件是在客户端执行的,这样就要求即时将文件传输到服务器端。
解决办法1. F TP传输工具我们首先使用F TP传输工具,用VB5.0中SHELL 命令调用DO S批处理文件来实现传输的需要。
Shell调用格式:Shell(pathname[,w indow sty le])例子:Shell("c:\w indow s\upload.bat")批处理文件upload.bat 的内容:c:\w indow s\ftp hostnameusernamepassw ordsend c:\zrh\upload.txt upload.txtby e该命令实现了文件"upload.txt"的传输要求。
在使用完毕之后, 再调用命令把该文件删除。
例子:Shell("c:\w indow s\del_up.bat")批处理文件del_up.bat 的内容:c:\w indow s\ftp hostnameusernamepassw orddele upload.txtby e这样,文件"upload.txt"被删除。
但是,另一个问题出现了。
由于Shell 函数的运行机制是与其它程序同步执行,也就是说,当调用Shell 函数的子程序还没有执行完毕之前,Shell函数后面的语句已经执行。
VB开发、打包、发布ActiveX控件
VB开发、打包、发布ActiveX控件VB开发ActiveX控件步骤:1、创建一个ActiveX Control的项目2、绘制ActiveX控件的操作界面,并且编写代码3、特别注意:在项目的属性上的Make页,有一个Version Number区域,需要你写当前控件的版本号,这个地方和自动下载有密切关系!当你远端的Web浏览器检查到本机的控件版本号和服务器上不一样的时候,浏览器就会自动从服务器下载新版本控件进行安装,所以你编译的新版本控件一定要改版本号!否则可能导致远程无法更新。
4、编译ActiveX控件ActiveX控件打包步骤:本例子以Studio 6.0自带的打包工具为例。
1、选择当前选用的VB ActiveX项目进行打包。
2、其中在选择Package Type的时候有3个选项:1)Standard setup package2)Internet Package3)Dependency File选择第二个!3、到选择File Source的时候有3个选项:1)Include in this cab2)download from microsoft web site3)download from alternate web site以上选项是针对程序包含的每一个相关dll,ocx的,所以,如果你要修改参数,需要一个个文件设置!我建议是都选择第一项!因为有些控件从外部更新,可能会遇见证书之类的问题,可能导致你的程序无法使用,因此,全部使用本地的是最省心的选择!打包过程的其他步骤,没有特别说明的,全部用默认设置!4、在发布控件的网站根目录下建一个目录,就叫ActiveX吧,把打包装后的Package目录中的所有文件复制到ActiveX目录。
5、打包完成后修改测试例子htm文件:打包完成后,工具会自动产生一个和项目名称一样的htm文件,里面代码如下:<HTML><HEAD><TITLE>WebActiveX.CAB</TITLE></HEAD><BODY><!--If any of the controls on this page require licensing, you must create a license package file. Run LPK_TOOL.EXE to create the required LPK file. LPK_TOOL.EXE can be found on the ActiveX SDK,/intdev/sdk/sdk.htm. If you have the VisualBasic 6.0 CD, it can also be found in the \Tools\LPK_TOOL directory.The following is an example of the Object tag:<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331"><PARAM NAME="LPKPath" VALUE="LPKfilename.LPK"></OBJECT>--><OBJECTID="ActiveXDrive"CLASSID="CLSID:F68EC215-0F14-416F-B680-FF8C772A0B47"CODEBASE="WebActiveX.CAB#version=1,1,0,0"></OBJECT></BODY></HTML>注意,应将红色部分修改为:CODEBASE="http://130.50.26.221/ActiveX/WebActiveX. CAB#version=1,1,0,0">客户端IE设置:1、打开IE->Internet 选项->安全->internet,把安全级设置为低!要注意“自定级别”里面,有没有对ActiveX的限制,要是有全放开!2、要是安装有防火墙软件的,要注意这些软件对http访问有没有限制,要是有全放开!最后一步:嘿嘿,在另一台电脑上访问发布ActiveX控件的服务器。
VBA比较常用共通方法(一)写文本文件续
VBA比较常用共通方法(一)写文本文件续VBA(Visual Basic for Applications)是一种常用的微软开发工具,用于在Office应用程序(如Excel,Word等)中编写宏和自定义功能。
在VBA中,可以使用各种方法来处理文本文件,包括读取、写入、追加和修改文本。
下面是一些常用的VBA方法来继续写文本文件的示例。
1. 使用FileSystemObject(FSO)对象:FSO对象是VBA中处理文件和文件夹的常用工具之一、使用FSO对象的CreateTextFile方法可以创建一个新的文本文件,并使用WriteLine方法写入文本内容。
如果想追加内容到已存在的文本文件中,可以将OpenTextFile方法的第二个参数设置为True。
下面是使用FSO对象继续写文本文件的示例代码:```vbaSub WriteToFileUsingFSODim fso As ObjectDim file As ObjectDim filePath As StringDim text As String'文件路径filePath = "C:\test.txt"'要追加的文本内容text = "This is some additional text."'创建FSO对象Set fso = CreateObject("Scripting.FileSystemObject")'打开文本文件,并设定追加模式Set file = fso.OpenTextFile(filePath, 8, True)'写入文本内容file.WriteLine text'关闭文件file.Close'释放对象Set file = NothingSet fso = NothingEnd Sub```2. 使用FileNum和Print命令:VBA中另一种常用的方法是使用FileNum与Print命令。
vb开发ocx实例 -回复
vb开发ocx实例-回复VB开发OCX实例在这篇文章中,我将会讲解如何使用VB开发一个OCX控件的实例。
通过这个实例,您将会了解到如何创建一个OCX控件,并将其集成到现有的应用程序中。
让我们来逐步进行操作。
第一步:创建一个VB项目首先,在您的开发环境中创建一个新的VB项目。
打开VB开发工具,选择"新建项目"。
在弹出的对话框中,选择"Windows Forms 应用程序",输入项目名称,并选择一个存储位置。
第二步:添加一个ActiveX控件在VB项目中,右键单击项目名称,选择"新增项"。
在弹出的对话框中,选择"ActiveX 控件",并填写控件的名称。
接下来,单击"添加"按钮,将控件添加到您的项目中。
第三步:设置控件属性在VB项目中,打开您所创建的控件。
在解决方案资源管理器中,找到您的控件文件,右键单击并选择"属性"。
在属性窗口中,您可以设置控件的各种属性,如名称、版本、描述等。
根据您的项目要求进行相应的设置。
第四步:设计控件界面在VB项目中,打开您的控件文件。
在控件设计器中,您可以设计控件的用户界面。
您可以添加按钮、文本框、标签等控件,并设置它们的属性和事件处理程序。
这将为用户提供一个可交互的界面。
第五步:编写控件代码在VB项目中,打开您的控件文件。
在代码编辑器中,您可以编写控件的代码逻辑。
使用VB语言,您可以定义属性、方法和事件,以实现控件的功能。
您还可以调用其他库或组件,以增加控件的功能性。
第六步:编译控件在VB项目中,选择"生成"->"生成解决方案",以编译您的控件项目。
如果编译成功,将会生成一个OCX文件,该文件包含了您所创建的控件。
第七步:在应用程序中使用控件现在,您已经成功地创建了一个OCX控件。
接下来,您可以将该控件集成到现有的应用程序中。
在VB中利用Word宏命令开发ASP组件
’报表期别 WdApp.Selection.TypeText (BbDate) WdApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter WdApp.Selection.TypeParagraph WdApp.Selection.TypeParagraph ’⽣成列头 ’wdApp.Selection.HomeKey wdLine, wdExtend ’dApp.Selection.Font.Bold = wdToggle WdApp.ActiveDocument.Tables.Add WdApp.Selection.Range, rowMax, colMax Dim i As Integer Do For colloop = 0 To colMax - 1 WdApp.Selection.Font.Size = 9 If i = 0 Then ’表格中标题加粗显⽰ WdApp.Selection.Font.Bold = wdToggle’表格标题⾏背景颜⾊设置为灰⾊,灰度为30 With WdApp.Selection.Cells With .Shading .Texture = wdTextureNone .ForegroundPatternColor = wdColorAutomatic .BackgroundPatternColor = wdColorGray30 End With End With End If ’最后⼀⾏右对齐,其余左对齐 If i > 0 Then If MyRecord.Fields.Item(colloop).Name = "ZBMC" Or MyRecord.Fields.Item(colloop).Name = "指标名称" Then WdApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft Else WdApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight End If End If If i = 0 And (MyRecord.Fields.Item(colloop).Name = "SXH" Or MyRecord.Fields.Item(colloop).Name = "顺序号") Then WdApp.Selection.TypeText ("序号") Else WdApp.Selection.TypeText (CStr(MyRecord.Fields.Item(colloop).value)) End If If (i <> rowMax - 1 Or (i = rowMax - 1 And colloop < colMax - 1)) Then WdApp.Selection.MoveRight (wdcell) End If Next i = i + 1 MyRecord.MoveNext Loop Until MyRecord.EOF WdApp.ActiveDocument.SaveAs DocFileName, 0, False, "", True, "", False, False, False, False, False WdApp.Quit SaveAsWord = 1 Exit Function Err_All: Set WdApp = Nothing SaveAsWord = -1 OutMessage = err.Description Exit Function End Function 好了,到此为⽌,我想你们对在VB中利⽤Word宏命令开发ASP组件,有了⼀些了解。
VB ActiveX控件的创建
资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载VB ActiveX控件的创建地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容1)概述ActiveX是一个Microsoft的术语,它指的是一组包括控件,DLL和ActiveX文档的组件,它通常是以动态链接库的形式存在,因此必须在一个叫容器的独立执行软件中运行。
这样的容器包括Authorware、Delphi,Visual Basic,Visual C++,Internet Explorer和Access等等。
ActiveX控件数据输入和函数功能执行都必须通过容器,因此ActiveX控件和容器都必须支持一些特定的接口协议。
根据Microsoft 相应的规格标准,ActiveX控件应具备如下的性能机制。
属性和方法:ActiveX控件必须提供属性的名称、方法的名称及参数,通过这项机制容器可以存取和改变ActiveX控件的属性参数。
事件:ActiveX控件由这项机制通知容器在ActiveX控件中发生的事件,比如属性参数的改变,用户按下鼠标左键等。
存储:容器由这项机制通知ActiveX控件存储和提取有关信息数据等。
ActiveX控件只要在Windows的Registry数据库中注册后,就可以像其他Windows应用程序一样发挥各自的功能。
ActiveX控件是一个模块化的灵活对象,如果某个应用程序或网页需要增加一项特殊的功能,无须重写整个程序,只要灵活地插入一个具有此项功能的ActiveX控件即可实现。
ActiveX的优势还在于它的动态可交互性,用户可以动态地在使用过程中,通过改变它的属性和参数,在应用程序中实现自己的特殊要求。
也许有的读者会问:目前在市面上可以找到各种各样现成的ActiveX控件,还有没有必要自己创建ActiveX控件呢?关于这个问题很容易解释,现有的控件种类是很多,功能也比较齐全,问题是有许多时候会遇到这种情况:使用现成的控件虽能完成任务,但自己需要的一些特性(属性、事件或方法)该控件却没有提供,还需要自己手工写代码来实现,而这些特性偏偏在自己的应用系统中又经常会用到,为了避免大量的重复劳动,一劳永逸的办法就是在创建自己的ActiveX控件。
VB6ActiveX_EXE的创建
VB6ActiveX_EXE的创建使用Visual Basic 编写应用程序的开发人员一定都遇到过这样的情形:当你的应用程序要完成一个比较大的任务时,并且该任务是那种“独占式”的任务(比如:使用函数 FileCopy 复制一个超过50MB 的文件),如果不对程序作出特殊的处理,则用户将被迫面对一个像是被“挂起”的窗体,任凭你用鼠标怎样点击也没有任何反应,更糟糕的是当你从屏幕保护程序切换回该程序时会看到程序的窗体变成了一块“白布”,这更加给人一种“死机”的感觉。
如何避免这种尴尬的界面出现呢?笔者在实践中发现了一种简单的办法,在这里介绍给大家,希望能对您有所帮助。
----这种办法是利用Visual Basic 提供的创建ActiveX 部件的功能设计一个专门完成“大任务”的ActiveX 部件。
这里对ActiveX 部件作如下简单介绍,以期适合不同的读者。
Visual Basic 所能设计的部件共有两种:一种是可视的部件;另一种是不可视的部件。
ActiveX 控件和窗体一起构成了应用程序与用户交互的界面,ActiveX 文档使用在Internet 应用程序中。
由于我们的问题不涉及到可视的部件,所以这里不再赘述。
----不可视的部件又称为代码部件,包括Active DLL 部件和ActiveX EXE 部件两种。
ActiveX 部件的另一个名称是ActiveX 服务器,之所以被称作服务器是由于ActiveX 部件与使用它们的应用程序之间的关系可以被类比为服务器程序与客户端程序之间的关系:ActiveX 部件封装了特定的功能或业务规则,应用程序不需要知道ActiveX 部件是如何实现这些功能或业务规则的,只需要通过ActiveX 部件提供的编程接口(API)传递应用程序的要求(通过属性或方法的参数),然后从部件的事件获得执行结果。
根据ActiveX 部件(ActiveX 服务器)的执行方式可以把ActiveX 部件分为进程内部件和进程外部件,所谓进程内部件即部件和使用它们的应用程序执行时共享同一个进程;而进程外部件却执行在自己的进程中,也可以这样认为:进程外部件的执行不影响使用它们的应用程序!显然,这个特性正是本文开始面对的那个问题所需要的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对于文本型表单域字段 , 字段名称后面有两对回车换
行码 , 然后就是文本数据 。
三 、 取 文 件 字段 内容 提
制数据 , AS 用 P的 r usTo lye方 法获取接收的数据 e et tB t q . a s 总字节数。要在 V B中使 用 AS P内置的 rq e 对象 , eu s t 需要 先在 V B中引用 A P的库 , S 具体操作方法是 : 执行“ 工程一 引用” 菜单 命 令 , 后 选 中 “ coo t eS re ae 然 MirsfAcv e r gs t i v P
By e on m y e uetTotl t s t c nt r q s. aBy e End S b u
其中 , 量 B t t保存了表单递交的全部信息 , 变 a s d ar 这是 摘 要 : 网站 开发 过程 中 , 在 经常要遇 到上传文件 的问题 。
一
个二进 制数 据流 , 要得 到其中的某个 具体 数据 , 还需要
如图 1 示。 所
文件 , 然后用 Deu b g调试工具将其装入 内存 并显示 , 结果
一
、
稍鎏l i : 辩
在 网站开发过程 中 , 经常要遇到上传文件 的问题 。对
于 A P网页 , S 文件的上传 是通过表单来实现 的。 但是 , 用来
藁轻
0 也: 口 : 竺坐 : 盘: : = i . ; :
强- 特 自 单递交的所有域中包含的数据内容 )和嚣r“蓉et 嚣a ye eusTo=; t q n§ tB s . l
由图 1 数据 的分析可知 , 每个文件型表单域字段 的数 据主要包含 1 内容 , 0项 每一项具体内容如下 表所示 :
( 获取接收的数据总字节数 ) 方法。因此 , 引入了两个问题 : 第一 , 如何 分离和提取各 表单域 的数据 ?第二 , rq e . 以 eu s t
和文件 名称 ) 的文 本域类型 ( p ) t e 必须 设置 为“l” 而用 y i fe , 来上传文本信息 的文本域类型 (ye 还是要设 置为“et t ) p tx” 型。在服 务器端 , 接收 “ lp ̄ f肌 - t 型表单递 交数 mut a /0 da i a ” 据 的信 息 不能 使 用 Reu sF r 和 Re usQurSr q et om . q et ey t . mg 方法 , 只能用 rqet ia Red 以二进 制方式 接收 表 而 eusBnr a( . y
维普资讯
用V B开 发 文 件 和 文 本
S tm y rp mgCon e pasd c pt c ntx e Sc t i txt se s r i i ng o e t S tm y e e t m y rpt C o e . e e t e r qu s Sc i i ng ntx R qu s t
BnrRed接收 的信息都是二进制 ( 器码 ) i y a a 机 信息 , 对于文 表中第一项
‘ ‘
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
tt是文本框中输 入的要上传 的文件路径 和名称 。 x” “ x/ln 是文件类型 , t tpa ” e 本例是记事本编写的文本文件 。
“
二 、 收 和分 析 表 单 递 交 的 数 据 接
m u lafe 是文件 内容 。 y pod ” l i
1接收表单递 交的数据 、 接收表单递交的数据要用到 A P的内置的 rq e 对 S eu s t
7 d61 71 9 dl 0
本域信息如 何将其转换 为我们所 需要的 A C I 字符 串 S I码
格式的信息? 文以 V 60 本 B .编程为例来分析和解 决以上问
题。
4 ” 为表单域字段的分隔符字串。表中 的“ ea l 是 0称 l i f nme” 字段名称 ( 即表单上的文本框名称 ) E\podmy e 。“ : l \ f . u a l i
使用 各种脚本语 言来处理文件上传 问题过程 比较复 杂 , 而 且不能实现文件和普通文本数据 的同时上传 。 本文介绍用 V 60 写一 个通 用的 A teDL B .编 cv L组件 , i 以实现 文件和普 通文本数据的 同时上传。
关键词 : P 文件上传 ; AS ; 表单 ; B编程 ; cv 组件 V A te i 中 图 分 类 号 : P 9 文 献 标 识 码 : 文 章 编 号 : T 33 A
10 - 8 12 0 )30 0 0 8 88 ( 0 60 -1 问题 的提 出
从中分离。 变量 B tcn t yeo n 保存二进制数据 流的总字节数 ,
以Hale Waihona Puke 程序在后面使 用。 2分析接收的二进制数据格 式 、
将上一步接收到的数据 内容 ( b t t变量值 ) 即 d ar a s 写入
向服务器端 上传文件 的表单和用来递 交一般文 本信息 的
表单有很大 区别 。首先 ,表单 的 MI ME类 型必须设置为
“
::嚣 鼯 =I l
mut a / r dt 。 lpr f m— a ” 其次 , i to a 用来输入上传文件信息( 路径
图 1 用 D b g显 示 的 上传 数据 Bu
同时 上传 的 Acv 组件 te i
汪 学祥 ・ 太原 000 ) 3 0 6 ( 山西 煤炭 管理 干部 学 院 。 西 山
B t t m r q et ia Redmye u sT tB ts a s y e u s Bn r a ( rq e . oa ye d ar . y t l )