23
10月

gct 我的痛

昨天考gct 失败了

19
10月

VB千里行-操作Word与Excel

本文将告诉你如何使用VB代码连接Office应用程序,并简要接触一下在文件中输入数据的方法。实际上,在VB中用代码与Word和Excel进行会话并控制它们,是可行的。但是请注意,首先需要在机器上安装office应用程序,才能在VB代码中存取它们的对象。

   下面就是一些例子,告诉你如何与这些程序会话,并控制它们。

Option Explicit

Dim xlsApp As Excel.Application

Dim wrdApp As Word.Application

   只要相关的对象库已经被选择,在应用程序中进行对象变量的赋值是可能的。Microsoft Excel 8.0对象库是相对于Excel的,而 Microsoft Word 8.0 对象库是为Word服务的。

   在VB的IDE环境中,从“工程”菜单中选择“引用”,可以看到系统可用的所有库列表。

Private Sub Command1_Click()

Set xlsApp = Excel.Application

With xlsApp

注释:Show Excel

.Visible = True

注释:Create a new workbook

.Workbooks.Add

注释:Put text in to the cell that is selected

.ActiveCell.Value = "Hi"

注释:Put text into A3 regardless of the selected cell

.Range("A3").Value = "This is an example of connecting to Excel"

End With

End Sub

   在上面的程序段中,我们在变量xlsApp中建立了一个对象,这样Excel就对用户可见了。当Excel象这样启动后,并不包含一个工作簿,所以必须创建或者执行打开操作。这里,我们建立了一个新的工作簿,然后,就可以操作其中的信息,或者打印,或者保存,或者你任意想做的事情。

Private Sub Command2_Click()

注释:close the workbook

xlsApp.Workbooks.Close

注释:Close Excel

xlsApp.Quit

End Sub

   上面这段代码执行关闭程序的功能。首先,关闭工作簿,这将出现一个提示对话框,询问用户是否想保存修改;然后,退出应用程序。

Private Sub Command3_Click()

Set wrdApp = New Word.Application

With wrdApp

注释:Show Word

.Visible = True

注释:Create New Document

.Documents.Add

注释:Add text to the document

.ActiveDocument.Content.Text = "Hi"

.ActiveDocument.Content.Text = "This is a test example"

End With

End Sub

   上面这段代码中,在变量wrdApp中设置引用Word程序的对象。同样,当Word按照这种方式启动后,不会包含一个文档,所以,必须执行建立或者打开操作。这里是建立了一个新文档,然后可以操作其中的信息了,打印、保存、发送邮件,等等…

   但是,在Word文档中放置文本并非容易!特别是与Excel一起工作时。为了简单地在特定的地方放置文本,需要有一个bookmark标记。这意味着,需要事先建立一个模板。

Private Sub Command4_Click()

注释:Close the current document

wrdApp.ActiveDocument.Close

注释:Close Word

wrdApp.Quit

End Sub

   上面这段代码的功能是关闭应用程序。首先,关闭当前文档,这时可能需要用户保存修改。然后,退出程序。

Private Sub Form_Unload(Cancel As Integer)

注释:Clear the memory

Set xlsApp = Nothing

Set wrdApp = Nothing

End Sub

   最后一段代码就是关闭VB应用程序。这是优秀程序员编程的好习惯。

   Well I hope this brief tutorial is helpful. It does not touch on much of what you can do to the office applications once they注释:re open, but should give you an idea of how to get started.

   好了,简单的介绍到此结束。我希望能抛砖引玉,让你更加随意地操作Office应用程序!

19
10月

把打开的一篇word文档,保存到数据库的某个字段中

最好把整个Word文档保存到数据库,这样就不会丢失Wrod中的格式及所有其它的一些内容。
完整的代码如下:如果是用SQL那么保存文件的字段类型应该是Binary。如果是用Access,那么保存文件的字段应该用OLD对象,在表中显示为长二进制数据。

'将任何文件从数据库中下载到本地:
Public Function LoadFile(ByVal col As ADODB.Field, ByVal FileName As String) As Boolean '获得binary数据
On Error GoTo myerr:
Dim arrBytes() As Byte
Dim FreeFileNumber As Integer
lngsize = col.ActualSize
arrBytes = col.GetChunk(lngsize)
FreeFileNumber = FreeFile
Open FileName For Binary Access Write As #FreeFileNumber
Put #FreeFileNumber, , arrBytes
Close #FreeFileNumber
LoadFile = True
myerr:
If Err.Number <> 0 Then
LoadFile = False
Err.Clear
End If
End Function

