ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingใครเก่ง vb6 เชิญทางนี้หน่อยครับ เกี่ยวกับ sub
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ใครเก่ง vb6 เชิญทางนี้หน่อยครับ เกี่ยวกับ sub  (อ่าน 1393 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
rokaisakkon
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 459



ดูรายละเอียด
« เมื่อ: 23 มกราคม 2013, 14:44:07 »

คือผม ลองใช้ for  สร้าง commandbutton   มาสัก 10

ทีนี้  ผมจะ for  สร้าง  sub  อีกได้ไหมครับ  คือ คำสั่งมันก็ คล้าย ๆ กันอะครับ

ถ้าจะให้พิมพืเนี่ย มันเยอะไปอะครับ เพราะ  จำเป็นต้องใช้   30  กว่าปุ่ม ตาลายเลยครับ


ขอบคุณ ครับ
« แก้ไขครั้งสุดท้าย: 23 มกราคม 2013, 14:45:58 โดย rokaisakkon » บันทึกการเข้า

#วงการฟรีแลนซ์มันโหดน่ะครับ
ikarozu
ก๊วนเสียว
*

พลังน้ำใจ: 13
ออฟไลน์ ออฟไลน์

กระทู้: 300



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 23 มกราคม 2013, 14:48:15 »

สร้าง function อันเดียวให้สามารถเรียกใช้กี่ครั้งก็ได้ครับ (เป็นหลักการของ function อยู่แล้ว)

เขียนโค้ดคล้ายๆ กันซ้ำๆ ก็เป็น duplicate สิครับ
บันทึกการเข้า

rokaisakkon
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 459



ดูรายละเอียด
« ตอบ #2 เมื่อ: 23 มกราคม 2013, 14:53:01 »

สร้าง function อันเดียวให้สามารถเรียกใช้กี่ครั้งก็ได้ครับ (เป็นหลักการของ function อยู่แล้ว)

เขียนโค้ดคล้ายๆ กันซ้ำๆ ก็เป็น duplicate สิครับ

คือผมจะ ใส่โค้ด  ตอนเกิด อีเว้น คลิกของ commandbutton  ที่  for มานะครับ

แล้วจะเอา function ไปใส่ตรงไหน อะครับ

ขอบคุณครับ
บันทึกการเข้า

#วงการฟรีแลนซ์มันโหดน่ะครับ
ikarozu
ก๊วนเสียว
*

พลังน้ำใจ: 13
ออฟไลน์ ออฟไลน์

กระทู้: 300



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 23 มกราคม 2013, 15:14:56 »

ลองสร้าง Module แล้วเขียน function ใน module นั้น

แล้วก็เรียกใช้ function ใน module จาก event ของปุ่มดูครับ
บันทึกการเข้า

c0untry-m@n
ก๊วนเสียว
*

พลังน้ำใจ: 27
ออฟไลน์ ออฟไลน์

กระทู้: 261



ดูรายละเอียด
« ตอบ #4 เมื่อ: 23 มกราคม 2013, 15:22:14 »

ผมว่าถ้าปุ่มจำนวน 30 ปุ่ม ตายตัว ก็สร้างไว้เลยดีกว่ามั้งครับ ไม่ต้องไปเขียนโค้ดสร้างปุ่ม
อีกทั้งจะกำหนด Event อะไรก็กำหนดง่ายด้วยครับ
ถ้าขี้เกียจพิมพ์ก็พิมพ์แค่ปุ่มเดียว Copy & Paste เปลี่ยนแค่ชื่อปุ่ม เพราะคำสั่งก็เรียกเหมือนกัน ตามที่ท่านบอก
ถึงแม้ปุ่มจะเหมือนกัน เรียกฟังก์ชั่นเดียวกัน ก็สามารถที่จะกำหนดได้ว่าให้แต่ละปุ่มส่งอะไรไปต่างกันได้ด้วย อยู่ที่ฟังก์ชั่นที่ท่านเขียนด้วยครับ
บันทึกการเข้า
ba5nanas
ก๊วนเสียว
*

พลังน้ำใจ: 29
ออฟไลน์ ออฟไลน์

กระทู้: 292



ดูรายละเอียด
« ตอบ #5 เมื่อ: 23 มกราคม 2013, 15:34:56 »

มันจะมี addcommand ตอน new create button ครับ

ลองดูผมเคยเล่นอยู่ ตอน add command ก็เลือกไป sub หรือ function ที่ต้องกรจะให้ทำงานครับ

แล้ว function นั้น คุณสามารถใส่ param ได้ด้วย  Shocked นั่นแหล่ะ คือ คำตอบ  Tongue แต่ข้อเสียคุณจะต้องสร้าง location ให้มันด้วยต้องกะเอาครับ
บันทึกการเข้า

Wordpress Developer High End

http://www.ba5nanas.com
rokaisakkon
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 459



ดูรายละเอียด
« ตอบ #6 เมื่อ: 23 มกราคม 2013, 17:34:52 »

ขอบคุณทุกท่าน มากครับ  : )   wanwan017
บันทึกการเข้า

