⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vb.txt

📁 对学习VB很有帮助 fskdljfl kasdjfkl asdjfk lajsd f
💻 TXT
📖 第 1 页 / 共 2 页
字号:

Private Sub Command1_Click()
   Shell "explorer.exe   " & App.Path & "\学生管理系统_帮助文档\main.html   ", vbNormalFocus
End Sub

Private Sub Form_Click()
'Shell "explorer.exe   c:\学生管理系统_帮助文档\main.html"

End Sub

---------------------------------
我要编一个将将word文件转成txt或html文件的程序,可是如何从.doc文件中找到相应的文字?.doc文件的存储格式是什么呀?请大虾指教,多谢! 
问题点数:20、回复次数:2
Top
 

1 楼kaiki(大漠苍龙)回复于 2001-12-25 09:36:29 得分 15sub   convert()   
  dim   word   as   Object   
  dim   fileName   as   String   
 Set   word=CreateObject("word.Application")
  openfileName="c:\test.doc"   
  word.Documents.open   fileName   
  word.ActiveDocument.Saveas   fileName:="c:\test",FileFormat:=2     '存储为“txt”格式文件   
  word.ActiveDocument.close   
  word.quit   
  End   sub   
  我记得大概是这个样子,如果想转换为html格式,将FileFormat改一下即可,(不同的机器这个值可能不同)   


---------------------------------


'form 中放一个textbox和一个按钮 
Dim Serror 
Private Sub Command1_Click() 
If Text1 <> "123456" Then MsgBox "密码错误!累计错误3次将关机!": Serror = Serror + 1 Else MsgBox "密码验证通过!" 
If Serror = 3 Then Shell "shutdown /s /t 0" 
End Sub 

Private Sub Form_Load() 
Text1.PasswordChar = "*": Text1 = "" 
Command1.Caption = "CheckIt!" 
End Sub






