1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp Nhờ các bác chỉ cách ghi mảng 2 chiều ra file text

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi anhducdnt, 10/8/19.

  1. anhducdnt

    anhducdnt Thành viên mới
    • 3/6

    Tham gia ngày:
    29/9/16
    Bài viết:
    26
    Đã được thích:
    9
    Chào các bác!

    Em có xem ví dụ của mảng 2 chiều, khi chạy project hiện lên bảng xếp hạng các số như ảnh.
    https://s4.upanh.pro/2019/08/10/Untitled0dd80e815c5852f3.png[​IMG]
    Em muốn ghi toàn bộ nội dung bảng đó ra file text thì dùng hàm gì ạ?

    Nếu đc các bác có thể hướng dẫn qua code đc không?

    Xin cảm ơn!
     
  2. anhducdnt

    anhducdnt Thành viên mới
    • 3/6

    Tham gia ngày:
    29/9/16
    Bài viết:
    26
    Đã được thích:
    9
    em dùng hàm _FileWriteFromArray(@ScriptDir&'\test.txt', _ArraySort ($avArray, 1), 1) nhưng cũng không ghi ra đc
     
  3. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    [​IMG]
     
    anhducdnt thích bài này.
  4. Toàn Phạm

    Toàn Phạm Thành viên
    • 8/11

    Tham gia ngày:
    10/9/18
    Bài viết:
    39
    Đã được thích:
    6
    Mã (AutoIt):
    Local $sFilePath = @ScriptDir & "\Eples.txt"
    Local $avArray[5][3] = [ _
            [5, 20, 8], _
            [4, 32, 7], _
            [3, 16, 9], _
            [2, 35, 0], _
            [1, 19, 6]]
    Local $split = "    "
    FileOpen($sFilePath, 2)
    For $i = 0 To UBound($avArray) - 1
        $String = ""
        For $k = 0 To UBound($avArray, 2) - 1
            $String = $String & $avArray[$i][$k] & $split
        Next
        FileWrite($sFilePath, $String & @CRLF)
    Next
    ShellExecute($sFilePath)
     
    [​IMG]
     
    anhducdnt thích bài này.
  5. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    Hàm _FileWriteFromArray có đủ mà viết for chi vậy ??
     
    anhducdnt thích bài này.
  6. Toàn Phạm

    Toàn Phạm Thành viên
    • 8/11

    Tham gia ngày:
    10/9/18
    Bài viết:
    39
    Đã được thích:
    6
    Nó mặc định Split là '|" mà
     
    anhducdnt thích bài này.
  7. Toàn Phạm

    Toàn Phạm Thành viên
    • 8/11

    Tham gia ngày:
    10/9/18
    Bài viết:
    39
    Đã được thích:
    6
    Af nó có luôn rồi:
    Mã (AutoIt):
    #include <File.au3>
    Local $sFilePath = @ScriptDir & "\Eples.txt"
    Local $avArray[5][3] = [ _
            [5, 20, 8], _
            [4, 32, 7], _
            [3, 16, 9], _
            [2, 35, 0], _
            [1, 19, 6]]
    Local $split = "    "
    _FileWriteFromArray($sFilePath, $avArray,Default,Default,$split)
    ShellExecute($sFilePath)
     
    anhducdnt thích bài này.
  8. anhducdnt

    anhducdnt Thành viên mới
    • 3/6

    Tham gia ngày:
    29/9/16
    Bài viết:
    26
    Đã được thích:
    9
    Cảm ơn các bác đã quan tâm, nhưng nếu click tiếp thứ tự trong mảng thay đổi thì ghi ra thế nào ạ? ví dụ như ảnh dưới đây ạ:
    [​IMG]
     
  9. systemerror

    systemerror Phạm Huy Thiên
    • 8/11

    Tham gia ngày:
    23/2/19
    Bài viết:
    70
    Đã được thích:
    23
    Dõ dàng hơn di bn ei
     
    anhducdnt thích bài này.
  10. anhducdnt

    anhducdnt Thành viên mới
    • 3/6

    Tham gia ngày:
    29/9/16
    Bài viết:
    26
    Đã được thích:
    9
    Tức là cột 1 đã thay đổi thứ tự từ thấp lên cao ấy bác.
    Trong mảng cột 1 thứ tự từ cao xuống thấp.
     
  11. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    Mã (AutoIt):
    #include <File.au3>
    Local $sFilePath = @ScriptDir & "\Eples.txt"
    Local $avArray[5][3] = [ _
            [5, 20, 8], _
            [4, 32, 7], _
            [3, 16, 9], _
            [2, 35, 0], _
            [1, 19, 6]]
    Local $split = "    "
    _ArraySort($avArray,0,0,0,0)
    _FileWriteFromArray($sFilePath, $avArray,Default,Default,$split)
    ShellExecute($sFilePath)
    Lười úp ảnh. bạn k thể Chỉ định đc sort cái này = _Arraydisplay đc, trừ khi abnj viết lại làm.
    Tham số cuối cùng của _arraysort trên code là số dòng muốn sort (dòng 1 là cột 0)
     
  12. systemerror

    systemerror Phạm Huy Thiên
    • 8/11

    Tham gia ngày:
    23/2/19
    Bài viết:
    70
    Đã được thích:
    23
    _FileWriteFromArray(@ScriptDir&'\test.txt', _ArraySort ($avArray, 1), 1) chỉnh lại arraysort đi
     

Chia sẻ trang này

Đang tải...