精华内容
下载资源
问答
  • 如何用win32编程方式将获取的字符串保存到txt文件中以及如何打开txt文件获取字符串
  • 我现在有一个txt文件,在持续采集传感器数据过程中,存储达到指定值前10000个数据。 我希望可以持续写入数据,达到10000个后,每采集一个就删除最早的一个,保持10000个数据,最后达到指定值时,停止采集并停止...
  • 如何用编程方式将多个新浪微博 (如:http://weibo.com/u/2531528405 http://weibo.com/u/1407219330 http://weibo.com/u/1867903025 http://weibo.com/u/2433634244 。。。。。 ) 页面内容保存成TXT或...
  • 往期高能●VB程序运行需要经过什么过程?●VB开发的个人收支系统软件●跟我学VB合作交流大家好,在Windows系统的电脑上,都可以发现有纸牌这...那么,如何用VB编程来开发呢?分析:用VB编程开发纸牌游戏,需要用到VB...
    a7007b7e000eae1967b1b3376dd58b28.png往期高能●VB程序运行需要经过什么过程?●VB开发的个人收支系统软件●跟我学VB合作交流

    大家好,在Windows系统的电脑上,都可以发现有纸牌这款有趣的休闲、有趣、益智的小游戏。

    56968885c6641ed23bb2e542101ba424.png

    电脑自带的纸牌游戏

    纸牌游戏规则

    游戏中下方的牌称为为主牌,若上面有比主牌大1或者小1的牌,点击它们可消除。若没有可消除的,可点击主牌可换主牌。

    那么,如何用VB编程来开发呢?

    分析:

    用VB编程开发纸牌游戏,需要用到VB常用控件、控件数组、图形控件、控制结构、数组、过程、文件方面的综合内容。

    8ecf2358deaa612d1e67f6e3a12a6db1.png

    VB开发纸牌游戏运行图

    程序实现代码

    提示:由于程序实现代码多,代码比较长,看代码不方便,如果对本游戏程序感兴趣,可直接扫描文尾的小编微信号获取源程序。游戏实现代码:

    Option Explicit

    Dim x0 As Long, y0 As Long     '拖动过程中保存鼠标的位置

    Dim left0 As Long, top0 As Long  '被拖动多张牌中最上方牌的位置

    Dim inmove As Boolean            '如果为True表示处于拖动过程中

    Dim cardsmove() As Integer       '动态数组,保存移动中的多张牌(0~cardsmovenum-1)

    Dim cardsmovenum As Integer      '移动牌的张数

    Dim movefrom As Integer           '保存拖动的源序列号

    Dim min As Long, sec As Integer  '游戏的分与秒

    Private Sub Form_Load()

        Dim i As Integer, j As Integer

        '空档牌

        j = 0

        For i = 0 To 4

            imgBack(i).Picture = GetPicture(5, 14)

            imgBack(i).Top = conVerGap

            imgBack(i).Left = conHorGap * (j + 1) + conCardWidth * j

            j = j + 1

            If i = 0 Then j = j + 2

        Next

        '生成另外51张牌

        For i = 2 To 52

            Load imgCards(i)

        Nexta2c9685a2ecf073dd099c5cfa6f61b8d.png

            If Dir(App.Path & "\cards.txt") <> "" Then

            If MsgBox("是否恢复上次保存的牌局?", vbYesNo + vbQuestion, "接龙") = vbYes Then

                Open App.Path & "\cards.txt" For Input As 1

                Input #1, back

                For i = 0 To 12

                    For j = 0 To 30

                        Input #1, queues(i, j)

                        If queues(i, j) <> 0 Then Input #1, updown(queues(i, j))

                    Next

                Next

                Input #1, min, sec

                Close 1

            Else

                Randomize

                back = 1 + Rnd * 12             '背面图案

                Call Shuffle                    '随机洗牌

            End If

        Else

            Randomize

            back = 1 + Rnd * 12                 '背面图案

            Call Shuffle                        '随机洗牌

        End If

        Call ShowCards  '显示所有牌

    End Sub

    Private Sub Form_Unload(Cancel As Integer)

        Dim i As Integer, j As Integer

        If MsgBox("是否保存牌局?下次启动后继续。", vbYesNo + vbQuestion, "接龙") = vbYes Then

            Open App.Path & "\cards.txt" For Output As 1

            Write #1, back

            For i = 0 To 12

                For j = 0 To 30

                    Write #1, queues(i, j),

                    If queues(i, j) <> 0 Then Write #1, updown(queues(i, j)),

                Next

            Next

            Write #1,

            Write #1, min, sec  '记录游戏的分与秒

            Close 1

        Else

            If Dir(App.Path & "\cards.txt") <> "" Then

                Kill App.Path & "\cards.txt"

            End If

        End If

    End Sub

    e268eec5a0ecce720f3186f0030646df.png

    Private Sub mnuExit_Click()

        Unload Me

    End Sub

    Private Sub mnuNew_Click()

        sec = 0

        min = 0

        Call Shuffle    '   洗牌

        Call ShowCards  '显示所有牌

    End Sub

    Private Sub ShowCards()

        Dim i As Integer, j As Integer, k As Integer

        Dim offset As Integer           '每个序列中牌的纵向偏移量

        For i = 0 To 6              '显示下列7个序列

            j = 0

            offset = 0

            k = queues(i, j)

            Do While k <> 0

                If updown(k) Then   '正面

                    imgCards(k) = GetPicture((k - 1) \ 13 + 1, (k - 1) Mod 13 + 1)

                Else                '反面

                    imgCards(k) = GetPicture(5, back)

                End If

                imgCards(k).Top = offset + conCardHeight + 2 * conVerGap      '纵坐标

                imgCards(k).Left = conHorGap * (i + 1) + conCardWidth * i       '横坐标

                imgCards(k).ZOrder 0

                imgCards(k).Visible = True

                j = j + 1

                If updown(k) Then offset = offset + conVerGap Else offset = offset + conMiniVerGap  '反面的和正面的间距不同

                k = queues(i, j)

            Loop

        Next

        For i = 7 To 8               '显示左上角2个序列

            j = 0

            k = queues(i, j)

            Do While k <> 0

                If updown(k) Then   '正面

                    imgCards(k) = GetPicture((k - 1) \ 13 + 1, (k - 1) Mod 13 + 1)

                Else                '反面

                    imgCards(k) = GetPicture(5, back)

                End If

                imgCards(k).Top = conVerGap

                imgCards(k).Left = conHorGap * (i - 7 + 1) + conCardWidth * (i - 7)

                imgCards(k).ZOrder 0

                imgCards(k).Visible = True

                j = j + 1

                k = queues(i, j)

            Loop

        Next

    e5a04b91afcc4d23e38a9d9a58daae63.png

        For i = 9 To 12              '显示右上角的4个序列

            j = 0

            k = queues(i, j)

            Do While k <> 0

                If updown(k) Then   '正面

                    imgCards(k).Picture = GetPicture((k - 1) \ 13 + 1, (k - 1) Mod 13 + 1)

                Else                '反面

                    imgCards(k).Picture = GetPicture(5, back)

                End If

                imgCards(k).Top = conVerGap

                imgCards(k).Left = conHorGap * (i + 1 - 9 + 3) + conCardWidth * (i - 9 + 3)

                imgCards(k).ZOrder 0

                imgCards(k).Visible = True

                j = j + 1

                k = queues(i, j)

            Loop

        Next

    End Sub

    Private Sub imgBack_Click(Index As Integer)           '如果点击的是序列7最下面的空牌,则将序列8中的牌移至序列7

        Dim i As Integer, j As Integer

        If Index = 0 Then

            j = queuetop(8)             '查找第8序列中最顶牌的序号

            i = 0

            Do While j >= 0

                queues(7, i) = queues(8, j)

                queues(8, j) = 0

                updown(queues(7, i)) = False  '反面

                imgCards(queues(7, i)).Picture = GetPicture(5, back)

                imgCards(queues(7, i)).Left = conHorGap

                imgCards(queues(7, i)).ZOrder 0

                i = i + 1

                j = j - 1

            Loop

            Exit Sub

        End If

    End Sub

    Private Sub imgCards_DblClick(Index As Integer)     '如果双击了序列8最顶层牌,判断该牌是否可以放置在序列9-12之一的顶层

        Dim i As Integer, j As Integer, k As Integer

        Dim queueclicked As Integer             '被双击的序列号

        queueclicked = queueno(Index)

        If queueclicked = 7 Or queueclicked >= 9 And queueclicked <= 12 Then Exit Sub   '这几个序列不接受双击操作

        k = queuetop(queueclicked)

        If queues(queueclicked, k) <> Index Then Exit Sub        '如果双击的牌不是该序列最顶层牌,则不反应

        If Not updown(Index) Then Exit Sub                      '如果双击的背面,则不反应

        If Index Mod 13 = 1 Then    '判断此牌是否为A

            '将A放置在9-12序列中第一个空序列中

            For i = 9 To 12

                j = queuetop(i)     '查找空序列

                If j = -1 Then

                    queues(i, j + 1) = Index

                    queues(queueclicked, k) = 0

                    imgCards(Index).Top = conVerGap

                    imgCards(Index).Left = conHorGap * (i - 9 + 4) + conCardWidth * (i - 9 + 3)

                    Exit For

                End If

            Next

        Else                        '如果不是A ,则搜索比其小1,同花色的牌

            For i = 9 To 12

                j = queuetop(i)     '查找非空序列

                If j <> -1 Then

                    If queues(i, j) = Index - 1 Then

                        queues(i, j + 1) = Index

                        queues(queueclicked, k) = 0

                        imgCards(Index).Top = conVerGap

                        imgCards(Index).Left = conHorGap * (i - 9 + 4) + conCardWidth * (i - 9 + 3)

                        Exit For

                    End If

                End If

            Next

    e8e2a046b6a9228a0e5fc6b940271a94.png

            If ifFinish() Then      '判断是否完成

                MsgBox "祝贺接龙成功!" & Chr(10) & Chr(13) & "用时" & min & "分" & sec & "秒。", vbInformation, "接龙"

            End If

        End If

    End Sub

    Private Sub imgCards_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)

        Dim i As Integer, j As Integer, k As Integer

        Dim fTop As Boolean                     '判断点击的牌是否位于序列顶部

        Dim que As Integer, ind As Integer      '当前点击牌位于的序列和序号

        Dim topind As Integer                   '本序列中最顶牌的序号

        Dim mousepos As POINTAPI                '保存鼠标位置

        que = queueno(Index)                     '点击的序列

        ind = queueindex(Index)                  '被点击牌的序号

        topind = queuetop(que)                   '被点击序列的顶张牌的序号

        If queues(que, ind + 1) = 0 Then fTop = True Else fTop = False  '判断点击的牌是否最顶层

        '如果是点击了左上角的第7序列,则其上最顶牌移至第8序列

        If que = 7 And fTop Then

            For i = 30 To 0 Step -1             '查找第8序列

                If queues(8, i) <> 0 Then

                    Exit For

                End If

            Next

            i = i + 1

            queues(8, i) = queues(7, ind)     '移动牌

            queues(7, ind) = 0

            updown(Index) = True     '将牌翻起

            imgCards(Index).Picture = GetPicture((Index - 1) \ 13 + 1, (Index - 1) Mod 13 + 1)

            imgCards(Index).Left = conCardWidth + 2 * conHorGap

            imgCards(Index).ZOrder 0

        ElseIf que >= 0 And que <= 7 And fTop And updown(Index) = False Then '如果点击的是序列0-7中顶反面牌,则将其反转

            Call Turn(Index, True)

        ElseIf updown(Index) Then                                            '如果点击的是其他正面牌,则进入拖动状态

            left0 = imgCards(Index).Left

            top0 = imgCards(Index).Top

            Call GetCursorPos(mousepos)

            x0 = mousepos.x

            y0 = mousepos.y

            inmove = True

            cardsmovenum = topind - ind + 1         '移动的牌数

            movefrom = que                          '拖动的源序列

            ReDim cardsmove(1 To cardsmovenum)      '保存每个被拖动的牌号

            For i = 1 To cardsmovenum

                cardsmove(i) = queues(que, ind + i - 1)

                imgCards(cardsmove(i)).ZOrder 0

            Next

        End If

    End Sub

    89c613806a262e3c97227944941b0ea1.png

    Private Sub imgCards_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)

        Dim i As Integer

        Dim mousepos As POINTAPI

        If inmove Then

            Call GetCursorPos(mousepos)         '得到新的鼠标位置

            For i = 1 To cardsmovenum

                imgCards(cardsmove(i)).Left = imgCards(cardsmove(i)).Left + mousepos.x - x0

                imgCards(cardsmove(i)).Top = imgCards(cardsmove(i)).Top + mousepos.y - y0

            Next

            x0 = mousepos.x

            y0 = mousepos.y

        End If

    End Sub

    Private Sub imgCards_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)

        Dim moveto As Integer   '鼠标释放时所处的序列

        Dim i As Integer, j As Integer, k As Integer

        Dim delx As Long, dely As Long

        Dim newx As Long, newy As Long

        Dim fmoveback As Boolean        '是否移回原位置

        If inmove Then

            moveto = getqueueatcursor()

            If moveto = -1 Or movefrom = moveto Then            '拖动的位置不对(不在序列0-7和9-12上),返回初始位置

                fmoveback = True

            ElseIf moveto >= 9 And moveto <= 12 And cardsmovenum > 1 Then   '拖多张至9-12序列

                fmoveback = True

            End If

            If Not fmoveback Then

                If moveto >= 9 And moveto <= 12 Then                '拖至9-12序列

                    If queuetop(moveto) = -1 And cardsmove(1) Mod 13 <> 1 Then '序列空,但拖来的不是A

                        fmoveback = True

                    ElseIf queuetop(moveto) <> -1 Then

                        If queues(moveto, queuetop(moveto)) + 1 <> cardsmove(1) Then    '序列非空,但不连续

                            fmoveback = True

                        End If

                    End If

                ElseIf moveto >= 0 And moveto <= 7 Then             '拖至0-7序列

                    If queuetop(moveto) = -1 And cardsmove(1) Mod 13 <> 0 Then '序列空,但拖来的不是K

                        fmoveback = True

                    ElseIf queuetop(moveto) <> -1 Then

                        If Not ((queues(moveto, queuetop(moveto)) - 1) Mod 13 = (cardsmove(1) Mod 13) And _

                            ((queues(moveto, queuetop(moveto)) - 1 - 1) \ 13 + ((cardsmove(1) - 1) \ 13)) Mod 2 = 1) Then   '序列非空,但不连续

                            fmoveback = True

                        End If

                    End If

                End If

            End If

    7758064dfe5458371b334736eda29541.png

            If fmoveback Then                                           '移回开始拖动的序列中

                delx = imgCards(cardsmove(1)).Left - left0

                dely = imgCards(cardsmove(1)).Top - top0

                For i = 1 To cardsmovenum

                    imgCards(cardsmove(i)).Left = imgCards(cardsmove(i)).Left - delx

                    imgCards(cardsmove(i)).Top = imgCards(cardsmove(i)).Top - dely

                Next

            Else                                                       '移到目标序列中

                k = queuetop(movefrom)

                For i = 1 To cardsmovenum                               '从源序列中删除

                    queues(movefrom, k - i + 1) = 0

                Next

                k = queuetop(moveto)

                For i = 1 To cardsmovenum                               '移至目标序列中

                    queues(moveto, k + i) = cardsmove(i)

                Next

                If k = -1 Then                                          '目标序列为空时,计算放置位置

                    If moveto >= 0 And moveto <= 6 Then

                        newx = conHorGap * (moveto + 1) + conCardWidth * moveto

                        newy = conVerGap * 2 + conCardHeight

                    ElseIf moveto >= 9 And moveto <= 12 Then

                        newx = conHorGap * (moveto + 1 + 3 - 9) + conCardWidth * (moveto + 3 - 9)

                        newy = conVerGap

                    End If

                Else                                                     '目标序列非空时,计算放置位置

                    newx = imgCards(queues(moveto, k)).Left

                    If moveto >= 9 And moveto <= 12 Then

                        newy = imgCards(queues(moveto, k)).Top

                    Else

                        newy = imgCards(queues(moveto, k)).Top + conVerGap

                    End If

                End If

                For i = 1 To cardsmovenum                                '放置被拖动的图片

                    imgCards(cardsmove(i)).Left = newx

                    imgCards(cardsmove(i)).Top = newy + conVerGap * (i - 1)

                    imgCards(cardsmove(i)).ZOrder 0

                Next

                If ifFinish() Then      '判断是否完成

                    MsgBox "祝贺接龙成功!" & Chr(10) & Chr(13) & "用时" & min & "分" & sec & "秒。", vbInformation, "接龙"

                End If

            End If

    38f7dfe4e1cc411368845a80ae1be851.png

            inmove = False

        End If

    End Sub

    Private Function getqueueatcursor() As Integer

        Dim i As Integer, j As Integer

        Dim x As Integer, y As Integer

        Dim mousepos As POINTAPI

        Call GetCursorPos(mousepos)

        x = mousepos.x - Me.Left / Screen.TwipsPerPixelX

        y = mousepos.y - Me.Top / Screen.TwipsPerPixelY

        If y > 2 * conVerGap + conCardHeight Then           '0-6序列

            getqueueatcursor = x \ (conHorGap + conCardWidth)

            If getqueueatcursor < 0 Then getqueueatcursor = -1

            If getqueueatcursor > 6 Then getqueueatcursor = -1

            Exit Function

        Else

            getqueueatcursor = x \ (conHorGap + conCardWidth) + 7

            If getqueueatcursor < 7 Then getqueueatcursor = -1

            If getqueueatcursor > 13 Then getqueueatcursor = -1

            If getqueueatcursor <= 9 Then

                getqueueatcursor = -1

            Else

                If getqueueatcursor >= 10 Then

                    getqueueatcursor = getqueueatcursor - 1

                End If

            End If

            Exit Function

        End If

    End Function

    5813da20b566e1cf452460253353cd41.png

    Private Sub mnuSelectBack_Click()

        Dim oldback As Integer

        Dim i As Integer

        oldback = back

        frmSelectBack.Show 1, Me

        If oldback <> back Then

            For i = 1 To 52

                If Not updown(i) Then

                    imgCards(i).Picture = GetPicture(5, back)

                End If

            Next

        End If

    End Sub

    Private Sub Timer1_Timer()

        sec = sec + 1

        If sec = 60 Then

            min = min + 1

            sec = 0

        End If

        Me.Caption = "接龙-" & Format(min, "00") & ":" & Format(sec, "00")

    End Sub

    大家在学习VB中有不懂之处或者需要VB视频学习资料,可以添加小编微信号,更多VB精彩编程内容,尽在跟我学VB。

    68b1dad2920e205b1f87885a65d5cb2a.png

    展开全文
  • 我们在工作中有时会需要用到大批量...接下来小编教大家如何用EditPlus软件进行简单的编程和预览检查? 1、使用EditPlus时,在新建文本里面可以选择普通TXT格式和HTML网页编辑格式。假如你选择了HTML格式,打开就是编程

    我们在工作中有时会需要用到大批量的修改,添加,替换数据。一个个的修改真的很浪费时间和精力。由此小编就给大家分享一款我经常使用的文档编辑软件–EditPlus。
    在这里插入图片描述
    EditPlus可以可处理文本、HTML,各种编码替换、检查十分醒目。虽然是国外的软件,不过它有中文版的绿色安装软件,分为电脑32位和64位,简单又实用。接下来小编教大家如何用EditPlus软件进行简单的编程和预览检查?

    1、使用EditPlus时,在新建文本里面可以选择普通TXT格式和HTML网页编辑格式。假如你选择了HTML格式,打开就是编程页面了。
    在这里插入图片描述
    2、我们编完程序还可以直接在浏览器中显示页面。编程成果一目了然。
    在这里插入图片描述
    3、设置浏览器也很简单。 工具–首选项–点击“ 工具选项”,调用其他浏览器。设置你最常用的浏览器就可以了。
    在这里插入图片描述
    有时候你编写好程序后进行浏览预览,会发现汉字出现乱码,别着急,这是因为你编码没有设置好。
    在这里插入图片描述
    4、我们 在 文档–文本编码–转换文本编码–选择ANSI ,再次打开浏览器,你就会发现,汉字能正常显示了。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    以上EditPlus操作教程分享,你学会了吗?如果你也想用EditPlus进行文档编辑,可以在安卓软件网站zbhcgm.cn下载editplus中文版使用哦!

    展开全文
  • 引言为什么要数量掌握bash编程,因为它是linux下的默认工具。任何时候与系统内核对话,我们都直接面对shell。操作系统提供了为数众多的便利工具,用于完成复杂的操作。今天我们说一个最为常用的输出字符串的指令 ...

    引言

    为什么要数量掌握bash编程,因为它是linux下的默认工具。任何时候与系统内核对话,我们都直接面对shell。操作系统提供了为数众多的便利工具,用于完成复杂的操作。

    今天我们说一个最为常用的输出字符串的指令 echo。

    为什么说这个最常用的指令呢?因为很多人每天都在用。却在使用过程中遇到了大大小小许许多多的坑而不可避免。今天我们通过一个问题,给出解决方案。带领读者深入的了解一下bash内层的原理对echo的影响。

    90694f80f54e257ac6dd319bde885b80.png

    问题的提出

    假如我们有一个文本文件 coder.txt,内容如下:

    Twinkle, twinkle, little star,How I wonder what you are.

    然后我们使用 cat 逐行打印这个文件,在终端中执行以下指令:

    cat coder.txt

    输出效果:

    e2f5c6f9c0428ce0a287737f3c7b0f2a.png

    那么现在有一个需求,假如需要对每行文本做进一步的处理,在bash中使用for循环逐行处理。我们先这样写:

    for f in `cat coder.txt`; do echo $f; done

    我们预期会像cat指令一样输出两行文本,但实际上不是这样的。下面是输出的情况:

    6d9e3b943ce56aef5ecfd4f2d09b42d1.png

    可以注意到。每行文本中间有空格的地方,在打印的时候都会另起一行。

    有没有什么解决方案呢?

    有人说你只需要在变量外层加上双引号,就可以作为一行字符串处理了。事实会是这样的吗?我们测试一下。

    e83c89f791396c99fd737ff663de4d6a.png

    可以看到双引号对变量不起任何作用。

    那么还有的同学,经过参考man page之后,觉得应该给echo指令加上一些选项。比如下面这样:

    41ebe9b898dd2e7def62d6c225bbd45d.png

    我们分别测试了 -e 选项,和 -ne 选项,发现都不行。

    原理

    之所以会产生上面的疑惑,根源还在于对bash脚本的一些固有解析方式原理的不够了解。

    下面我们直接给出解决方案。然后,分析为什么会起作用?

    IFS=$''for i in `cat coder.txt`; do echo "$i"; doneunset IFS

    下面是运行效果:

    ef148921002bfc7348704ca51132a8c6.png

    可以注意到,本质上循环打印没有改变,只是在执行前后对常量 IFS 进行了人为指定。

    原来,bash循环默认使用空格作为分隔的依据

    我们只用手动指定 “”换行符为分隔的依据,就顺利地原样输出了。

    写在最后

    “书读百遍,其义自见”!

    多敲打,多参考 man page,可以让基本功逐日增强。

    Happy coding :_)

    我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

    展开全文
  • 如何用ASP读写TXT文本文件中的内容

    千次阅读 2018-09-18 20:56:41
    虽然使用ASP有几年的时间了,但对ASP网络编程的了解和掌握还停留在初中阶段,一些不太常用的操作没有接触过,自然也没有学会。就拿ASP处理数据而言,ASP连接数据库是网站开发的必备,这个当然是已经掌握的了。但...

    虽然使用ASP有几年的时间了,但对ASP网络编程的了解和掌握还停留在初中阶段,一些不太常用的操作没有接触过,自然也没有学会。就拿ASP处理数据而言,用ASP连接数据库是网站开发的必备,这个当然是已经掌握的了。但使用ASP操作文件,恐怕使用频率就没那么高了。今年早些时候,学会了利用ASP的XMLHTTP和FSO组件进行网页内容获取和静态网页的生成,以及一般文件的移动、复制和删除等操作。

    但对于如何读取纯文本文件(txt)中的内容,却一直没有很好地掌握。应该说,很多时候,txt文件使我们存放少量信息,存放一些使用频率较高信息的常用方法,毕竟比起数据库操作,要简单、方便、快捷。今天就用到了从txt文件中逐行读取邮件地址这样的问题,通过请教百度师父,得到了相应的方法,特地贴出来存档,以备今后查看。

    	set fs=Server.CreateObject("Scripting.FileSystemObject")
    	txtfile=Server.MapPath("a.txt")
    	set a=fs.OpenTextFile(txtfile)
    	while not a.AtEndOfStream
    		response.write(a.Readline&"<br />")
    	wend
    	a.close

    上述代码的结果就是讲a.txt文件中的数据逐行显示到网页中。当然,如果你逐行读取数据的目的是有其他用途,而非单纯地显示到网页前台,那么在response.write这里执行相应的功能即可。在本例中,代码中提到的的a.txt文件,应该与该程序文件处于同一目录下。

    此外,还有两外一种代码写法,和上例代码有所差异,但功能是一样的,如下所示:

    	Dim Fso
    	Dim myFile
    	Set Fso = Server.CreateObject("Scripting.FileSystemObject")
    	Set myFile = Fso.OpenTextFile(Server.MapPath("a.txt"),1,True)
    	'A.TXT和ASP程序在同个目录下,如果没在一个目录,可以用绝对路径,把上一行的a.txt改为:d:\a.txt
    	While Not myFile.AtEndOfStream
    		Response.Write myFile.ReadLine & "<BR>"
    	Wend
    	myFile.Close
    	Set myFile = Nothing
    	Set Fso = Nothing
    

    本例中,代码中增加了对象的关闭(即close)方法,是比较规范、完整的程序代码编写规则,上例中进行了省略。除此之外,本例中的OpenTextFile()方法也较上例不同,增加了两个参数:“1”和“true”。

    其实对于大神来说,上述两段代码是完全一致的,只是细节之处有所差异,本质上用到的是相同的原理和方法。作为刚入门的小白,乍一看到确有种两种方式的错觉。

    此外,除了逐行读取并显示txt中的数据外,还可以对txt中的全部数据进行一次读取,这种当然更为简单,代码如下:

    	set fs=server.createobject("scripting.filesystemobject")
    	filetxt=server.mappath("a.txt")
    	set txt=fs.opentextfile(filetxt,1,true)
    	if not txt.atendofstream then
    		line=txt.ReadAll
    		response.write line & "<br>"
    	end if
    

    本例中的txt.ReadAll方法即为读取txt中的全部数据并赋予line变量。

    总结如下:

    如果想读取文件中的所有数据,则需要使用:line=txt.ReadAll

    如果想从文件中读取一行数据,则需要使用:line=txt.ReadLine

    如果想从文件中读取N个字节的数据,则需要使用:line=txt.Read(N)

    展开全文
  • 1.FileOutputStream fos = new FileOutputStream("test.txt"); 2.Writer out = new OutputStreamWriter(fos, "utf-8"); 3.out.write(contentString); 4.out.close(); 5.fos.close();
  • 以下代码显示如何将一个文件从Document Library中check out,修改后再check in. 假设有一个Document Library叫Documents,里面有一个文本文件叫test.txt. static void Main(string[] args) { string siteUrl = ...
  • 50 14-04-09 06:35:47;233 FID:btmh_b_balis LID: 231 TID:SMGM_... 以上述异常信息为例,如何编程进行分析50、51为故障记录(主要看最后一句),并将这两条记录完整提取出来。求一个思路如果可以希望能有程序说明。
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼在python里执行 import this会出来一段编程之禅的话,如何用一个变量把这段话保存起来,又或者用怎么样的方式把这段话保存为一个.txt的文件?The Zen of Python, by Tim ...
  • 文件读写属于一种常见的IO操作,由于操作系统将底层操作磁盘的接口向上封装为一种通用接口,因此Python中读写文件的基本方法和JAVA、PHP等高级编程语言一样,先请求操作系统打开一个文件描述符,通过操作系统提供的...
  • 最有用系列:《Linux生产环境上,最常用的一套“vim“技巧》《Linux生产环境上,最常用的一套“Sed“技巧》《Linux生产环境上,最常用的一套“AWK“技巧》《”Sed” 高级功能:我这小脑瓜都快绕晕了》敢自己的名字...
  • 已知每个同心圆环的半径数值,存储在txt文件里面,希望能matlab读取文件,然后编程画出每一个同心圆环,并生成.cif文件,麻烦各位大神指点编程算法,shi'fen'gan'xie
  • 源代码中有数据库、记录集的打开、引用、关闭,有如何调用文件打开对话框,如何获取文件名、数据库所在目录路径的文件操作方法,如何获取最大记录数和当前记录指针,如何增加修改数据库记录,如何将图片存入数据库...
  • 全书分两部分 :第一部分介绍 Python 编程所必须了解的基本概念,包括 matplotlib、NumPy 和 Pygal 等强大的 Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容 ;第二部分将理论...
  • 今天要跟大家分享的文章是如何利用Python处理文件中的数据?Python入门新手和正在Python学习的小伙伴快来看一看吧,希望能够对大家有所帮助 !Python编程学习记得我小的时候,经常有同学被老师喊去做统计分数这种...
  • 如何去掉VB生成的txt文件中的黑块

    千次阅读 2007-03-07 11:38:00
    问题描述:VB编程生成的.txt.文件,记事本打开时某些换行的地方出现黑块(而写字板或word 无此现象)探讨原因:文本文件并不是根据回车符换行的而是 回车符+换行符 换行的每次在文本框中按回车键实际上是生成...
  • 这里也说明了Python写ROS功能包也是需要CMakelists.txt的 摘自:https://blog.csdn.net/u013832707/article/details/53980759 Python实现ROS节点 持久决心 2017-01-02 18:28:59 21390 收藏 24 分类专栏:...
  • 编程编程大牛技术分享平台前言程序员在人们的映像中是一个高智商但同时又很呆板的一个形象。今天我就教如何大家骚起来,可以说学会今天的教程,发到朋友圈,非常的酷。今天教给大家 python3 一个程序,用来读取一...
  • 需要编程实现以下功能: 1 连接上特定的exchange某邮箱 2 遍历该邮箱收、发件箱中自某时间点以来的所有邮件,筛选出带有附件的所有邮件 ...C#实现,我只粗知有个ews库是与它有关的,求具体代码和编程思路。谢谢!
  • 最近新学习了Java语言,算是一个小白,想TCP Socket进行网络编程,使得服务器端接受客户端的文件,但是遇到了一个错误,有人知道该怎么解决吗? ``` //这是服务器端的代码 public class UploadServer { ...
  • 这篇文章我们学习如何用异步编程来读取文件。 使用System.IO.Stream类的异步调用方法,对文件out.txt进行异步读操作。 运行结果: 源代码: using System; using System.Collections.Generic; using System....
  • 一般编程都会要装一些专用的编程工具,这里使用的是系统自带的一个vbs脚本程序,可以不用装工具,直接用txt修改成vbs文件就可以被识别成一个程序。 2.然后修改txt文件的扩展名,右键-重命名。将.txt改为.vbs,修改成...
  • 我设计的词典不仅可以实现在线查单词,而且一个重大特色就是具有丰富的本地词典库:我默认加入了八个类型的词典,如下... 当然是txt格式的最好了,因为我们可以程序直接进行读取。可是网上词典一般都是mdx格式、l
  • 大学里的计算机课程通常专注于讲授计算机操作系统、计算机组成原理、计算机网络等学院派的课程,以及某一门具体的编程语言,比如说 Java、C++/C,而对于如何精通工具这个主题往往不在讲授的课程之内,需要同学们自行...
  • 我有一些代码将图像转换为ascii艺术图像.目前它将其输出为.txt文件,但该文件可以有几十万个字符.如何将文件转换为图像,如.png文件?...我做了类似的事情,PILLOW以编程方式生成文本.这是从我的this代码修改...
  • 编程控制分屏显示

    千次阅读 2015-08-26 20:56:48
    之前一章,我已经讲过如何用C#控制LED显示器了,这一篇,我讲一下分屏显示。 我最近做了几个排队叫号系统,用到LED、电视机显示屏和电脑显示屏。LED控制比较复杂,需要考虑LED控制卡接口,多数还要写带格式的txt文件...
  • linux shell编程读写文件

    千次阅读 2013-10-29 17:35:26
    如何用shell脚本读取文件的内容 我有个abc.txt文件,里面内容如下: BKLJLK76.doc 98JKL897.DOC 87JLJLJH6.xls …… …… 有很多行,需要一个脚本实现对abc.txt逐行读取,然后分别从系统的/old目录下查找...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 160
精华内容 64
关键字:

如何用txt编程