Yahoo Answers is shutting down on May 4th, 2021 (Eastern Time) and the Yahoo Answers website is now in read-only mode. There will be no changes to other Yahoo properties or services, or your Yahoo account. You can find more information about the Yahoo Answers shutdown and how to download your data on this help page.

vb6 list字文處理

各位大大好!有個問題請教各位大大

我用Command1在list1中開啟一個文字檔,其最後的內容為:

G04X0

G90Z5.0F200

M99

%

我的問題是想利用Command2把List1的內容中

在G04X0的後面都內容都刪掉 然後加上下列的文字

G90G01Z6.0F200.0

G90G00X16.7

G90G00Z2.5

G90G01Z2.313F2.0

G90G01X16.0F3.0

G90G00Z3.0

M99

%

然後在list2顯示!

Update:

Jerod 您好:

很謝謝你的回答,解答的很好!

另外請教這個問題的延伸是,假設如果是開啟list1的檔案要把檔案以後

G04X0

G90Z5.0F200

M99

%

這個部分刪掉

然後用list2開啟下面

G90G01Z6.0F200.0

G90G00X16.7

G90G00Z2.5

G90G01Z2.313F2.0

G90G01X16.0F3.0

G90G00Z3.0

M99

%

然後把list1和list2的文字合成一個檔案,然後存檔,

這部分應該怎麼改呢?

Update 2:

Jerod 您好:

很抱歉,沒把問題點說清楚!

1、我的問題點是和上述的問題一樣

要把list1檔案中在G04X0的後面都內容都刪掉 然後加上

list2的文字,而list2的文字,我會利用開啟檔案把文字show在list2上

然後將這個結合過的檔案一樣show 在list2上

2、把檔案結合後如何把list的文字拉到最下面呢?(意思就是我要直接可以看到最下面的內容,而不用在拉到最list 中文字內容的最下面)

Update 3:

Jerod您好:

這部分是要把list2的文字在G04X0以後的字刪掉

然後把LIST1的文字加到LIST2文字G04X0之後

不知道這樣我的解釋能讓您了嗎?

Update 4:

Jerod您好:

的確這個只是list1和list2只是名稱不同而以,所以我自行修改就行了

您回答的很好!也很熱心,非常謝謝您!

另外我有問到的是,如何執行完程式後,游標跳到list 中文字的最後(就是游標要跳到檔案最未端!)

1 Answer

Rating
  • ?
    Lv 4
    1 decade ago
    Favorite Answer

    Private Sub Command2_Click()

    Dim n As Integer, i As Integer

     For n = 0 To List1.ListCount - 1

     '查找"G04X0"

      If List1.List(n) = "G04X0" Then

      '如果是的話

       For i = n + 1 To List1.ListCount - 1

        '利用迴圈將後面資料移除

        List1.RemoveItem (n + 1)

       Next

       '插入資料

       List1.AddItem "G90G01Z6.0F200.0"

       List1.AddItem "G90G00X16 0.7"

       List1.AddItem "G90G00Z2 0.5"

       List1.AddItem "G90G01Z2.313F2.0"

       List1.AddItem "G90G01X16.0F3.0"

       List1.AddItem "G90G00Z3 0#"

       List1.AddItem "M99"

       List1.AddItem "%"

        '轉移到list2

       For i = 0 To List1.ListCount - 1

        List2.List(i) = List1.List(i)

       Next

       '跳出迴圈

       Exit For

      End If

     Next

    End Sub

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

    我自己測試過了。。。。。

    2008-08-16 08:13:56 補充:

    請問你list1要做甚麼處理?

    G04X0

    G90Z5.0F200

    M99

    %

    這些刪掉?

    還是把這些後面刪掉?

    還是把這些和後面一起刪掉?

    2008-08-17 19:48:22 補充:

    然後加上list2的文字,而list2的文字,我會利用開啟檔案把文字show在list2上

    請問資料結果從前面到後面是 「更改過後的list1」+「list2的文字」,還是

    「list2的文字」+「更改過後的list1」???

    2008-08-18 07:03:37 補充:

    抱歉!其實你第三個補充反而讓我更亂了。。。。。。反正list1和list2只是名稱不同爾以.....就先這樣.......我以下程式碼功能是將list1內容中"G04X0"後的內容刪掉,再將list2的內容加到list1的後面,再將list1的資料複製到list2 。。。。。

    2008-08-18 07:03:59 補充:

    Private Sub Command2_Click()

    Dim n As Integer, i As Integer

     For n = 0 To List1.ListCount - 1

     '查找"G04X0"

      If List1.List(n) = "G04X0" Then

      '如果是的話

       For i = n + 1 To List1.ListCount - 1

        '利用迴圈將後面資料移除

        List1.RemoveItem (n + 1)

       Next

    2008-08-18 07:04:03 補充:

       '插入list2讀檔得到的資料

       For i = 0 To List2.ListCount - 1

        List1.AddItem List2.List(i)

       Next

        '轉移到list2

       For i = 0 To List1.ListCount - 1

        List2.List(i) = List1.List(i)

       Next

       '跳出迴圈

       Exit For

      End If

     Next

    End Sub

    2008-08-18 18:53:43 補充:

    抱歉!竟然最後一個問題最後忘記了。。。。。。

    這個功能非常簡單

    List1.ListIndex = List1.ListCount - 1

    ListIndex這個屬性就是目前所選取的項目,可以得知使用者選擇的項目,也能指定目前選擇第幾項。而項數是從0開始,ListCount是項目的數量,所以要減一!

    Source(s): 我, 我, 我, 我, 我, 我, 我
Still have questions? Get your answers by asking now.