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

    Mini Calculator

    sak20102005
    sak20102005
    ระงับสมาชิก
    ระงับสมาชิก


    Mini Calculator Empty
    จำนวนข้อความ : 96
    ความนิยม : 4
    เข้าร่วมเมื่อ : 07/04/2011

    Mini Calculator Empty Mini Calculator

    ตั้งหัวข้อ by sak20102005 08/04/11, 08:58 pm

    ใครเห็น code แล้ว จะต้องคิดในใจว่า.. ผมเขียนโค๊ดแบบลูกทุ่งแน่นอน
    แต่มันก็ใช้ได้นะ อุตส่าห์นั่งคิดและเขียนอยู่ 4 - 5 ชั่วโมง กว่าจะได้เรื่อง
    ใครมีวิธีคิดและเขียนได้ดีกว่านี้ ลองดูครับ นำมาแลกเปลี่ยนแนวความคิดกัน.

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

    Opt("MustDeclareVars", 1)

    Global $Input, $Btn1, $Btn2, $Btn3, $Btn4, $Btn5, $Btn6, $Btn7
    Global $Btn8, $Btn9, $Btn0, $Btn_add, $Btn_sub, $Btn_mul
    Global $Btn_submul, $Btn_clear, $Btn_dot, $Btn_ans_com, $Btn_ans_add
    Global $Btn_ans_sub, $Btn_ans_mul, $Btn_ans_submul, $nMsg, $read

    main()
    Func main()
    GUICreate("Mini Calculator", 305, 103, -1, -1, -1, _
    BitOR($WS_EX_OVERLAPPEDWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
    $Input = GUICtrlCreateInput("", 8, 8, 290, 21, _
    BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN), _
    BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Btn1 = GUICtrlCreateButton("1", 8, 40, 27, 25, $WS_GROUP)
    $Btn2 = GUICtrlCreateButton("2", 40, 40, 27, 25, $WS_GROUP)
    $Btn3 = GUICtrlCreateButton("3", 72, 40, 27, 25, $WS_GROUP)
    $Btn4 = GUICtrlCreateButton("4", 104, 40, 27, 25, $WS_GROUP)
    $Btn5 = GUICtrlCreateButton("5", 136, 40, 27, 25, $WS_GROUP)
    $Btn6 = GUICtrlCreateButton("6", 8, 72, 27, 25, $WS_GROUP)
    $Btn7 = GUICtrlCreateButton("7", 40, 72, 27, 25, $WS_GROUP)
    $Btn8 = GUICtrlCreateButton("8", 72, 72, 27, 25, $WS_GROUP)
    $Btn9 = GUICtrlCreateButton("9", 104, 72, 27, 25, $WS_GROUP)
    $Btn0 = GUICtrlCreateButton("0", 136, 72, 27, 25, $WS_GROUP)
    $Btn_add = GUICtrlCreateButton("+", 176, 40, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Btn_sub = GUICtrlCreateButton("-", 208, 40, 27, 25, $BS_BOTTOM)
    GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
    $Btn_mul = GUICtrlCreateButton("*", 176, 72, 27, 25, BitOR($BS_TOP,$WS_GROUP))
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    $Btn_submul = GUICtrlCreateButton("/", 208, 72, 27, 25)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Btn_clear = GUICtrlCreateButton("c", 240, 40, 58, 25)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Btn_dot = GUICtrlCreateButton(".", 240, 72, 27, 25, $BS_BOTTOM )
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    $Btn_ans_com = GUICtrlCreateButton("=", 272, 72, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Btn_ans_add = GUICtrlCreateButton("=", 272, 72, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Btn_ans_sub = GUICtrlCreateButton("=", 272, 72, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Btn_ans_mul = GUICtrlCreateButton("=", 272, 72, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Btn_ans_submul = GUICtrlCreateButton("=", 272, 72, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    GUISetState(@SW_SHOW)

    While 1
           $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit
            Case $Btn1
             GUICtrlSetData($Input, GUICtrlRead($Input)&1)
          Case $Btn2
             GUICtrlSetData($Input, GUICtrlRead($Input)&2)
            Case $Btn3
             GUICtrlSetData($Input, GUICtrlRead($Input)&3)
            Case $Btn4
             GUICtrlSetData($Input, GUICtrlRead($Input)&4)
          Case $Btn5
             GUICtrlSetData($Input, GUICtrlRead($Input)&5)
            Case $Btn6
             GUICtrlSetData($Input, GUICtrlRead($Input)&6)
            Case $Btn7
             GUICtrlSetData($Input, GUICtrlRead($Input)&7)
          Case $Btn8
             GUICtrlSetData($Input, GUICtrlRead($Input)&8)
            Case $Btn9
             GUICtrlSetData($Input, GUICtrlRead($Input)&9)
            Case $Btn0
             GUICtrlSetData($Input, GUICtrlRead($Input)&0)
          Case $Btn_dot
             GUICtrlSetData($Input, GUICtrlRead($Input)&'.')
            Case $Btn_add
             If GUICtrlRead($Input) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_submul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_SHOW)
             $read = GUICtrlRead($Input)
             GUICtrlSetData($Input, '')
             EndIf
          Case $Btn_sub
             If GUICtrlRead($Input) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_submul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_SHOW)
             $read = GUICtrlRead($Input)
             GUICtrlSetData($Input, '')
             EndIf
          Case $Btn_mul
             If GUICtrlRead($Input) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_submul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mul, $GUI_SHOW)
             $read = GUICtrlRead($Input)
             GUICtrlSetData($Input, '')
             EndIf
          Case $Btn_submul
             If GUICtrlRead($Input) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_submul, $GUI_SHOW)
             $read = GUICtrlRead($Input)
             GUICtrlSetData($Input, '')
             EndIf
            Case $Btn_ans_add
                GUICtrlSetData($Input, $read+GUICtrlRead($Input))
          Case $Btn_ans_sub
                GUICtrlSetData($Input, $read-GUICtrlRead($Input))
          Case $Btn_ans_mul
                GUICtrlSetData($Input, $read*GUICtrlRead($Input))
          Case $Btn_ans_submul
                GUICtrlSetData($Input, $read/GUICtrlRead($Input))
            Case $Btn_clear
                GUICtrlSetState($Btn_ans_com, $GUI_SHOW)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_submul, $GUI_HIDE)
             GUICtrlSetData($Input, '')
             ContinueLoop
       EndSwitch
    WEnd
    EndFunc

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


    แก้ไขล่าสุดโดย sak20102005 เมื่อ 21/04/11, 05:28 am, ทั้งหมด 2 ครั้ง
    sak20102005
    sak20102005
    ระงับสมาชิก
    ระงับสมาชิก


    Mini Calculator Empty
    จำนวนข้อความ : 96
    ความนิยม : 4
    เข้าร่วมเมื่อ : 07/04/2011

    Mini Calculator Empty Re: Mini Calculator

    ตั้งหัวข้อ by sak20102005 09/04/11, 11:03 am

    ปรับปรุงมาให้ใหม่ สามารถใช้คีย์บอร์ดแทนเม๊าท์ได้
    หมดเวลาไปกับโปรแกรมนี้ 1 วัน แต่ก็คุ้ม
    เพราะอยากเขียนโปรแกรมประเภทนี้มานานแล้ว
    ต้องใช้สมองคิดไอเดียทุกๆวินาที ไม่งั้นก็เขียนไม่สำเร็จ.

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

    Opt("MustDeclareVars", 1)

    HotKeySet("{ESC}", "send_close")
    HotKeySet("1", "send_1")
    HotKeySet("2", "send_2")
    HotKeySet("3", "send_3")
    HotKeySet("4", "send_4")
    HotKeySet("5", "send_5")
    HotKeySet("6", "send_6")
    HotKeySet("7", "send_7")
    HotKeySet("8", "send_8")
    HotKeySet("9", "send_9")
    HotKeySet("0", "send_0")
    HotKeySet(".", "send_dot")
    HotKeySet("{+}", "send_add")
    HotKeySet("{-}", "send_sub")
    HotKeySet("{*}", "send_mul")
    HotKeySet("{/}", "send_div")
    HotKeySet("{BS}", "send_back")
    HotKeySet("{DEL}", "send_clear")
    HotKeySet("{Numpad1}", "send_num_1")
    HotKeySet("{Numpad2}", "send_num_2")
    HotKeySet("{Numpad3}", "send_num_3")
    HotKeySet("{Numpad4}", "send_num_4")
    HotKeySet("{Numpad5}", "send_num_5")
    HotKeySet("{Numpad6}", "send_num_6")
    HotKeySet("{Numpad7}", "send_num_7")
    HotKeySet("{Numpad8}", "send_num_8")
    HotKeySet("{Numpad9}", "send_num_9")
    HotKeySet("{Numpad0}", "send_num_0")
    HotKeySet("{NumpadDot}", "send_num_dot")
    HotKeySet("{NumpadAdd}", "send_num_add")
    HotKeySet("{NumpadSub}", "send_num_sub")
    HotKeySet("{NumpadMult}", "send_num_mul")
    HotKeySet("{NumpadDiv}", "send_num_div")

    Global $Input, $Btn1, $Btn2, $Btn3, $Btn4, $Btn5, $Btn6, $Btn7
    Global $Btn8, $Btn9, $Btn0, $Btn_add, $Btn_sub, $Btn_mul
    Global $Btn_div, $Btn_clear, $Btn_dot, $Btn_ans_com, $Btn_ans_add
    Global $Btn_ans_sub, $Btn_ans_mul, $Btn_ans_div, $nMsg, $read
    Global $title = "Mini Calculator", $cid = "Edit1", $sread, $thim
    Global $sFile = @SystemDir&'\Calc.exe', $hForm, $sFile, $Btn_back
    main()
    Func main()
    $hForm = GUICreate("Mini Calculator    (Esc=Exit)", 305, 103, -1, -1, -1, _
    BitOR($WS_EX_OVERLAPPEDWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
    GUISetBkColor(0xA6CAF0)
    GUISetIcon($sFile, -1, $hForm)
    $Input = GUICtrlCreateInput("0", 8, 8, 290, 21, _
    BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN), _
    BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Btn1 = GUICtrlCreateButton("1", 8, 40, 27, 25, $WS_GROUP)
    $Btn2 = GUICtrlCreateButton("2", 40, 40, 27, 25, $WS_GROUP)
    $Btn3 = GUICtrlCreateButton("3", 72, 40, 27, 25, $WS_GROUP)
    $Btn4 = GUICtrlCreateButton("4", 104, 40, 27, 25, $WS_GROUP)
    $Btn5 = GUICtrlCreateButton("5", 136, 40, 27, 25, $WS_GROUP)
    $Btn6 = GUICtrlCreateButton("6", 8, 72, 27, 25, $WS_GROUP)
    $Btn7 = GUICtrlCreateButton("7", 40, 72, 27, 25, $WS_GROUP)
    $Btn8 = GUICtrlCreateButton("8", 72, 72, 27, 25, $WS_GROUP)
    $Btn9 = GUICtrlCreateButton("9", 104, 72, 27, 25, $WS_GROUP)
    $Btn0 = GUICtrlCreateButton("0", 136, 72, 27, 25, $WS_GROUP)
    $Btn_add = GUICtrlCreateButton("+", 176, 40, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Btn_sub = GUICtrlCreateButton("-", 208, 40, 27, 25, $BS_BOTTOM)
    GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
    $Btn_mul = GUICtrlCreateButton("*", 176, 72, 27, 25, BitOR($BS_TOP,$WS_GROUP))
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    $Btn_div = GUICtrlCreateButton("/", 208, 72, 27, 25)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Btn_clear = GUICtrlCreateButton("c", 240, 40, 27, 25)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Btn_back = GUICtrlCreateButton("BS", 270, 40, 27, 25)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Btn_dot = GUICtrlCreateButton(".", 240, 72, 27, 25, $BS_BOTTOM )
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    $Btn_ans_com = GUICtrlCreateButton("=", 272, 72, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Btn_ans_add = GUICtrlCreateButton("=", 272, 72, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Btn_ans_sub = GUICtrlCreateButton("=", 272, 72, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Btn_ans_mul = GUICtrlCreateButton("=", 272, 72, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Btn_ans_div = GUICtrlCreateButton("=", 272, 72, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetState(-1, $GUI_HIDE)
    GUISetState(@SW_SHOW)


    While 1
           $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit
            Case $Btn1
             GUICtrlSetData($Input, GUICtrlRead($Input)&1)
          Case $Btn2
             GUICtrlSetData($Input, GUICtrlRead($Input)&2)
            Case $Btn3
             GUICtrlSetData($Input, GUICtrlRead($Input)&3)
            Case $Btn4
             GUICtrlSetData($Input, GUICtrlRead($Input)&4)
          Case $Btn5
             GUICtrlSetData($Input, GUICtrlRead($Input)&5)
            Case $Btn6
             GUICtrlSetData($Input, GUICtrlRead($Input)&6)
            Case $Btn7
             GUICtrlSetData($Input, GUICtrlRead($Input)&7)
          Case $Btn8
             GUICtrlSetData($Input, GUICtrlRead($Input)&8)
            Case $Btn9
             GUICtrlSetData($Input, GUICtrlRead($Input)&9)
            Case $Btn0
             GUICtrlSetData($Input, GUICtrlRead($Input)&0)
          Case $Btn_dot
             GUICtrlSetData($Input, GUICtrlRead($Input)&'.')
          Case $Btn_back
             $thim = StringTrimRight(GUICtrlRead($Input), 1)
               GUICtrlSetData($Input, $thim)
            Case $Btn_add
             If GUICtrlRead($Input) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_SHOW)
             $read = GUICtrlRead($Input)
             GUICtrlSetData($Input, '')
             EndIf
          Case $Btn_sub
             If GUICtrlRead($Input) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_SHOW)
             $read = GUICtrlRead($Input)
             GUICtrlSetData($Input, '')
             EndIf
          Case $Btn_mul
             If GUICtrlRead($Input) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mul, $GUI_SHOW)
             $read = GUICtrlRead($Input)
             GUICtrlSetData($Input, '')
             EndIf
          Case $Btn_div
             If GUICtrlRead($Input) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_div, $GUI_SHOW)
             $read = GUICtrlRead($Input)
             GUICtrlSetData($Input, '')
             EndIf
            Case $Btn_ans_add
                GUICtrlSetData($Input, $read+GUICtrlRead($Input))
          Case $Btn_ans_sub
                GUICtrlSetData($Input, $read-GUICtrlRead($Input))
          Case $Btn_ans_mul
                GUICtrlSetData($Input, $read*GUICtrlRead($Input))
          Case $Btn_ans_div
                GUICtrlSetData($Input, $read/GUICtrlRead($Input))
            Case $Btn_clear
                GUICtrlSetState($Btn_ans_com, $GUI_SHOW)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
             GUICtrlSetData($Input, '')
             ContinueLoop
       EndSwitch
    WEnd
    EndFunc

    Func send_1()

       GUICtrlSetData($Input, GUICtrlRead($Input)&1)
    EndFunc

    Func send_2()
        GUICtrlSetData($Input, GUICtrlRead($Input)&2)
    EndFunc

    Func send_3()
        GUICtrlSetData($Input, GUICtrlRead($Input)&3)
    EndFunc

    Func send_4()
        GUICtrlSetData($Input, GUICtrlRead($Input)&4)
    EndFunc

    Func send_5()
        GUICtrlSetData($Input, GUICtrlRead($Input)&5)
    EndFunc

    Func send_6()
        GUICtrlSetData($Input, GUICtrlRead($Input)&6)
    EndFunc

    Func send_7()
        GUICtrlSetData($Input, GUICtrlRead($Input)&7)
    EndFunc

    Func send_8()
        GUICtrlSetData($Input, GUICtrlRead($Input)&8)
    EndFunc

    Func send_9()
        GUICtrlSetData($Input, GUICtrlRead($Input)&9)
    EndFunc

    Func send_0()
        GUICtrlSetData($Input, GUICtrlRead($Input)&0)
    EndFunc

    Func send_dot()
        GUICtrlSetData($Input, GUICtrlRead($Input)&".")
    EndFunc

    Func send_back()
        $thim = StringTrimRight(GUICtrlRead($Input), 1)
       GUICtrlSetData($Input, $thim)
    EndFunc

    Func send_add()
        If GUICtrlRead($Input) <> '' Then
          GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_add, $GUI_SHOW)
          GUICtrlSetState($Btn_ans_add, $GUI_FOCUS)
          $read = GUICtrlRead($Input)
          GUICtrlSetData($Input, '')
       EndIf
    EndFunc

    Func send_sub()
        If GUICtrlRead($Input) <> '' Then
          GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_sub, $GUI_SHOW)
          GUICtrlSetState($Btn_ans_sub, $GUI_FOCUS)
          $read = GUICtrlRead($Input)
          GUICtrlSetData($Input, '')
       EndIf
    EndFunc

    Func send_mul()
        If GUICtrlRead($Input) <> '' Then
          GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_mul, $GUI_SHOW)
          GUICtrlSetState($Btn_ans_mul, $GUI_FOCUS)
          $read = GUICtrlRead($Input)
          GUICtrlSetData($Input, '')
       EndIf
    EndFunc

    Func send_div()
        If GUICtrlRead($Input) <> '' Then
          GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_div, $GUI_SHOW)
          GUICtrlSetState($Btn_ans_div, $GUI_FOCUS)
          $read = GUICtrlRead($Input)
          GUICtrlSetData($Input, '')
       EndIf
    EndFunc

    Func send_clear()
       If GUICtrlRead($Input) <> '' Then
            GUICtrlSetState($Btn_ans_com, $GUI_SHOW)
           GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
           GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
           GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
           GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
           GUICtrlSetData($Input, '')
       EndIf
    EndFunc

    Func enter()
       WinWaitActive($title, "", 1)
       Send("{ENTER}")
    EndFunc

    Func send_num_1()
        GUICtrlSetData($Input, GUICtrlRead($Input)&1)
    EndFunc

    Func send_num_2()
        GUICtrlSetData($Input, GUICtrlRead($Input)&2)
    EndFunc

    Func send_num_3()
        GUICtrlSetData($Input, GUICtrlRead($Input)&3)
    EndFunc

    Func send_num_4()
        GUICtrlSetData($Input, GUICtrlRead($Input)&4)
    EndFunc

    Func send_num_5()
        GUICtrlSetData($Input, GUICtrlRead($Input)&5)
    EndFunc

    Func send_num_6()
        GUICtrlSetData($Input, GUICtrlRead($Input)&6)
    EndFunc

    Func send_num_7()
        GUICtrlSetData($Input, GUICtrlRead($Input)&7)
    EndFunc

    Func send_num_8()
        GUICtrlSetData($Input, GUICtrlRead($Input)&8)
    EndFunc

    Func send_num_9()
        GUICtrlSetData($Input, GUICtrlRead($Input)&9)
    EndFunc

    Func send_num_0()
        GUICtrlSetData($Input, GUICtrlRead($Input)&0)
    EndFunc

    Func send_num_dot()
        GUICtrlSetData($Input, GUICtrlRead($Input)&".")
    EndFunc


    Func send_num_add()
       If GUICtrlRead($Input) <> '' Then
          GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_add, $GUI_SHOW)
          GUICtrlSetState($Btn_ans_add, $GUI_FOCUS)
          $read = GUICtrlRead($Input)
          GUICtrlSetData($Input, '')
       EndIf
    EndFunc

    Func send_num_sub()
        If GUICtrlRead($Input) <> '' Then
          GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_sub, $GUI_SHOW)
          GUICtrlSetState($Btn_ans_sub, $GUI_FOCUS)
          $read = GUICtrlRead($Input)
          GUICtrlSetData($Input, '')
       EndIf
    EndFunc

    Func send_num_mul()
        If GUICtrlRead($Input) <> '' Then
          GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_mul, $GUI_SHOW)
          GUICtrlSetState($Btn_ans_mul, $GUI_FOCUS)
          $read = GUICtrlRead($Input)
          GUICtrlSetData($Input, '')
       EndIf
    EndFunc

    Func send_num_div()
      If GUICtrlRead($Input) <> '' Then
          GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_mul, $GUI_HIDE)
          GUICtrlSetState($Btn_ans_div, $GUI_SHOW)
          GUICtrlSetState($Btn_ans_div, $GUI_FOCUS)
          $read = GUICtrlRead($Input)
          GUICtrlSetData($Input, '')
       EndIf
    EndFunc

    Func send_close()
       Exit
    EndFunc

    [You must be registered and logged in to see this image.]
    Thanks: ฝากรูป


    แก้ไขล่าสุดโดย sak20102005 เมื่อ 21/04/11, 05:33 am, ทั้งหมด 2 ครั้ง
    sak20102005
    sak20102005
    ระงับสมาชิก
    ระงับสมาชิก


    Mini Calculator Empty
    จำนวนข้อความ : 96
    ความนิยม : 4
    เข้าร่วมเมื่อ : 07/04/2011

    Mini Calculator Empty Re: Mini Calculator

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

    Mini Calculator Desktop

    Download: WinAPIEx.au3 คลิ๊กที่นี่

    Code:
    #NoTrayIcon
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Include <WinAPIEx.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    HotKeySet("{ESC}", "guiclose")
    Opt("MustDeclareVars", 1)

    main()
    Func main()
    Local $title = "MiniCalcDesktop", $cid = "Edit1"
    Local $sFile = @SystemDir&'\Calc.exe'
    Local $hForm, $Inp_disp, $Btn_back, $Btn_clear, $Btn7, $Btn8, $Btn9
    Local $Btn4, $Btn5, $Btn6, $Btn1, $Btn2, $Btn3, $Btn0, $Btn_dot
    Local $Btn_mult, $Btn_div, $Btn_sub, $Btn_add, $Btn_ans_div, $Btn_ans_mult
    Local $Btn_ans_sub, $Btn_ans_add, $Btn_ans_com, $Menu1, $Submenu1a
    Local $Submenu1b, $Menu2, $Submenu2a, $Submenu2b, $Menu3, $Submenu_about
    Local $Submenu3b, $Submenu1_exit, $nMsg, $i, $read, $trim, $sFile, $Btn_back

    $hForm = GUICreate($title, @DesktopWidth, @DesktopHeight, -1, -1, _
    BitOR($WS_POPUP,$WS_CLIPSIBLINGS), BitOR($WS_EX_WINDOWEDGE,$WS_EX_LAYERED))
    GUISetBkColor(0xABABAB)
    WinSetOnTop($title, "", 1)
    GUISetIcon($sFile, -1, $hForm)
    $Menu1 = GUICtrlCreateMenu("Edit")
    $Submenu1a = GUICtrlCreateMenuItem("Copy  Ctrl+C", $Menu1)
    $Submenu1b = GUICtrlCreateMenuItem("Paste  Ctrl+V", $Menu1)
    GUICtrlCreateMenuItem("", $Menu1, 2)
    $Submenu1_exit = GUICtrlCreateMenuItem("Exit    ESC", $Menu1)
    $Menu2 = GUICtrlCreateMenu("View")
    $Submenu2a = GUICtrlCreateMenuItem("Standard", $Menu2)
    $Submenu2b = GUICtrlCreateMenuItem("Classic", $Menu2)
    $Menu3 = GUICtrlCreateMenu("About")
    $Submenu_about = GUICtrlCreateMenuItem("About", $Menu3)
    $Submenu3b = GUICtrlCreateMenuItem("Help", $Menu3)
    $Inp_disp = GUICtrlCreateInput("0", 8, 10, 120, 20, _
    BitOR($ES_RIGHT,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN), _
    BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Btn7 = GUICtrlCreateButton("7", 8, 70, 27, 25, $WS_GROUP)
    $Btn8 = GUICtrlCreateButton("8", 40, 70, 27, 25, $WS_GROUP)
    $Btn9 = GUICtrlCreateButton("9", 72, 70, 27, 25, $WS_GROUP)
    $Btn4 = GUICtrlCreateButton("4", 8, 100, 27, 25, $WS_GROUP)
    $Btn5 = GUICtrlCreateButton("5", 40, 100, 27, 25, $WS_GROUP)
    $Btn6 = GUICtrlCreateButton("6", 72,100, 27, 25, $WS_GROUP)
    $Btn1 = GUICtrlCreateButton("1", 8, 130, 27, 25, $WS_GROUP)
    $Btn2 = GUICtrlCreateButton("2", 40, 130, 27, 25, $WS_GROUP)
    $Btn3 = GUICtrlCreateButton("3", 72, 130, 27, 25, $WS_GROUP)
    $Btn0 = GUICtrlCreateButton("0", 8, 160, 27, 25, $WS_GROUP)
    $Btn_dot = GUICtrlCreateButton(".", 40, 160, 27, 25, $BS_BOTTOM )
    GUICtrlSetFont(-1, 18, 400, 0, "Arial")
    $Btn_back = GUICtrlCreateButton("BS", 8, 40, 27, 25)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Btn_clear = GUICtrlCreateButton("c", 103, 40, 27, 25)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $Btn_div = GUICtrlCreateButton("/", 104, 70, 27, 25)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $Btn_mult = GUICtrlCreateButton("*", 104, 100, 27, 25, BitOR($BS_TOP,$WS_GROUP))
    GUICtrlSetFont(-1, 18, 400, 0, "Arial")
    $Btn_sub = GUICtrlCreateButton("-", 104, 130, 27, 25, $BS_BOTTOM)
    GUICtrlSetFont(-1, 15, 400, 0, "Arial")
    $Btn_add = GUICtrlCreateButton("+", 104, 160, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    $Btn_ans_com = GUICtrlCreateButton("=", 72, 160, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    $Btn_ans_add = GUICtrlCreateButton("=", 72, 160, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Btn_ans_sub = GUICtrlCreateButton("=", 72, 160, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Btn_ans_mult = GUICtrlCreateButton("=", 72, 160, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetState(-1, $GUI_HIDE)
    $Btn_ans_div = GUICtrlCreateButton("=", 72, 160, 27, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetState(-1, $GUI_HIDE)
    GUISetState(@SW_SHOW)
    WinMove($title, "", 890, 5)
    _WinAPI_SetLayeredWindowAttributes($hForm, 0xABABAB, 255, BitOR($LWA_COLORKEY, $LWA_ALPHA))

    While 1
           $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $Submenu1_exit
             ExitLoop
          Case $Submenu_about
             ToolTip("Design by:Sak2005"&@CRLF&"CopyRight:2011", 820, 120, "About", 1, 2)
             Sleep(3000)
             ToolTip("")
          Case $Btn1
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&1)
          Case $Btn2
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&2)
            Case $Btn3
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&3)
            Case $Btn4
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&4)
          Case $Btn5
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&5)
            Case $Btn6
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&6)
            Case $Btn7
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&7)
          Case $Btn8
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&8)
            Case $Btn9
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&9)
            Case $Btn0
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&0)
          Case $Btn_dot
             GUICtrlSetData($Inp_disp, GUICtrlRead($Inp_disp)&'.')
          Case $Btn_back
             $trim = StringTrimRight(GUICtrlRead($Inp_disp), 1)
               GUICtrlSetData($Inp_disp, $trim)
            Case $Btn_add
             If GUICtrlRead($Inp_disp) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mult, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_SHOW)
             $read = GUICtrlRead($Inp_disp)
             GUICtrlSetData($Inp_disp, '')
             EndIf
          Case $Btn_sub
             If GUICtrlRead($Inp_disp) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mult, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_SHOW)
             $read = GUICtrlRead($Inp_disp)
             GUICtrlSetData($Inp_disp, '')
             EndIf
          Case $Btn_mult
             If GUICtrlRead($Inp_disp) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mult, $GUI_SHOW)
             $read = GUICtrlRead($Inp_disp)
             GUICtrlSetData($Inp_disp, '')
             EndIf
          Case $Btn_div
             If GUICtrlRead($Inp_disp) <> '' Then
             GUICtrlSetState($Btn_ans_com, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mult, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_div, $GUI_SHOW)
             $read = GUICtrlRead($Inp_disp)
             GUICtrlSetData($Inp_disp, '')
             EndIf
            Case $Btn_ans_add
                GUICtrlSetData($Inp_disp, $read+GUICtrlRead($Inp_disp))
          Case $Btn_ans_sub
                GUICtrlSetData($Inp_disp, $read-GUICtrlRead($Inp_disp))
          Case $Btn_ans_mult
                GUICtrlSetData($Inp_disp, $read*GUICtrlRead($Inp_disp))
          Case $Btn_ans_div
                GUICtrlSetData($Inp_disp, $read/GUICtrlRead($Inp_disp))
            Case $Btn_clear
                GUICtrlSetState($Btn_ans_com, $GUI_SHOW)
             GUICtrlSetState($Btn_ans_add, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_sub, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_mult, $GUI_HIDE)
             GUICtrlSetState($Btn_ans_div, $GUI_HIDE)
             GUICtrlSetData($Inp_disp, '')
             ContinueLoop
       EndSwitch
    WEnd
    EndFunc

    Func guiclose()
       Exit
    EndFunc


    แก้ไขล่าสุดโดย sak20102005 เมื่อ 21/04/11, 05:35 am, ทั้งหมด 2 ครั้ง
    Quixotic
    Quixotic
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 91
    ความนิยม : 1
    เข้าร่วมเมื่อ : 29/03/2011

    Mini Calculator Empty Re: Mini Calculator

    ตั้งหัวข้อ by Quixotic 18/04/11, 01:27 am

    ขอบคุณครับที่นำตัวอย่างมาแบ่งปัน

    มีตัวอย่างการดาวโหลดไฟล์แบบเรียงคิวไหมอ่ะครับ

    ผมกำลังศึกษาอยู่

    แบบว่าใช้ IniRead อ่านอ่ะครับ

    แล้วในไฟล์ก็ใส่ลิงค์ไว้

    [Download]
    1=www.Download.down
    2=www.loadload.load
    3=www.lol.ll

    ประมาณนี้อ่ะครับ ไม่รุจะต่อไงดี

      เวลาขณะนี้ 28/03/24, 06:12 pm