ฟอรั่ม PSsix

Would you like to react to this message? Create an account in a few clicks or log in to continue.

ฟอรั่มของบล็อก http://pssix.blogspot.com


3 posters

    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt

    BaiLiv
    BaiLiv
    มือใหม่เพิ่งสมัคร
    มือใหม่เพิ่งสมัคร


    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty
    จำนวนข้อความ : 3
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/11/2010

    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt

    ตั้งหัวข้อ by BaiLiv 08/11/10, 08:05 pm

    คือว่าผมมีไฟล์ Backup ข้อความของมือถือไว้ (Export ข้อความในมือถือออกมาเป็นไฟล์ .txt น่ะครับ)
    แต่ว่าไฟล์ที่ได้ออกมันอยู่ในบรรทัดเดียวกัน เลยอยากให้มันขึ้นบรรทัดใหม่ในส่วนที่ต้องการครับ

    เช่นว่า ข้อความเดิมเป็นแบบนี้ (อยู่ในบรรทัดเดียวกันหมด)
    Code:
    From: ใครเอ่ย <+668xxxxxxxx> Date: 02-11-2010 Time: 20:12 Content: ทดสอบนะ

    แต่อยากให้ข้อความที่ต้องการขึ้นบรรทัดใหม่เป็นแบบนี้ (เพื่อให้อ่านง่ายขึ้น)
    Code:
    From: ใครเอ่ย <+668xxxxxxxx>
    Date: 02-11-2010
    Time: 20:12

    Content:
    ทดสอบนะ

    สามารถทำได้รึเปล่าครับ และควรใช้คำสั่งอะไรดี

    ปล. ห่างหายไปนาน สงสัยต้องไปเริ่มนับ 1 ใหม่แฮะ >.<
    aut
    aut
    PSsix Powerful Scripting Class
    PSsix Powerful Scripting Class


    PSsix Game Coder
    จำนวนข้อความ : 472
    ความนิยม : 126
    เข้าร่วมเมื่อ : 24/07/2010

    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty Re: สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt

    ตั้งหัวข้อ by aut 09/11/10, 07:51 am

    ก็ทำประมาณนี้อะ

    $text = "From: ใครเอ่ย <+668xxxxxxxx> Date: 02-11-2010 Time: 20:12 Content: ทดสอบนะ"
    $text = StringReplace( $text, "From:", @CRLF&"From:")
    FileWrite("text.txt", $text)
    POS
    POS
    PSsix
    PSsix


    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty Re: สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt

    ตั้งหัวข้อ by POS 10/11/10, 02:24 am

    ในกรณีที่แทนข้อความหลายๆ ตัวใช้ StringRegExpReplace จะง่ายกว่า ตัวอย่างโค้ดด้านล่างนี้ ดึงเอาข้อความจากไฟล์ abc.txt แล้วนำมาแยก จากนั้นก็บันทึกข้อความที่แยกเสร็จลงไปในไฟล์ abc.txt อีกครั้ง


    Code:
    $string = FileRead(FileOpen(@ScriptDir & "\abc.txt"))

    Global $streplace[5][2] = [[4],["From:", @CRLF & "From:"],["Date:", @CRLF & "Date:"],["Time:", @CRLF & "Time:"],["Content:", @CRLF & "Content:"]]
    For $i = 1 To $streplace[0][0]
       $string = StringRegExpReplace($string, "\Q" & $streplace[$i][0] & "\E", $streplace[$i][1])
    Next

    FileOpen(@ScriptDir & "\abc.txt", 2)
    FileWrite("abc.txt", $string)
    BaiLiv
    BaiLiv
    มือใหม่เพิ่งสมัคร
    มือใหม่เพิ่งสมัคร


    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty
    จำนวนข้อความ : 3
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/11/2010

    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty Re: สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt

    ตั้งหัวข้อ by BaiLiv 15/11/10, 09:16 am

    ขอบคุณทั้งสองท่านมากครับ เดี๋ยวจะลองไปทำดู

    ปล. นึกว่าบอร์ดเข้าไม่ได้ ที่แท้เปลี่ยนบอร์ดใหม่ แหง่วเลยเรา >.< เข้าอันเก่าอยู๋ตั้งนาน เอิ้กๆ

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    คุณ POS ช่วยอธิบายโค๊ดได้ไหมครับ คือผมรู้แค่บางคำสั่ง ที่เหลือไม่รู้เลย เลยไม่รู้ว่าจะเอาไปดัดแปลงแก้ไขยังไง

    ปล. ไม่ได้ก็ไม่เป็นไรครับ เดี๋ยวจะลองค่อยๆศึกษาไปดู (คนหัวช้าอย่างผมนี่คงอีกนานกว่าจะได้ เอิ้กๆ)
    POS
    POS
    PSsix
    PSsix


    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty Re: สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt

    ตั้งหัวข้อ by POS 15/11/10, 02:56 pm

    ใช้วิธีเก็บข้อความในอาเรย์ (ดูตามรูปด้านล่าง )

    $streplace[5][2] สร้างอาเรย์เก็บข้อมูลแบบ 2 มิติ โดยมีจำนวน 5 แถวแนวนอน และ 2 คอลัมน์แนวตั้ง

    = [[4],["From:", @CRLF & "From:"],["Date:", @CRLF & "Date:"],["Time:", @CRLF & "Time:"],["Content:", @CRLF & "Content:"]] ประกาศจัดเก็บข้อมูลของอาเรย์ วิธีจัดเก็บอาเรย์ตั้งแต่ 2 มิติทำได้ด้วยการใส่ข้อมูลใน [] แล้วใส่เครื่องหมาย , ไล่ไปเรื่อยๆจนครบทุกลำดับของอาเรย์ (ถ้าอาเรย์มีสองมิติขึ้นไป ใส่ข้อมูลจะเป็น [มิติ1,มิติ2],[มิติ1,มิติ2]

    เพิ่มเติม : ถ้าเป็นอาเรย์แบบ 1 มิติไม่ต้องใส่เครื่องหมาย []ครอบใส่ , เพื่อคั่นข้อมูลได้เลยเช่น Global $streplace[5]= [4,"From:" ,"Date:","Time:","Content:"]


    ในคำสั่งนี้

    ในอาเรย์ที่ 1 จะเก็บจำนวนข้อความที่ต้องเปลี่ยน ถ้าเพิ่มจำนวนนอกจากเปลี่ยนค่าอาเรย์แล้ว ก็ต้องเปลี่ยนตัวเลขนี้ เพื่อใช้ในการวนลูป (ดูลูกศร 1)
    อาเรย์ที่ 2 คอมลัมน์แรก(มิติ1)จะเก็บ ข้อความที่นำมาเปลี่ยน คอลัมน์ที่สอง(มิติ2)จะเก็บ ข้อความที่เปลี่ยน ซึ่งก็คือ รหัสขึ้นบรรทัดใหม่ + ข้อความเดิม

    อาเรย์ลำดับที่ 3 4 5 ก็จะเก็บข้อความในลักษณะเดียวกับ อาเรย์ที่ 2

    เมื่อนำไปใช้ในลูป for โปรแกรมก็จะไล่อ่านข้อมูลอาเรย์จากที่ 2 เป็นต้นไป เพื่อนำข้อความจากอาเรย์ในมิติ2 มาแทนที่ข้อความในอาเรย์มิติ1
    (อาเรย์ที่ 1 มิติ1 จะใช้เพื่อนบอก รอบสูงสุดในการวนลูป)

    [You must be registered and logged in to see this image.]

    ข้อควรรู้เกี่ยวการจัดเก็บอาเรย์ใน AutoIt
    - อาเรย์ลำดับแรกจะเป็น 0 ไม่ใช่ 1
    - คอลัมน์ก็จะเป็นแบบเดียวกันคือ คอลัมน์เก็บข้อมูลมิติแรกจะเป็นคอลัมน์ 0 ไม่ใช่ 1
    - อาเรย์ตามตัวอย่างนี้เป็นอาเรย์แบบ 2 มิติ
    - การดึงข้อมูลอาเรย์ทำได้ด้วยการประกาศชื่อตัวแปรที่เก็บข้อมูล ตามด้วยลำดับอาเรย์ที่ต้องการดึงและตามด้วยคอลัมน์ของมิติ ซึ่งตัวเลขระบุจะอยู่ในเครื่องหมาย [] เช่น $streplace[2][1] จะอ่านเป็นดึงข้อมูลในอาเรย์หมายเลขที่ 2 (นับตามข้อมูลจะเป็นอันดับที่ 3)และคอลัมน์หมายเลข 1(นับตามข้อมูลจะเป็นคอลัมน์ที่ 2)

    หมายเหตุ
    เป็นการสรุปย่นย่อของอาเรย์แบบคร่าวๆ ลองสร้างและทำเพื่อให้เข้าใจแนวคิดเอาครับ ถ้าไม่เคยศึกษาการเขียนโปรแกร หรือเรื่องอาเรย์มาก่อนส่วนใหญ่อ่านแล้วจะงง แต่ถ้าเข้าใจแล้วจะได้ประโยชน์มหาศาล เพราะอาเรย์จะช่วยในการจัดเก็บข้อมูล ซึ่งสะดวกในการนำมาใช้ และช่วยให้โค้ดมีประสิทธิภาพ รวมถึงเขียนคำสั่งได้สั้นลงด้วย


    แก้ไขล่าสุดโดย POS เมื่อ 16/11/10, 03:44 am, ทั้งหมด 1 ครั้ง
    BaiLiv
    BaiLiv
    มือใหม่เพิ่งสมัคร
    มือใหม่เพิ่งสมัคร


    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty
    จำนวนข้อความ : 3
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/11/2010

    สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt Empty Re: สั่งให้ "ขึ้นบรรทัดหใม่" ในไฟล์ .txt

    ตั้งหัวข้อ by BaiLiv 15/11/10, 10:25 pm

    ขอบคุณมากครับ ผมเป็นคนเข้าใจช้า อ่านแล้วต้องทำความเข้าใจทีละประโยค ไม่งั้นไปต่อไม่ได้ >.<

    เรื่อง อาเรย์ จำได้ว่าเคยเรียนมาเมื่อไม่นานนี้ แต่ก็ลืมไปแล้ว
    ยังดีที่มีหนังสืออยู่ สงสัยต้องไปขุดคุ้ยมาอ่านซะหน่อย

    สงสัยตรงไหนจะมาถามอีกนะครับ ^.^

      เวลาขณะนี้ 02/05/24, 11:19 am