&#39;将文件从本地上传到数据库中
Public Function UpLoadFile(ByVal FileName, ByVal col As ADODB.Field) As Boolean
On Error GoTo myerr:
Dim arrBytes() As Byte
Dim FreeFileNumber As Integer
FreeFileNumber = FreeFile
Open FileName For Binary As #FreeFileNumber
n = LOF(FreeFileNumber)
ReDim arrBytes(1 To n) As Byte
Get #FreeFileNumber, , arrBytes
Close #FreeFileNumber
col.AppendChunk (arrBytes)
UpLoadFile = True
myerr:
If Err.Number <> 0 Then
UpLoadFile = False
Err.Clear
End If
End Function

szh的意见:
数据库字段:wjmc 文件名,wjsx 文件的扩展名。Wjnr 文件的内容为二进制。(若access数据库为“ole对象”,sql server为“image”)

该程序可以操作所有的文件类型。
Dim Wenjian As String

Dim RD As Byte

Dim SIZE As Long

Const MYSIZE = 1048576

Dim WENJIANN() As Byte

Dim Rs As New ADODB.Recordset

Rs.Open &#34;sel&#101;ct * from wj&#34;, Cn, 1, 3

Rs.AddNew

Rs!wjmc = Mid(Name, 1, InStr(Name, &#34;.&#34;) – 1)

Rs!wjsx = Mid(Name, InStr(Name, &#34;.&#34;) + 1)

‘name为文件的名称加扩展名

Open Filename For Binary Access Read As #1

SIZE = LOF(1)

Do While SIZE – MYSIZE >= 0

ReDim WENJIANN(MYSIZE) As Byte

Get #1, , WENJIANN

Rs!wjnr.AppendChunk WENJIANN

SIZE = SIZE – MYSIZE

Loop

If SIZE > 0 Then

ReDim WENJIANN(SIZE) As Byte

Get #1, , WENJIANN

Rs!wjnr.AppendChunk WENJIANN

End If

Close #1

Rs.Up&#100;ate

Set Rs = Nothing

ldx的意见:
其实用不着这么复杂。先将你的Word文档转换成RTF文档。再用两个语句方法既可:一个是RichTextBox1.LoadFile strOpen, 0,另一个是rsRecodset(&#34;字段名&#34;).AppendChunk RichTextBox1.TextRTF。其中strOpen是你要打开的RTF文档。
前一个语句将你的RTF文档显示到RichTextBox控件中,后一语句将RichTextBox控件中的格式化文档灌入数据库字段。这是两个核心语句,其余配合的语句我想你应该知道。如果你不想用第二个语句,那么再画一个Data数据控件则更简单。

16
10月

正确识别5类双绞线

随着快速以太网标准的推出和实施,5类双绞线开始广泛地应用于网络布线。但是由于个别厂商和网络公司在宣传上的误导,以及部分网络用户对有关标准缺乏必要的了解,致使在选用5类双绞线时真假难辨,不知所措。然而,一旦选用了不符合标准的5类双绞线,一方面会使网络整体性能下降,另一方面为将来网络的升级埋下了隐患。本文结合技术和应用,介绍标准5类双绞线的正确识别方法。

为了让大家对双绞线有个较全面的了解,我们先来介绍双绞线的常见类型及特性。计算机局域网中的双绞线可分为非屏蔽双绞线(UTP)和屏蔽双绞线(STP)两大类:STP外面由一层金属材料包裹,以减小辐射,防止信息被窃听,同时具有较高的数据传输速率,但价格较高,安装也比较复杂;UTP无金属屏蔽材料,只有一层绝缘胶皮包裹,价格相对便宜,组网灵活。除某些特殊场合(如受电磁辐射严重、对传输质量要求较高等)在布线中使用STP外,一般情况下我们都采用UTP。现在使用的UTP可分为3类、4类、5类和超5类四种,这四种UTP的主要性能参数见表1。其中:3类UTP适应了以太网(10Mbps)对传输介质的要求,是早期网络中重要的传输介质;4类UTP因标准的推出比3类晚,而传输性能与3类UTP相比并没有提高多少,所以一般较少使用;5类UTP因价廉质优而成为快速以太网(100Mbps)的首选介质;超5类UTP的用武之地是千兆位以太网(1000Mbps)。根据目前网络布线的实际需要,本文主要介绍5类UTP的正确识别和选择方法。

1.传输速度
双绞线质量的优劣是决定局域网带宽的关键因素之一。某些厂商在5类UTP电缆中所包裹的是3类或4类UTP中所使用的线对,这种制假方法对一般用户来说很难辨别。这种所谓的“5类UTP”无法达到100Mbps的数据传输率,最大为10Mbps或16Mbps。一个简单的鉴别办法是用一条双绞线连接两台100Mbps的设备(网卡到网卡或网卡到HUB),通信时用Windows
95/98自带的monitor检测工具对其数据传输率进行监测。方法为:①选择“开始→程序→附件→系统工具→系统监视器”,将出现“系统监视器”窗口。如果在“系统工具”中没有“系统监视器”工具时,可通过“我的电脑→添加/删除程序→Windows安装程序→系统工具→系统监视器”建立。②在“系统监视器”窗口中设置监视对象。选择“编辑”菜单中的“添加项目”选项,在出现的对话框的“类别”列表中选择“Microsoft网络服务器”或“Microsoft网络客户”(注意:在保证网络连接正常的情况下),在下一个对话框中选择“写入的字节数/秒”或“读取的字节数/秒”。至于选择“Microsoft网络服务器”或“Microsoft网络客户”,还是“写入的字节数/秒”或“读取的字节数/秒”,读者可任意选择,因为在网络中一个节点发送出的数据应该等于另一个节点接收到的数据。③设置测试数据的输出方式。系统提供了折线图、条形图和数字图三种输出方式,可通过窗口工具栏内的按钮来选择。④进行测试。最有效的办法是从服务器向你进行测试的工作站上拷贝大量的文件(为了测试的准确性,所拷贝的内容一定要足够多),当设置的是折线图时,将显示图1的测试过程,当选择的是条形图时测试过程如图2所示。一般来说,显示的峰值数值在4M/s以上,就基本可以肯定是5类网线了(3类线所能达到的峰值数值大约为2.5M/s)。

2.电缆中双绞线对的扭绕应符合要求
为了降低信号的干扰,双绞线电缆中的每一线对都是由两根绝缘的铜导线相互扭绕而成,而且同一电缆中的不同线对具有不同的扭绕度(就是扭绕线圈的数量多少),如图3所示。同时,标准双绞线电缆中的线对是按逆时针方向进行扭绕。但某些非正规厂商生产的电缆线却存在许多问题:①为了简化制造工艺,电缆中所有线对的扭绕密度相同;②线对中两根绝缘导线的扭绕密度不符合技术要求;③线对的扭绕方向不符合要求,如图4所示。如果存在以上问题,将会引起双绞线的近端串扰(指UTP中两线对之间的信号干扰程度),从而使传输距离达不到要求。双绞线的扭绕度在生产中都有较严格的标准,实际选购时,在有条件的情况下可用一些专业设备进行测量,但一般用户只能凭肉眼来观察。需说明的是,5类UTP中线对的扭绕度要比3类密(如图5所示),超5类要比5类密。
除组成双绞线线对的两条绝缘铜导线要按要求进行扭绕外,标准双绞线电缆中的线对之间也要按逆时针方向进行扭绕。否则将会引起电缆电阻的不匹配,限制了传输距离。这一点一般用户很少注意到。有关5类双绞线电缆的扭绕度和其他相关参数,有兴趣的读者可查阅TIA/EIA 568A(TIA/EIA568是ANSI于1996年制定的布线标准,该标准给出了网络布线时有关基础设施,包括线缆、连接设备等的内容。字母“A”表示为IBM的布线标准,而AT&amp;T公司用字母“B”表示。)中的具体规定。

3.5类双绞线应该是多少对?
以太网在使用双绞线作为传输介质时只需要2对(4芯)线就可以完成信号的发送和接收。在使用双绞线作为传输介质的快速以太网中存在着三个标准:100Base-TX、100Base-T2和100Base-T4。其中:100Base-T4标准要求使用全部的4对线进行信号传输,另外两个标准只要求2对线。而在快速以太网中最普及的是100Base-TX标准,所以你在购买100M网络中使用的双绞线时,不要为图一点小便宜去使用只有2个线对的双绞线。在美国线缆标准(AWG)中对3类、4类、5类和超5类双绞线都定义为4对,在千兆位以太网中更是要求使用全部的4对线进行通信。所以,标准5类线缆中应该有4对线。

4.仔细观察
在具备了以上知识后,识别5类UTP时还应注意以下几点:①查看电缆外面的说明信息。在双绞线电缆的外面包皮上应该印有像“AMP SYSTEMS CABLE……24AWG……CAT5”的字样(AMP线的外型见图3~5),表示该双绞线是AMP公司(最具声誉的双绞线品牌)的5类双绞线,其中24AWG