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


4 posters

    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด

    max30012540
    max30012540
    PSsix Member High Class
    PSsix Member High Class


    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty PSsix Program Coder
    จำนวนข้อความ : 98
    ความนิยม : 10
    เข้าร่วมเมื่อ : 10/10/2011
    อายุ : 26

    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด

    ตั้งหัวข้อ by max30012540 12/11/11, 09:32 pm

    งง มากครับ em246

    Code:
    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    $Form1 = GUICreate("โปรแกรมจับเวลา", 242, 74, 518, 229)
    $Button1 = GUICtrlCreateButton("จับเวลา", 160, 8, 73, 25, 0)
    $Input2 = GUICtrlCreateInput("0", 8, 16, 57, 40,BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN))
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    $Input3 = GUICtrlCreateInput("0", 88, 16, 57, 40,BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN))
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    $Button2 = GUICtrlCreateButton("หยุดจับเวลา", 160, 40, 73, 25, 0)
    $Label1 = GUICtrlCreateLabel(": ", 72, 16, 16, 36)
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit
          Case $Button1
             While 1
                If $nMsg = $Button2 Then
                   ExitLoop
                EndIf
                Sleep(999)
                GUICtrlSetData($Input3,Execute(GUICtrlRead($Input3))+1)
                if GUICtrlRead($Input3) = 60 Then
                   GUICtrlSetData($Input2,Execute(GUICtrlRead($Input2))+1)
                   GUICtrlSetData($Input3,1)
                EndIf
                if GUICtrlRead($Input2) = 60 Then
                   MsgBox(0,"","โปรแกรมจับเวลาได้สูงสุดที่ 60 นาที หลังจากกด OK แล้วโปรแกรมจะหยุดจับเวลา")
                   ExitLoop
                EndIf
             WEnd
             EndSwitch
    WEnd
    POS
    POS
    PSsix
    PSsix


    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty Re: ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด

    ตั้งหัวข้อ by POS 13/11/11, 06:59 am

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

    ตัวอย่างการแก้ไขจากของเดิม (ต้องคลิกหลายๆ ครั้งถึงจะหยุด)

    Code:
    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    $Form1 = GUICreate("โปรแกรมจับเวลา", 242, 74, 518, 229)
    $Button1 = GUICtrlCreateButton("จับเวลา", 160, 8, 73, 25, 0)
    $Input2 = GUICtrlCreateInput("0", 8, 16, 57, 40,BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN))
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    $Input3 = GUICtrlCreateInput("0", 88, 16, 57, 40,BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN))
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    $Button2 = GUICtrlCreateButton("หยุดจับเวลา", 160, 40, 73, 25, 0)
    $Label1 = GUICtrlCreateLabel(": ", 72, 16, 16, 36)
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit
          Case $Button1
             While 1
                If  GUIGetMsg()= $Button2 Then;;เปลี่ยน
                   ExitLoop
                EndIf
                Sleep(999)
                GUICtrlSetData($Input3,Execute(GUICtrlRead($Input3))+1)
                if GUICtrlRead($Input3) = 60 Then
                   GUICtrlSetData($Input2,Execute(GUICtrlRead($Input2))+1)
                   GUICtrlSetData($Input3,1)
                EndIf
                if GUICtrlRead($Input2) = 60 Then
                   MsgBox(0,"","โปรแกรมจับเวลาได้สูงสุดที่ 60 นาที หลังจากกด OK แล้วโปรแกรมจะหยุดจับเวลา")
                   ExitLoop
                EndIf
             WEnd
             EndSwitch
    WEnd
    avatar
    Fast
    PSsix Member Super Class III
    PSsix Member Super Class III


    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty PSsix Program Coder
    จำนวนข้อความ : 217
    ความนิยม : 54
    เข้าร่วมเมื่อ : 19/06/2011

    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty Re: ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด

    ตั้งหัวข้อ by Fast 14/11/11, 04:26 pm

    แก้ไขแบบนี้เลยครับ em218



    #include
    #include
    $Form1 = GUICreate("โปรแกรมจับเวลา", 242, 74, 518, 229)
    $Button1 = GUICtrlCreateButton("จับเวลา", 160, 8, 73, 25, 0)
    $Input2 = GUICtrlCreateInput("0", 8, 16, 57, 40,BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN))
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    $Input3 = GUICtrlCreateInput("0", 88, 16, 57, 40,BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN))
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    $Button2 = GUICtrlCreateButton("หยุดจับเวลา", 160, 40, 73, 25, 0)
    $Label1 = GUICtrlCreateLabel(": ", 72, 16, 16, 36)
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $t =TimerInit()
    While 1
    if TimerDiff($t) >1000 then
    GUICtrlSetData($Input3,Execute(GUICtrlRead($Input3))+1)
    $t =TimerInit()
    EndIf
    If GUIGetMsg()= $Button2 Then ExitLoop
    If GUIGetMsg()= $GUI_EVENT_CLOSE Then Exit
    Sleep(10)
    WEnd
    EndSwitch
    WEnd
    max30012540
    max30012540
    PSsix Member High Class
    PSsix Member High Class


    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty PSsix Program Coder
    จำนวนข้อความ : 98
    ความนิยม : 10
    เข้าร่วมเมื่อ : 10/10/2011
    อายุ : 26

    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty Re: ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด

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

    Fast พิมพ์ว่า:แก้ไขแบบนี้เลยครับ em218



    #include
    #include
    $Form1 = GUICreate("โปรแกรมจับเวลา", 242, 74, 518, 229)
    $Button1 = GUICtrlCreateButton("จับเวลา", 160, 8, 73, 25, 0)
    $Input2 = GUICtrlCreateInput("0", 8, 16, 57, 40,BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN))
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    $Input3 = GUICtrlCreateInput("0", 88, 16, 57, 40,BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN))
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    $Button2 = GUICtrlCreateButton("หยุดจับเวลา", 160, 40, 73, 25, 0)
    $Label1 = GUICtrlCreateLabel(": ", 72, 16, 16, 36)
    GUICtrlSetFont(-1, 22, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $t =TimerInit()
    While 1
    if TimerDiff($t) >1000 then
    GUICtrlSetData($Input3,Execute(GUICtrlRead($Input3))+1)
    $t =TimerInit()
    EndIf
    If GUIGetMsg()= $Button2 Then ExitLoop
    If GUIGetMsg()= $GUI_EVENT_CLOSE Then Exit
    Sleep(10)
    WEnd
    EndSwitch
    WEnd

    ใช้ได้แล้วครับ ขอบคุณ คุณ Fast มากๆครับ
    Pochi
    Pochi
    PSsix Member Class III
    PSsix Member Class III


    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty
    จำนวนข้อความ : 66
    ความนิยม : 1
    เข้าร่วมเมื่อ : 22/10/2010

    ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด Empty Re: ทำโปรแกรมจับเวลา แต่ไม่รู้จะทำยังไงให้เวลาหยุดเมื่อกด หยุด

    ตั้งหัวข้อ by Pochi 13/08/12, 03:35 pm

    ขอบคุณครับสำหรับข้อมูล em230

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