#วงการฟรีแลนซ์มันโหดน่ะครับ
rokaisakkon
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 459



ดูรายละเอียด
« ตอบ #7 เมื่อ: 23 มกราคม 2013, 17:35:49 »

+1  ให้ทุกท่านครับ
บันทึกการเข้า

#วงการฟรีแลนซ์มันโหดน่ะครับ
Extra Cash
สมุนแก๊งเสียว
*

พลังน้ำใจ: 268
ออฟไลน์ ออฟไลน์

กระทู้: 631



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 23 มกราคม 2013, 19:53:52 »

เพื่อให้โค๊ดสั้น ส่วนมากผมจะสร้าง CommandButton Array ไว้ใน Form ก่อน 1 ตัว
ในตัวอย่างนี้ผมให้ชื่อ cmdButton โดยให้ Index = 0 และ Visible = 0
แล้วเขียน Sub cmdButton_Click ไว้เลย เช่น
โค๊ด:
Private Sub Form_Load()
    Dim i&
    For i = 1 To 30
        Load cmdButton(i)
        With cmdButton(i)
            .Left = cmdButton((i - 1) Mod 10).Left + .Width
            .Top = cmdButton(0).Top + .Height * Int((i - 1) \ 10)
            .Caption = "Button " & i
            .Visible = True
        End With
    Next
End Sub

Private Sub cmdButton_Click(Index As Integer)
    MsgBox cmdButton(Index).Caption
End Sub
บันทึกการเข้า

rokaisakkon
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 459



ดูรายละเอียด
« ตอบ #9 เมื่อ: 23 มกราคม 2013, 22:43:32 »

เพื่อให้โค๊ดสั้น ส่วนมากผมจะสร้าง CommandButton Array ไว้ใน Form ก่อน 1 ตัว
ในตัวอย่างนี้ผมให้ชื่อ cmdButton โดยให้ Index = 0 และ Visible = 0
แล้วเขียน Sub cmdButton_Click ไว้เลย เช่น
โค๊ด:
Private Sub Form_Load()
    Dim i&
    For i = 1 To 30
        Load cmdButton(i)
        With cmdButton(i)
            .Left = cmdButton((i - 1) Mod 10).Left + .Width
            .Top = cmdButton(0).Top + .Height * Int((i - 1) \ 10)
            .Caption = "Button " & i
            .Visible = True
        End With
    Next
End Sub

Private Sub cmdButton_Click(Index As Integer)
    MsgBox cmdButton(Index).Caption
End Sub

ใช่เลยครับผม  ขอบคุณมากครับ  ผมก็ ทำตามวิธีของท่าน ผม คิดมาตั้งนาน ทำยังงัยก็ไม่ได้  มาได้ ตอน ต้องสร้าง cmb  ไว้ ก่อน 1 ตัวโดย ตัวนั้น ต้องเป็น array

ขอบคุณอีกรอบครับ
บันทึกการเข้า

#วงการฟรีแลนซ์มันโหดน่ะครับ
หน้า: [1]   ขึ้นบน
พิมพ์