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

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

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


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 06/06/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by l3adxl3oy 13/06/11, 06:46 pm

    คือ ผมมี input box อยู่อันนึงซื่งโดยปกติแล้วมันจะต้องกดปุ่ม OK มันถึงจะรับค่าข้อมูลที่ใส่ลงไป
    แต่ที่ผมต้องการคือ มันจะเป็นไปได้ไหมครับที่ ไม่ต้องกดปุ่ม OK หรือ ปุ่มอะไรก็ตาม ซึ่งผมอยากให้มันทำงานตลอด
    เวลาอะคับ เช่น ผมใส่คำว่า "สวัสดี" ลงไปเมื่อผมพิมพ์จบปั๊ป มันก็จะขึ้น "สวัสดี" กลับมาเลยทันที เมื่อผมพิมเส็จอะคับโดยที่ผมไม่ได้กดปุ่มอะไรเลย ทั้ง Form มี Input Box ตัวเดียว ก็ประมาณนี้เเหละคับ ไม่ทราบว่าจะมีวิธีไหนบ้างคับ หรือถ้ามีวิธีอื่นก็ช่วยเเนะนำผมด้วยคับ ผมมือใหม่คับ อยากมีอาจารย์สอนเหมือนกาน Y_Y
    newsak2005
    newsak2005
    ระงับสมาชิก
    ระงับสมาชิก


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 115
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/05/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by newsak2005 13/06/11, 08:25 pm

    l3adxl3oy พิมพ์ว่า:คือ ผมมี input box อยู่อันนึงซื่งโดยปกติแล้วมันจะต้องกดปุ่ม OK มันถึงจะรับค่าข้อมูลที่ใส่ลงไป
    แต่ที่ผมต้องการคือ มันจะเป็นไปได้ไหมครับที่ ไม่ต้องกดปุ่ม OK หรือ ปุ่มอะไรก็ตาม ซึ่งผมอยากให้มันทำงานตลอด
    เวลาอะคับ เช่น ผมใส่คำว่า "สวัสดี" ลงไปเมื่อผมพิมพ์จบปั๊ป มันก็จะขึ้น "สวัสดี" กลับมาเลยทันที เมื่อผมพิมเส็จอะคับโดยที่ผมไม่ได้กดปุ่มอะไรเลย ทั้ง Form มี Input Box ตัวเดียว ก็ประมาณนี้เเหละคับ ไม่ทราบว่าจะมีวิธีไหนบ้างคับ หรือถ้ามีวิธีอื่นก็ช่วยเเนะนำผมด้วยคับ ผมมือใหม่คับ อยากมีอาจารย์สอนเหมือนกาน Y_Y

    ลองโค๊ดนี้ดูครับ (การทำโปรแกรม Auto Comment ไม่ใช่เรื่องยาก ถ้าศึกษาคำสั่งต่างๆที่นำมาใช้ให้ลึกซึ้ง)
    Code:
    #NoTrayIcon
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    $Form1 = GUICreate("Form1", 195, 98, -1, -1)
    $Input1 = GUICtrlCreateInput("", 48, 24, 129, 21)
    $Label1 = GUICtrlCreateLabel("Input:", 16, 24, 31, 17)
    $Label2 = GUICtrlCreateLabel("Output:", 16, 64, 39, 17, _
    BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    $Input2 = GUICtrlCreateInput("", 56, 64, 121, 21)
    GUISetState(@SW_SHOW)

    Do
    GUICtrlSetData($Input2, GUICtrlRead($Input1))
    Sleep(10)
    Until GUIGetMsg() = -3


    แก้ไขล่าสุดโดย newsak2005 เมื่อ 14/06/11, 01:10 am, ทั้งหมด 3 ครั้ง
    avatar
    l3adxl3oy
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 06/06/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by l3adxl3oy 13/06/11, 08:32 pm

    อ่าครับขอบคุณมากคับ ถ้าไม่รังเกียจช่วยอธิบายการทำงานคร่าวๆสักหน่อยได้ไหมคับ
    newsak2005
    newsak2005
    ระงับสมาชิก
    ระงับสมาชิก


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 115
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/05/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by newsak2005 13/06/11, 08:48 pm

    l3adxl3oy พิมพ์ว่า:อ่าครับขอบคุณมากคับ ถ้าไม่รังเกียจช่วยอธิบายการทำงานคร่าวๆสักหน่อยได้ไหมคับ

    หลักการง่ายๆก็คือ Input2 ซึ่งเป็น output ถูกเขียนคำสั่งฝังไว้ใน Loop ซึ่งต้องทำงานซ้ำๆอยู่ตลอดเวลา

    คำสั่งที่เขียนไว้ใน Loop ลักษณะนี้ Input2 จะรับค่ามาจาก Input1 ทุกครั้งที่พิมพ์ข้อความลงไปใน Input1 (งงไม๊?!?)

    ถ้าจะป้อนข้อความเป็นประโยคๆ ลองประยุกต์ใช้คำสั่ง Control ดูครับ.

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


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 06/06/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by l3adxl3oy 13/06/11, 08:50 pm

    คับผม ขอบคุณมากครับ ช่วยได้มากเลยคับ
    avatar
    l3adxl3oy
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 06/06/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by l3adxl3oy 13/06/11, 10:17 pm

    แล้วถ้าเราต้องการให้ input box มันกดปุ่ม OK เองจะต้องเขียนอย่างไรหรอคับ
    คล้ายๆกับ timeout ของ MsgBox อะคับ โทดทีคำถามเยอะไปหน่อย ผมเพิ่งเริ่มจาก ศูนย์ T_T
    newsak2005
    newsak2005
    ระงับสมาชิก
    ระงับสมาชิก


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 115
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/05/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by newsak2005 13/06/11, 11:02 pm

    l3adxl3oy พิมพ์ว่า:แล้วถ้าเราต้องการให้ input box มันกดปุ่ม OK เองจะต้องเขียนอย่างไรหรอคับ
    คล้ายๆกับ timeout ของ MsgBox อะคับ โทดทีคำถามเยอะไปหน่อย ผมเพิ่งเริ่มจาก ศูนย์ T_T

    มิได้เป็นการรบกวนแต่ประการใด ทุกคนใจดี

    ถามกันมาเยอะๆ เพื่อนๆที่เข้ามาอ่านจะได้ความรู้ตามไปด้วย

    ยังมีคนเก่งๆอีกหลายท่าน ที่ยังไม่ออกมา

    (รอสักครู่เดี๋ยวเขียนโปรแกรมมาให้ลองทดสอบ)

    ผมเข้าใจว่าท่านอยากให้เป็นแบบนี้ ใช่หรือไม่?

    'เวลาพิมพ์ข้อความจบ และทิ้งช่วงห่างประมาณ 3 วิ ให้ comment ข้อความที่พิมพ์ไว้ทั้งหมดออกมา'

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


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 06/06/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by l3adxl3oy 13/06/11, 11:29 pm

    ก็ไม่เชิงคับ ที่ผมต้องการก็ประมาณว่า มี inputbox ขึ้้นมาแล้วประมาณ 3 วิให้มันกด OK เองอัตโนมัติ
    แล้วส่วน ข้อความที่จะใส่ใน inputbox นั้นผมก็จะไปใส่เงื่อนไขทีหลังอีกทีอะคับ เนื่องจากถ้าไม่กด OK ข้อความนั้นๆมันจะไม่ถูกเก็บค่าใน inputbox ผมเข้าใจถูกไหมคับ
    newsak2005
    newsak2005
    ระงับสมาชิก
    ระงับสมาชิก


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 115
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/05/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by newsak2005 13/06/11, 11:55 pm

    l3adxl3oy พิมพ์ว่า:ก็ไม่เชิงคับ ที่ผมต้องการก็ประมาณว่า มี inputbox ขึ้้นมาแล้วประมาณ 3 วิให้มันกด OK เองอัตโนมัติ
    แล้วส่วน ข้อความที่จะใส่ใน inputbox นั้นผมก็จะไปใส่เงื่อนไขทีหลังอีกทีอะคับ เนื่องจากถ้าไม่กด OK ข้อความนั้นๆมันจะไม่ถูกเก็บค่าใน inputbox ผมเข้าใจถูกไหมคับ

    ลองกับโค๊ดนี้ดูก่อนก็แล้วกัน เดี๋ยวเขียนมาให้ทดลองอีกโปรแกรมนึง.

    Code:
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    $Form1 = GUICreate("Form1", 195, 98, -1, -1)
    $Input1 = GUICtrlCreateInput("", 48, 24, 129, 21)
    $Label1 = GUICtrlCreateLabel("Input:", 16, 24, 31, 17)
    $Label2 = GUICtrlCreateLabel("Output:", 16, 64, 39, 17, _
    BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    $Input2 = GUICtrlCreateInput("", 56, 64, 121, 21)
    GUISetState(@SW_SHOW)
    AdlibRegister('_Timer', 10000) ;delay 10.sec
    Do
    Sleep(10)
    Until GUIGetMsg() = -3

    Func _Timer()
       GUICtrlSetData($Input2, GUICtrlRead($Input1)) ;auto comment very 10.sec
    EndFunc
    ------------------------------------------------------------------------
    Use GUICtrlSetState() Focus to button and send enter.

    Code:
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    $title = 'Form1'
    $Form1 = GUICreate($title, 200, 150, -1, -1)
    WinSetOnTop($title, "", 1)
    $Input1 = GUICtrlCreateInput("", 48, 24, 129, 21)
    $Label1 = GUICtrlCreateLabel("Input:", 16, 24, 31, 17)
    $Label2 = GUICtrlCreateLabel("Output:", 10, 64, 39, 17, _
    BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    $Input2 = GUICtrlCreateInput("", 48, 64, 129, 21)
    $Button1 = GUICtrlCreateButton("OK", 20, 105, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Clear", 105, 105, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    WinWaitActive($Form1, "", 1)
    Send("T")
    Sleep(500)
    Send("h")
    Sleep(500)
    Send("e ")
    Sleep(500)
    Send("M")
    Sleep(500)
    Send("a")
    Sleep(500)
    Send("t")
    Sleep(500)
    Send("r")
    Sleep(500)
    Send("i")
    Sleep(500)
    Send("x ")
    Sleep(500)
    Send("b")
    Sleep(500)
    Send("y ")
    Sleep(500)
    Send("N")
    Sleep(500)
    Send("e")
    Sleep(500)
    Send("o")
    GUICtrlSetState($Button1, $GUI_FOCUS)
    Sleep(2000)
    Send("{ENTER}")

    Do
        $nMsg = GUIGetMsg()
        Switch $nMsg
          Case $Button1
             Sleep(2000)
             GUICtrlSetData($Input2, GUICtrlRead($Input1))
          Case $Button2
             GUICtrlSetData($Input1, '')
             GUICtrlSetData($Input2, GUICtrlRead($Input1))
       EndSwitch
    Until $nMsg = $GUI_EVENT_CLOSE




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


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 115
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/05/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by newsak2005 14/06/11, 12:07 am

    Input มี 2 แบบ GUI Control Input กับ ActiveX Input ..ไม่รู้ว่าท่านต้องการใช้อันไหน?
    avatar
    l3adxl3oy
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 06/06/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by l3adxl3oy 14/06/11, 12:12 am

    คับผมขอลองดูก่อนนะคับ ถ้ายังไงก็ขอบคุณมากคับที่เสียเวลามา
    avatar
    l3adxl3oy
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 11
    ความนิยม : 0
    เข้าร่วมเมื่อ : 06/06/2011

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by l3adxl3oy 14/06/11, 03:22 am

    ได้แล้วคับผม รู้สึกว่าอันล่าสุดจะเข้าทางมากกว่าคับ ขอบคุณมากคับ ถ้าไงเดี๋ยวถามอีก ยังไม่อีกเยอะคับที่ผมไม่รู้ ขอฝากเนื้อฝากตัวด้วยเลยละกันครับ ^_^
    POS
    POS
    PSsix
    PSsix


    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ Empty Re: มือใหม่หัดเขียน มีปัญหานิดหน่อยคับ

    ตั้งหัวข้อ by POS 14/06/11, 10:00 am

    ผมอ่านดูเข้าใจคำถามแรก แต่คำถามที่ 2 ค่อนข้างคลุมเครือมาก สำหรับวิธีการในคำถามแรก เพิ่มคำสั่งเข้าไป 3 บรรทัด นำไปใช้กับ GUI แบบไหนก็ตาม(อ้างอิงจากการสร้าง GUI ในหนังสือ)

    Code:
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 304, 122, 192, 124)
    $Button1 = GUICtrlCreateButton("Button1", 160, 24, 75, 25)
    $Input1 = GUICtrlCreateInput("", 16, 24, 113, 21)
    $Label1 = GUICtrlCreateLabel("", 16, 56, 105, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    $text="";เพิ่ม

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit
           Case $Button1
             MsgBox(0,GUICtrlRead ($Input1),GUICtrlRead ($Input1))

        EndSwitch
                   if $text <> GUICtrlRead ($Input1) then GUICtrlSetData ($Label1, GUICtrlRead ($Input1)) ;เพิ่ม
    $text= GUICtrlRead ($Input1) ;เพิ่ม
    WEnd


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