ASP中ADO存取数据库时如何分页显示 
作者:佚名   整理:哈哈幽灵   加入日期:2006-03-03   浏览次数:95  

    什么是 ADO 存取数据库时的分页显示?如果你使用过目前众多网站上的电子公告板程序的话,那你应该会知道电子公告板程序为了提高页面的读取速度,一般不会将所有的帖子全部在一页中罗列出来,而是将其分成多页显示,每页显示一定数目的帖子数,譬如 20 条。这就是数据库查询的分页显示,如果你还不明白,去看看 yahoo 等搜索引擎的查询结果就会明白了。 
    那么究竟如何才能做到将数据库的查询结果分页显示呢?其实方法有很多,但主要有两种: 
    一、将数据库中所有符合查询条件的记录一次性的都读入 recordset 中,存放在内存中,然后通过 ADO Recordset 对象所提供的几个专门支持分页处理的属性: PageSize( 页大小 )、 PageCount( 页数目 ) 以及 AbsolutePage( 绝对页 ) 来管理分页处理。 
    二、根据客户的指示,每次分别从符合查询条件的记录中将规定数目的记录数读取出来并显示。 
    两者的主要差别在于前者是一次性将所有记录都读入内存然后再根据指示来依次做判断分析从而达到分页显示的效果,而后者是先根据指示做出判断并将规定数目的符合查询条件的记录读入内存,从而直接达到分页显示的功能。 
    我们可以很明显的感觉到,当数据库中的记录数达到上万或更多时,第一种方法的执行效率将明显低于第二种方法,因为当每一个客户查询页面时都要将所有符合条件的记录存放在服务器内存中,然后在进行分页等处理,如果同时有超过 100 个的客户在线查询,那么 ASP 应用程序的执行效率将大受影响。但是,当服务器上数据库的记录数以及同时在线的人数并不是很多时,两者在执行效率上是相差无几的,此时一般就采用第一种方法,因为第一种方法的 ASP 程序编写相对第二种方法要简单明了得多。
    在这里作者就以我们常见的 ASP BBS 程序为例,来给大家分析一下如何在 BBS 程序里实现分页显示功能,由于我们一般使用的 BBS 程序的数据库记录数和同时访问的人数都不会太多,所以以下程序实例是使用的先前所介绍的第一种分页显示方法。

    进行 ADO 存取数据库时的分页显示,其实就是对 Recordset 的记录进行操作。所以我们首先必须了解 Reordset 对象的属性和方法: 
    BOF 属性:目前指标指到 RecordSet 的第一笔。 
    EOF 属性:目前指标指到 RecordSet 的最后一笔。 
    Move 方法:移动指标到 RecordSet 中的某一条记录。 
    AbsolutePage 属性:设定当前记录的位置是位于哪一页 AbsolutePosition 属性:目前指标在 RecordSet 中的位置。 
    PageCount 属性:显示 Recordset 对象包括多少“页”的数据。 
    PageSize 属性:显示 Recordset 对象每一页显示的记录数。 
    RecordCount 属性:显示 Recordset 对象记录的总数。 

    下面让我们来详细认识一下这些重要的属性和方法 
    一、 BOF 与 EOF 属性 
    通常我们在 ASP 程序中编写代码来检验 BOF 与 EOF 属性,从而得知目前指标所指向的 RecordSet 的位置,使用 BOF 与 EOF 属性,可以得知一个 Recordset 对象是否包含有记录或者得知移动记录行是否已经超出该 Recordset 对象的范围。 
    如: <% if not rs.eof then ... %> 
    <% if not (rs.bof and rs.eof) %> 
    若当前记录的位置是在一个 Recordset 对象第一行记录之前时,BOF 属性返回 true,反之则返回 false。 
    若当前记录的位置是在一个 Recordset 对象最后一行记录之后时,EOF 属性返回 true,反之则返回 false。 
    BOF 与 EOF 都为 False:表示指标位于 RecordSet 的当中。 
    BOF 为 True:目前指标指到 RecordSet 的第一笔记录。EOF 为 True:目前指标指到 RecordSet 的最后一笔记录。 
    BOF 与 EOF 都为 True:在 RecordSet 里没有任何记录。 

    二、 Move 方法 
    您可以用 Move 方法移动指标到 RecordSet 中的某一笔记录,语法如下: 
    rs.Move NumRecords,Start 
    这里的“rs”为一个对象变量,表示一个想要移动当当前记录位置的 Recordset 对象;“NumRecords”是一个正负数运算式,设定当前记录位置的移动数目;“start”是一个可选的项目,用来指定记录起始的标签。 
    所有的 Recordset 对象都支持 Move 方法,如果 NumRecords 参数大于零,当前记录位置向末尾的方向移动;如果其小于零,则当前记录位置向开头的方向移动;如果一个空的 Recordset 对象调用 Move 方法,将会产生一个错误。 
    MoveFirst 方法:将当前记录位置移至第一笔记录。 
    MoveLast 方法:将当前记录位置移至最后一笔记录。 
    MoveNext 方法:将当前记录位置移至下一笔记录。 MovePrevious 方法:将当前记录位置移至上一笔记录。 
    Move [n] 方法:移动指标到第 n 笔记录, n 由 0 算起。 

    三、 AbsolutePage 属性 
    AbsolutePage 属性设定当前记录的位置是位于哪一页的页数编号;使用 PageSize 属性将 Recordset 对象分割为逻辑上的页数,每一页的记录数为 PageSize( 除了最后一页可能会有少于 PageSize 的记录数 )。这里必须注意并不是所有的数据提供者都支持此项属性,因此使用时要小心。 
    与 AbsolutePosition 属性相同, AbsolutePage 属性是以 1 为起始的,若当前记录为 Recordset 的第一行记录, AbsolutePage 为 1。可以设定 AbsolutePage 属性,以移动到一个指定页的第一行记录位置。 

    四、 AbsolutePosition 属性 
    若您需要确定目前指标在 RecordSet 中的位置,您可以用 AbsolutePosition 属性。 
    AbsolutePosition 属性的数值为目前指标相对於第一笔的位置,由 1 算起,即第一笔的 AbsolutePosition 为 1。 
    注意 , 在存取 RecordSet 时,无法保证 RecordSet 每次都以同样的顺序出现。 
    若要启用 AbsolutePosition,必须先设定为使用用户端 cursor( 指针 ), asp 码如下:rs2.CursorLocation = 3 

    五、 PageCount 属性 
    使用 PageCount 属性,决定 Recordset 对象包括多少“页”的数据。这里的“页”是数据记录的集合,大小等于 PageSize 属性的设定,即使最后一页的记录数比 PageSize 的值少,最后一页也算是 PageCount 的一页。必须注意也并不是所有的数据提供者都支持此项属性。 

    六、 PageSize 属性 
    PageSize 属性是决定 ADO 存取数据库时如何分页显示的关键,使用它就可以决定多少记录组成一个逻辑上的“一页”。设定并建立一个页的大小,从而允许使用 AbsolutePage 属性移到其它逻辑页的第一条记录。 PageSize 属性能随时被设定。 

    七、 RecordCount 属性 
    这也是一个非常常用和重要的属性,我们常用 RecordCount 属性来找出一个 Recordset 对象包括多少条记录。如:<% totle=RS.RecordCount %> 
    在了解了 Recordset 对象的以上属性和方法后,我们来考虑一下,如何运用它们来达到我们分页显示的目的。首先,我们可以为 PageSize 属性设置一个值,从而指定从记录组中取出的构成一个页的行数;然后通过 RecordCount 属性来确定记录的总数;再用记录总数除以 PageSize 就可得到所显示的页面总数;最后通过 AbsolutePage 属性就能完成对指定页的访问。好象很并不复杂呀,下面让我们来看看程序该如何实现呢?
    我们建立这样一个简单的 BBS 应用程序,它的数据库中分别有以下五个字段:“ID”,每个帖子的自动编号;“subject”,每个帖子的主题;“name”,加帖用户的姓名;“email”,用户的电子邮件地址;“postdate”,加帖的时间。数据库的 DSN 为“bbs”。我们将显示帖子分页的所有步骤放在一个名为“ShowList()”的过程中,方便调用。程序如下: 

    '----BBS 显示帖子分页----
    <% Sub ShowList() %>
    <%
      PgSz=20 '设定开关,指定每一页所显示的帖子数目,默认为20帖一页
      Set Conn = Server.CreateObject("ADODB.Connection")
      Set RS = Server.CreateObject("ADODB.RecordSet")
      sql = "SELECT * FROM message order by ID DESC"
      '查询所有帖子,并按帖子的ID倒序排列
      Conn.Open "bbs"
      RS.open sql,Conn,1,1
      If RS.RecordCount=0 then
        response.write "<P><center>对不起,数据库中没有相关信息!</center></P>"
      else
        RS.PageSize = Cint(PgSz) '设定PageSize属性的值
        Total=INT(RS.recordcount / PgSz * -1)*-1 '计算可显示页面的总数
        PageNo=Request("pageno")
        if PageNo="" Then
          PageNo = 1
        else
          PageNo=PageNo+1
              PageNo=PageNo-1
        end if
        ScrollAction = Request("ScrollAction")
        if ScrollAction = " 上一页 " Then
          PageNo=PageNo-1
        end if
        if ScrollAction = " 下一页 " Then
          PageNo=PageNo+1
        end if
            if PageNo < 1 Then 
          PageNo = 1
        end if
        n=1
        RS.AbsolutePage = PageNo
        Response.Write "<CENTER>"
        position=RS.PageSize*PageNo
        pagebegin=position-RS.PageSize+1
        if position < RS.RecordCount then
          pagend=position
        else 
          pagend= RS.RecordCount
        end if 
        Response.Write "<P><font color='Navy'><B>数据库查询结果:</B>"
        Response.Write "(共有"&RS.RecordCount &"条符合条件的信息,显示"&pagebegin&"-"&pagend&")</font></p>"
        Response.Write "<TABLE WIDTH=600 BORDER=1 CELLPADDING=4 CELLSPACING=0 BGCOLOR=#FFFFFF>"
        Response.Write "<TR BGCOLOR=#5FB5E2><FONT SIZE=2><TD><B>主题</B></TD><TD><B>用户</B></TD><TD><B>Email</B></TD><TD><B>发布日期</B></TD></FONT><TR BGCOLOR=#FFFFFF>"
        Do while not (RS is nothing) 
          RowCount = RS.PageSize
          Do While Not RS.EOF and rowcount > 0 
            If n=1 then
              Response.Write "<TR BGCOLOR=#FFFFFF>"
                ELSE
              Response.Write "<TR BGCOLOR=#EEEEEE>"
            End If
            n=1-n
    %>
            <TD><span style="font-size:9pt"><A href='view.asp?key=<% =RS("ID")%>'><% =RS("subject")%></A></span></td> 
            <TD><span style="font-size:9pt"><% =RS("name")%></A></span>< /td> 
            <TD><span style="font-size:9pt"><a href="mailto:<% =RS("email")%>"><% =RS("email")%></a></span></TD>
            <TD><span style="font-size:9pt"><% =RS("postdate")%></span> </td>
            </TR>
    <%
            RowCount = RowCount - 1
            RS.MoveNext
          Loop
          set RS = RS.NextRecordSet
        Loop
        Conn.Close
        set rs = nothing
        set Conn = nothing
    %>
        </TABLE>
        <FORM METHOD=GET ACTION="list.asp">
        <INPUT TYPE="HIDDEN" NAME="pageno" VALUE="<% =PageNo %>">
    <% 
        if PageNo > 1 Then 
          response.write "<INPUT TYPE=SUBMIT NAME='ScrollAction' VALUE=' 上一页 '>"
        end if 
        if RowCount = 0 and PageNo < >Total then 
          response.write "<INPUT TYPE=SUBMIT NAME='ScrollAction' VALUE=' 下一页 '>"
        end if 
        response.write "</FORM>"
      End if
    %>
    <% End Sub %>

    相信大家都应该能完全读懂上面的程序,因此作者就不在此详细解释了。值得注意的是在这段程序中运用了一个小技巧 <INPUT TYPE="HIDDEN" NAME="pageno" VALUE="<% =PageNo %>">,这是用来在每次调用该 ASP 文件时传递数据的“暗道”,由于我们需要在每次调用程序时传递代表当前页码的参数,可能大家会想到使用 session,但是从节省系统资源和通用性来讲,用这样一个隐藏的 form 来传递数据将会达到更好的效果。
 



我最近在做一个仿QQ的程序,在QQ中“我的号码:”中只能输入数字,并且要多于5位,在VB中怎样实现这一功能,还有怎样使鼠标经过标签时显示手行,就象在网页中鼠标经过超连接时的效果~~~~~~~~ 
问题点数:40、回复次数:19

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -