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
  • Jerod
    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): 我, 我, 我, 我, 我, 我, 我
    • Login to reply the answers
Still have questions? Get your answers by asking now.