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

    ค่า Sleep กำหนดเป็นแบบนาที

    avatar
    sumup
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    ค่า Sleep กำหนดเป็นแบบนาที Empty ค่า Sleep กำหนดเป็นแบบนาที Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 26/07/2013

    ค่า Sleep กำหนดเป็นแบบนาที Empty ค่า Sleep กำหนดเป็นแบบนาที

    ตั้งหัวข้อ by sumup 14/08/13, 11:34 pm

    สืบเนื่องจาก [You must be registered and logged in to see this link.]

    จากที่ผมได้ฝึกทดลองเขียนโปรแกรมที่เอาไว้ใช้เข้าหน้าเว็บบริษัท และรีเฟชหน้าเว็บเองตามเวลาที่กำหนดได้สำเร็จในจุดหนึ่ง แต่ก็ยังมีติดปัญหาเพิ่มเติมตรงจำนวนนาทีที่จะตั้งให้มันรีเฟชเองครับ ซึ่งปกติค่า Sleep(1000) = 1 วินาที / ถ้า 1 นาที = Sleep(60000) และ 1 ชั่วโมง = Sleep(3600000)

    โดยในช่องที่ไว้สำหรับกรอกจำนวนนาทีที่จะให้รีเฟช  ถ้าผมต้องการให้รีเฟชทุกชั่วโมงก็ต้องใส่จำนวนค่า Sleep ลงในช่องนั่น 3600000 พอจะมีวิธีทำเป็นตัวแปรให้ดึงข้อมูลไปใช้งานได้ไหมครับ(ผมอธิบายถูกไหมหน่ะ)

    เพื่อความสะดวกในใช้งานสำหรับบุคคลอื่นด้วย ในช่องที่ไว้ใส่จำนวนนาทีถ้าผมใส่ไป 30 (นาที) อยากให้มันไปดึงค่า Sleep(1800000) ไปทำงานเลยครับแต่ผมเริ่มต้นเขียนสคริปไม่ถูกครับผม

    รบกวนแนะนำด้วยครับ

    ====================================================================

    อันนี้เป็นสคริปที่เขียนไว้ครับ
    Code:
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 351, 351, 250, 191)
    $Input1 = GUICtrlCreateInput("ชื่อเว็บไซต์", 8, 8, 185, 21)
    $Input2 = GUICtrlCreateInput("จำนวนนาที", 200, 8, 65, 21)
    $OK = GUICtrlCreateButton("OK", 272, 8, 75, 25)
    $oIE = ObjCreate("Shell.Explorer.2")
    $Obj1_ctrl = GUICtrlCreateObj($oIE, 8, 40, 337, 305)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    HotKeySet("{ESC}", "Close")
    HotKeySet("{ENTER}", "OK")

    While 1
     $nMsg = GUIGetMsg()
     Switch $nMsg
     Case $GUI_EVENT_CLOSE
     Exit
     Case $OK
     Start()
     EndSwitch
    WEnd

    Func Start()
     While 1
     $oIE.navigate(GUICtrlRead($Input1))
     Sleep(GUICtrlRead($Input2) & "000")
     _IEAction($oIE,"refresh")
     WEnd
     EndFunc

    Func OK()
     Start()
    EndFunc

    Func Close()
     Exit
    EndFunc
    ค่า Sleep กำหนดเป็นแบบนาที Screenshot_1289
    avatar
    foolsopts
    PSsix Member
    PSsix Member


    ค่า Sleep กำหนดเป็นแบบนาที Empty
    จำนวนข้อความ : 29
    ความนิยม : 17
    เข้าร่วมเมื่อ : 24/08/2010

    ค่า Sleep กำหนดเป็นแบบนาที Empty Re: ค่า Sleep กำหนดเป็นแบบนาที

    ตั้งหัวข้อ by foolsopts 15/08/13, 06:35 pm

    ถ้าหมายถึง อยากให้ผู้ใช้ กรอก เป็นจำนวนนาที minute แทนที่จะกรอกเป็น million sec ก็เพียงให้คุณ นำค่า นาที ที่ได้จาก inputbox มาคูณ 1000 แล้วนำค่าที่คูณ ไปใส่ ใน sleep() ก็เสร็จแล้วครับ


    $input2 = GUICtrlCreateInput("จำนวนนาที", 200, 8, 65, 21)

    $process = $input2 *1000

    sleep($process)
    avatar
    sumup
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    ค่า Sleep กำหนดเป็นแบบนาที Empty ค่า Sleep กำหนดเป็นแบบนาที Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 26/07/2013

    ค่า Sleep กำหนดเป็นแบบนาที Empty Re: ค่า Sleep กำหนดเป็นแบบนาที

    ตั้งหัวข้อ by sumup 16/08/13, 09:37 am

    อ้อออ จริงด้วยเนอะครับ ขอบคุณมากเลยครับคุณ foolsopts

    avatar
    sumup
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    ค่า Sleep กำหนดเป็นแบบนาที Empty ค่า Sleep กำหนดเป็นแบบนาที Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 26/07/2013

    ค่า Sleep กำหนดเป็นแบบนาที Empty Re: ค่า Sleep กำหนดเป็นแบบนาที

    ตั้งหัวข้อ by sumup 16/08/13, 11:12 am

    foolsopts พิมพ์ว่า:ถ้าหมายถึง อยากให้ผู้ใช้ กรอก เป็นจำนวนนาที minute แทนที่จะกรอกเป็น million sec ก็เพียงให้คุณ นำค่า นาที ที่ได้จาก inputbox มาคูณ 1000 แล้วนำค่าที่คูณ ไปใส่ ใน sleep() ก็เสร็จแล้วครับ


    $input2 = GUICtrlCreateInput("จำนวนนาที", 200, 8, 65, 21)

    $process = $input2 *1000

    sleep($process)
    ผมได้ทดสอบตามนี้ดูแล้วครับ เหมือนสคริปมันไม่มีการ *1000 ให้เลยครับ ต้องใส่เครื่องหมายอะไรก่อนคูณอีกไหมครับ

    Code:
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 351, 351, 250, 191)
    $Input1 = GUICtrlCreateInput("ชื่อเว็บไซต์", 8, 8, 185, 21)
    $Input2 = GUICtrlCreateInput("จำนวนนาที", 200, 8, 65, 21)
    $OK = GUICtrlCreateButton("OK", 272, 8, 75, 25)
    $oIE = ObjCreate("Shell.Explorer.2")
    $Obj1_ctrl = GUICtrlCreateObj($oIE, 8, 40, 337, 305)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    HotKeySet("{ESC}", "Close")
    HotKeySet("{ENTER}", "OK")

    $Min = $Input2 *1000

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit
          Case $OK
             Start()
       EndSwitch
    WEnd

    Func Start()
       While 1
          $oIE.navigate(GUICtrlRead($Input1))
          Sleep($Min)
          _IEAction($oIE,"refresh")
          WEnd
       EndFunc

    Func OK()
       Start()
    EndFunc

    Func Close()
       Exit
    EndFunc
    avatar
    foolsopts
    PSsix Member
    PSsix Member


    ค่า Sleep กำหนดเป็นแบบนาที Empty
    จำนวนข้อความ : 29
    ความนิยม : 17
    เข้าร่วมเมื่อ : 24/08/2010

    ค่า Sleep กำหนดเป็นแบบนาที Empty Re: ค่า Sleep กำหนดเป็นแบบนาที

    ตั้งหัวข้อ by foolsopts 16/08/13, 02:38 pm

    ผมว่าคุณลืมใช้คำสั่ง GuiCtrlRead($Input2) ก่อนนำมาคูณนะครับ ดึงข้อมูลจาก Gui ต้องใช้ GuiCtrlRead() ทุกครั้งครับ

    จากCodeจะได้ว่า
    $Min = GuiCtrlRead($Input2)*1000
    และต้องเอาไปใส่ในส่วนบนสุดของ func start() นอกคำสั่ง while ด้วยครับ ไม่งั้น ค่า$Input2 จะเป็นค่าว่างตลอด เพราะมันถูกคำนวนเสร็จตั้งแต่สร้าง form แล้วครับ
    avatar
    sumup
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    ค่า Sleep กำหนดเป็นแบบนาที Empty ค่า Sleep กำหนดเป็นแบบนาที Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 26/07/2013

    ค่า Sleep กำหนดเป็นแบบนาที Empty Re: ค่า Sleep กำหนดเป็นแบบนาที

    ตั้งหัวข้อ by sumup 16/08/13, 04:41 pm

    foolsopts พิมพ์ว่า:ผมว่าคุณลืมใช้คำสั่ง GuiCtrlRead($Input2) ก่อนนำมาคูณนะครับ ดึงข้อมูลจาก Gui ต้องใช้ GuiCtrlRead() ทุกครั้งครับ

    จากCodeจะได้ว่า
    $Min = GuiCtrlRead($Input2)*1000
    และต้องเอาไปใส่ในส่วนบนสุดของ func start() นอกคำสั่ง while ด้วยครับ ไม่งั้น ค่า$Input2 จะเป็นค่าว่างตลอด เพราะมันถูกคำนวนเสร็จตั้งแต่สร้าง form แล้วครับ
    หือออออ เข้าใจเลยครับ เพราะผมเองบอกตามตรงยังไม่ค่อยเข้าใจและไม่รู้ว่าต้องใช้คำสั่งตัวไหนทำอะไรได้บ้างครับ แค่ดูใน F1 แล้วเอามาลองใช้งานเลย แต่ก็ใช้งานได้แล้วครับเสร็จเป็นทีเรียบร้อยเลยครับ

    แต่ผมเห็น admin เขาทำหนังสือออกมาด้วยเดี๋ยวลองไปหาซื้อมาศึกษาดูอีกทีครับ เพราะเดี๋ยวต้องมีทำให้บริษัทอีกแน่นอน ตัวนี้ทำให้หัวหน้าดูคราวๆ ครับ

    ขอบคุณ คุณ foolsopts อีกครั้งนะครับ

    ส่วนอันนี้โค้ดที่ทำเสร็จครับ เผื่อเป็นประโยชน์กับคนอื่น
    Code:
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 351, 351, 250, 191)
    $Input1 = GUICtrlCreateInput("http://www.sumuppremium.com/", 8, 8, 185, 21)
    $Input2 = GUICtrlCreateInput("5", 200, 8, 65, 21)
    $OK = GUICtrlCreateButton("OK", 272, 8, 75, 25)
    $oIE = ObjCreate("Shell.Explorer.2")
    $Obj1_ctrl = GUICtrlCreateObj($oIE, 8, 40, 337, 305)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    HotKeySet("{ESC}", "Close")
    HotKeySet("{ENTER}", "OK")

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit
          Case $OK
             Start()
       EndSwitch
    WEnd

    Func Start()
       $Min = GuiCtrlRead($Input2)*1000
       While 1
          $oIE.navigate(GUICtrlRead($Input1))
          Sleep($Min)
          _IEAction($oIE,"refresh")
          WEnd
       EndFunc

    Func OK()
       Start()
    EndFunc

    Func Close()
       Exit
    EndFunc

      เวลาขณะนี้ 29/03/24, 02:38 pm