เนื่องจาก Source Code บางตัว สุ่มเสี่ยงต่อการนำไปใช้ในทางที่ผิด
หากดาวน์โหลดไม่ได้ ติดต่อเข้ามาทาง Inbox ที่เฟซบุ๊คผมแทนน่ะครับ
เฟซบุ๊คเว็บมาสเตอร์

หน้าหลัก
ข่าวสาร - บทความ ทั้งหมด
VB 6/VB.Net
ASP/ASP.Net
จับฉ่ายคอมพิวเตอร์
เรียนรู้ผ่าน Flash Movie
บทความที่มีผู้ตอบล่าสุด  
 RSS Feeds
 ดาวน์โหลดโปรแกรม RSS Reader ได้ที่นี่ ...   Download โปรแกรม RSS Reader

กระดานข่าวสาร เว็บบอร์ด - www.g2gnet.com
ดาวน์โหลดฟรีโปรแกรม และ Free Souce Code ได้ที่นี่ ...
รู้จักกับเว็บมาสเตอร์ - www.g2gnet.com
::: โปรแกรมมาใหม่ :::
โปรแกรมพิมพ์สติ๊กเกอร์บาร์โค้ด - Barcode Sticker
โปรแกรมพิมพ์สติ๊กเกอร์บาร์โค้ด - Barcode Sticker
โปรแกรมไปรษณีย์ และ จุดชำระค่าบริการ (iPayPost Software)
โปรแกรมไปรษณีย์ และ จุดชำระค่าบริการ
โปรแกรมจุดรับชำระค่าบริการ (iPayLite Software)
โปรแกรมจุดรับชำระค่าบริการ
::: BarcodeSoft :::
::: Printing :::
โปรแกรมพิมพ์รหัสบาร์โค้ด - BarcodeSoft Printing
โปรแกรมรหัสไปรษณีย์ทั่วไทย
::: G2GNet PostCode :::
!!!!! แจกฟรี !!!!!
ดาวน์โหลดโปรแกรมรหัสไปรษณีย์ทั่วไทย G2GNet PostCode Thailand
Visitors - Session views
 3 6 4 3 5 8 1

7 ธันวาคม พ.ศ.2549
94 Users On-Line.
Visitors - Page views
 6 3 7 2 6 6 5
1 กุมภาพันธ์ พ.ศ.2551

Google   
เว็บ g2gnet.com
ขนาดตัวอักษร:  
    ดาวน์โหลด และ แนะนำวิธีการติดตั้ง Active Report Professional 2.0
    แจกฟรี Source Code โปรแกรมขายสินค้า - Point Of Sale (โดย เว็บมาสเตอร์-ทองก้อน
    แจกฟรี Source Code การพิมพ์ใบกำกับภาษี - Active Report 2.0 (โดย ctx-9000@hotmail.com)
    SourceCode การดึงข้อมูลมาแสดงผลลงใน SharpGrid (โดย dos_network@hotmail.com)
    แจกฟรี Source Code VB6+Access โปรแกรมฐานข้อมูลครุภัณฑ์
    แจกโปรแกรมดูทีวี ดูหนัง ฟังวิทยุ ฟังเพลงออนไลน์ - G2GnetTV On Line ... ฟรีๆๆๆๆ
          ข้อมูลสถานี/รายการ (XML)  ข้อมูลสถานี/รายการ (HTML)
โปรแกรมระบบบัญชี Profit - Account

โปรแกรมสุ่มตัวเลขจำนวนเต็มแบบไม่ให้ซ้ำกันเลย - Random Number

Category »  VB 6/VB.Net
โดย : Webmaster เมื่อ 6/8/2550 23:59:00
(อ่าน : 69212)/(ตอบ : 23)  ข้อคิดเห็น   |   พิมพ์   |  

อันที่จริงอัลกอริทึมตัวนี้ เดิมผมกะจะมานำเสนอในการทำ CAI (Computer Assisted Instruction) ด้วยโปรแกรม MS Visual Basic 6.0 โดยทำ ...

  1. แบบฝึกหัดการสุ่มตัวเลขออกมา เพื่อให้เด็กๆได้ทำการ + - * / (อันนี้รอบหน้าครับ เตรียมไว้แล้ว แต่ยังขาดคำอธิบายไป)
  2. โปรแกรมทำการสุ่มข้อสอบ (ของเดิมที่ทำไว้สมบูรณ์แบบมันเป็น DAO)
ซึ่งเรื่องนี้มีน้องๆที่กำลังทำโปรเจคการทำข้อสอบแบบสุ่ม (สงสัยเป็นโปรเจค 1000 ปีมั้ง) ได้ขอกันเข้ามาพอดี้พอดี และพอดี (อีกนั่นแหละ) ที่น้องๆเขาก็เป็นผู้หญิงทั้งนั้นด้วย เอ้า ประเดี๋ยวจะหาว่าผมเนี่ยใจจืด ใจดำ ไม่สงสารเด็กๆน้องๆ ตาดำๆเขา มันจะบาปกรรมซ่ะเปล่าน่ะ ... อิอิอิ ... อัลกอริทึมตัวนี้น่ะครับต้นฉบับเป็นของ Professor ชาวต่างชาติท่านนึง (น่าจะเป็น UK น่ะหากผมจำไม่ผิด) ซึ่งผมได้มาจากหนังสือ Visual Basic 3.0 ก็คิดดูแล้วกันว่ามันกี่ปีมาแล้วครับ ... พี่น้อง ... หนังสือเล่มไหนของผมที่ว่าดีๆมักจะถูก "ขอลืม" ไปเสมอแหละครับ รวมถึงเล่มนี้ด้วย ซึ่งในเวลานั้นผมก็พอที่จะไล่อัลกอริทึมตัวนี้ได้พอสมควร เพราะมีข้อมูลที่เป็นเอกสารประกอบด้วย แต่ตอนนี้บอกกันตรงๆ ... ไม่รู้เรื่องครับ อธิบายไม่ได้ แต่รู้วิธีการนำมาใช้งาน ...
เอาสำหรับเท่าที่จำได้ว่า หลักการของมันก็คือกำหนดค่าเริ่มต้น (Initialize) ของวันที่ กับ เวลาของ Timer หรือ นาฬิการะบบ ในแต่ละวันมาทำการสุ่ม (Random) เนี่ย ทำยังไงๆก็ไม่มีทางซ้ำกันได้เลย โดยใช้ฟังค์ชั่น RandShuffle(key$) ตัวนี้แหละครับนำร่องมาก่อน จำได้แค่นี้จริงๆครับ ... เหอๆๆๆๆ

 

   ดาวน์โหลด Source Code สำหรับ MS Visual Basic 6.0 - Service Pack 6

ผลลัพธ์จากการรันโปรแกรม รับรองครับไม่มีพลาด
ลองคิดดูเอาแล้วกันว่าหากสลับตัวเลข 1-100 จะมีความเป็นไปได้ในการจัดเรียงมากน้อยแค่ไหน
ตัวเลขที่สุ่ม = Int((ค่าสูงสุด - ค่าต่ำสุด + 1) * Rnd + ค่าต่ำสุด) แบบนี้ใช้ไม่ได้เลยครับ
ในครั้งกระโน้นผมลองทำมาหลายวิธี แต่ทุกครั้งจะพบกับการ LOOP แบบ Dead Lock เสมอ

สำหรับน้องๆครับ การทำโปรแกรมสุ่มข้อสอบนั้นหัวใจสำคัญที่สุดมันก็คือเรื่องนี้แหละครับ ส่วนเรื่องของฐานข้อมูลนั้นมันกลายเป็นเรื่องเด็กๆไปเลย

ส่วนประกาศไว้ใน Module


'Array of long integers for generating all random numbers
Dim r&(1 To 100)

Function Rand&()
    'Get pointers into table
    i% = r&(98)
    j% = r&(99)
    
    'Subtract the two table values
    t& = r&(i%) - r&(j%)
    
    'Adjust result if less than zero
    If t& < 0 Then
        t& = t& + 1000000000
    End If
    
    'Replace table entry with new random number
    r&(i%) = t&
    
    'Decrement first index, keeping in range 1 through 55
    If i% > 1 Then
        r&(98) = i% - 1
    Else
        r&(98) = 55
    End If
    
    'Decrement second index, keeping in range 1 through 55
    If j% > 1 Then
        r&(99) = j% - 1
    Else
        r&(99) = 55
    End If
    
    'Use last random number to index into shuffle table
    i% = r&(100) Mod 42 + 56
    
   'Grab random number from table as current random number
   r&(100) = r&(i%)
    
    'Put new calculated random number into table
    r&(i%) = t&
    
    'Return random number grabbed from table
    Rand& = r&(100)
End Function

Function RandInteger%(a%, b%)
    RandInteger% = a% + (Rand&() Mod (b% - a% + 1))
End Function

Sub RandShuffle(key$)
    'Form 97-character string, with key$ as part of it
    tmp$ = Left$("Abracadabra" + key$ + Space$(86), 97)
    
    'Use each character to seed table
    For i% = 1 To 97
        r&(i%) = Asc(Mid$(tmp$, i%, 1)) * 8171717 + i% * 997&
    Next i%
    
    'Preserve string space
    tmp$ = ""
    
    'Initialize pointers into table
    i% = 97
    j% = 12
    
    'Randomize table to get it warmed up
    For k% = 1 To 997
        
        'Subtract entries pointed to by i% and j%
        r&(i%) = r&(i%) - r&(j%)
        
        'Adjust result if less than zero
        If r&(i%) < 0 Then
            r&(i%) = r&(i%) + 1000000000
        End If
        
        'Decrement first index, keeping in range 1 through 97
        If i% > 1 Then
            i% = i% - 1
        Else
            i% = 97
        End If
        
        'Decrement second index, keeping in range 1 through 97
        If j% > 1 Then
            j% = j% - 1
        Else
            j% = 97
        End If
        
        Next k%
        
        'Initialize pointers for use by Rand& function
        r&(98) = 55
        r&(99) = 24
        
        'Initialize pointer for shuffle table lookup by Rand& function
        r&(100) = 77
End Sub

โค้ดตัวอย่าง (จริงๆ) ในการเรียกใช้งาน


Option Explicit

Dim MAXNUM As Integer   ' จำนวนตัวเลขสูงสุด
Dim Flag()
Dim TempRandom()          ' เก็บไว้ทดสอบไม่ให้มีค่าซ้ำ
Dim TempRandomAll()     ' สุ่มตัวเลขออกมาทั้งหมด
Dim blnFlag As Boolean

Private Sub Form_Load()
    txtRandom.Text = ""
    txtMax = ""
End Sub

Private Sub cmdRandom_Click()
If Trim(txtMax.Text) = "" Or Len(Trim(txtMax.Text)) = 0 Then Exit Sub
    MAXNUM = txtMax.Text
    
    ' สุ่มค่าเริ่มต้นก่อน
    RandShuffle Date$ + Time$ + Str$(Timer)
    '
    Call RandomNew
    
    ' อันนี้ไม่มีอะไรครับ เลื่อนตำแหน่งตามการแสดงผลของ TextBox เท่านั้นเอง
    txtRandom.SetFocus
    SendKeys "^{End}"
End Sub

Private Sub Timer1_Timer()
Dim k As Variant
Dim n As Integer
Dim i As Integer, j As Integer
ReDim Flag(MAXNUM)
ReDim TempRandom(MAXNUM)
ReDim TempRandomAll(MAXNUM)

    ' ตรวจสอบทุกครั้งที่มีการสุ่ม
    For i = 1 To MAXNUM
        ' Flag is True if already random and fix Vaule
        If Flag(i) = False Then
            'Generate unique number
            Do
                'Generate any number in range
                n = RandInteger(1, MAXNUM)
        
                'Previously grabbed?
                blnFlag = True
                For j = 1 To i
                    k = TempRandomAll(j)
                    If j < i And n = k Then
                        blnFlag = False
                        Exit For
                    End If
                Next
            
                'Grab only if number is unique
                If blnFlag = True Then
                    TempRandom(i) = n
                    TempRandomAll(i) = n
                End If
            Loop Until blnFlag = True
        End If
    Next
End Sub

Sub RandomNew()
Dim i As Integer
ReDim TempRandom(MAXNUM)
    ' Trig Timer
    Timer1_Timer
    
    ' ส่วนนี้แหละครับที่นำไปใช้งานได้เลย
    For i = 1 To MAXNUM
        txtRandom.Text = txtRandom.Text & " " & TempRandomAll(i)
    Next i
    
    ' นำไปแสดงผลใน TextBox
    txtRandom.Text = txtRandom.Text & vbCrLf
End Sub

Private Sub cmdExit_Click()
    End
End Sub

Private Sub txtRandom_KeyPress(KeyAscii As Integer)
    ' ไม่รับการกดคีย์ใดๆ
    KeyAscii = 0
End Sub

Private Sub txtMax_KeyPress(KeyAscii As Integer)
    KeyAscii = CheckDigitOnly(KeyAscii)
End Sub

' ฟังค์ชั่นตรวจการกดคีย์ให้รับค่าเฉพาะตัวเลขเท่านั้น
Function CheckDigitOnly(Index As Integer) As Integer
    Select Case Index
        Case 48 To 57 ' 0 - 9
        Case 8            ' Back Space
        Case 13         ' Enter
        Case Else
            Index = 0
    End Select
    CheckDigitOnly = Index
End Function

ร่วมแสดงความคิดเห็น

[ความเห็นที่:  1] จากคุณ : สุวิทย์ เมื่อ 7/8/2550 15:15:21  IP: 203.113.61.36

ผมเข้ามาดูทุกวันทำงาน ตอนนี้กำลังรวบรวมทุกบทความในนี้ ครับ เสร็จไป 10 บท
กำลังอ่านทบทวน

ถ้าเป็นไปได้ (จริง ๆ ไม่อยากขอให้ทำอะไรให้เพราะที่ webmasterทำก็สุดยอดแล้ว)
แต่เพื่ออุดมการณ์ คนอยากรู้ ครับ   
   อยากให้ เริ่มจากแนะนำ vb 6.0 ไปเลยได้ป่าวครับ (แต่ไม่ต้องละเอียดมากก็ได้ เพราะบางคน อ่านมาก็จริงครับ ยิ่งอ่านหลายเล่มยิ่ง งง..) อาจเน้นไปยังพวก โคต เช่น ตัวนี้ใช้ทำอะไร ถ้าหากเหตุการณ์แบบนี้ น่าจะใช้ตัวนี้ดีกว่า ตัวนี้ ดีกว่า เหมาะสมกว่า  ในส่วนนี้น่าจะทำเป็นฟังชั่น... เป็นโมดูล  เพราะอย่างนี้  รับรองครับ บรรเจิด 

[ความเห็นที่:  2] จากคุณ : Webmaster เมื่อ 8/8/2550 6:18:56  IP: 222.123.226.207

แหม ... ได้คืบก็จะเอาศอกเลยเชียวน่ะครับ หากทำอย่างที่ว่ามานี่ก็โอเคครับ คือ ใจมันก็อยากทำ แต่เวลามันไม่ได้เอื้ออำนวยให้ ขืนมานั่งทำแบบนี้ แล้วผมจะเอาอะไรกินครับ อย่าลืมน่ะครับว่าผมเป็น Freelance ไม่ได้เป็นมนุษย์เงินเดือน ส่วนบทความต่างๆที่นำเสนอมา จริงๆก็เน้นไปที่คนที่พอจะเป็นทั้ง VB+DataBase มาบ้างครับ ผมเพียงแค่ต้องการนำเสนอแนวทาง (Concept) อีกแนวทางหนึ่ง ที่ไม่เหมือนชาวบ้านชาวช่องเขา (หากเหมือนคนอื่น ก็ไม่รู้จะทำไปทำไม) ซึ่งบางส่วนมาจาก
1. รวบรวมไว้ตอนสอนผู้คนที่เขามา "ขอ" เรียนกับผม
2. มันเป็นไปตามสัณชาตญาณที่เคยทำมา  นึกอะไรไว้ก็พิมพ์ออกมาทันที แบบนี้ก็เลยง่ายหน่อย เพราะผมก็ไม่ค่อยเน้นที่ทฤษฎี จะเป็น HOW TO and DO IT

ตอนหลังๆมา ผมเองพยายามที่จะบอกทุกๆท่านถึงแนวทางการเรียนรู้ของผม คือ ใช้ทฤษฎีหน่อยๆ แล้วปฏิบัติมากๆ จากปฏิบัติมันจะย้อนกลับมาหาทฤษฎีหรือกฏเกณฑ์เอง

ซึ่งขอเรียนให้ทราบอีกอย่างน่ะครับว่า ผมไม่ได้เรียน VB หรือ ระบบฐานข้อมูลมาเลย แม้กระทั่งจบ ป.ตรีมาเนี่ย ส่วนที่เอามานำเสนอนี่ผมใช้วุฒิ ปวส. สายช่างอิเล็กทรอนิกส์น่ะครับผม  

[ความเห็นที่:  3] จากคุณ : สุวิทย์ เมื่อ 8/8/2550 14:21:26  IP: 203.113.61.40

ครับ ขอบคุณครับที่มาตอบ อิอิ 
พอสรุปได้ว่า webmaster ไม่ได้ทิ้งผู้อ่าน
เหมือนเคยครับ วันนี้มาอ่าน แล้ว... คราบบบ

จริง ๆ ก็ถามไว้เผื่อคนอื่นมาอ่านอะครับ (แก้ตัวน้ำใส ๆ ) 
เอาเป็นว่ามาลงความเห็นให้กำลังใจ เจ้าของเวป ไปด้วย
รับรองเห็นผมมาด้อม ๆ มอง ๆในเวปนี้ เรื่อย ๆ จนกว่า ผมจะเก่งหรือ webmaste จะเลิกไปเลย 5555555  

นิด ๆ ยังยืนยันคำเดิม อิอิ 
web master จงเจริญ (ถ้าไม่ติดเข้าพรรษา จะโอนเงินค่าเบียให้สัก 3 ขวด)

รออ่านบทความดี ๆ อยู่นะครับ



[ความเห็นที่:  4] จากคุณ : สุวิทย์ เมื่อ 15/8/2550 13:27:42  IP: 203.113.61.36

รอ แล้วก็ รอ 

[ความเห็นที่:  5] จากคุณ : pepsi ค่ะ เมื่อ 26/8/2550 16:02:02  IP: 203.170.235.10

หนูอยากได้ code สุ่มตัวเลข 1-9 ค่ะ ของ vb2005  อาจารย์เขาไม่ให้ใช้ฟังก์ชั่น Rnd() คะ
ช่วยส่งมาให้หนูหน่อยคะ จะส่งานแล้วคะ ขอบคูณคะ

[ความเห็นที่:  6] จากคุณ : ทองก้อน เมื่อ 27/8/2550 13:08:51

โอ้โห ... น้องครับ ตัวอย่างที่นำมาให้ดูนี่เป็นอัลกอริทึมที่หายากครับ ไว้เพื่อศึกษาไล่การทำงานของมัน เพราะมันมีความเร็วและความแม่นยำสูงมากในการสุ่มตัวเลข และก็ไม่ได้ใช้ฟังค์ชั่นการสุ่ม Ran() อย่างที่น้องต้องการตรงเผงเลย ที่เห็น Rand(), RandShuffle() และ RandInteger() พวกนี้เป็นฟังค์ชั่นที่ถูกสร้างขึ้นมาใหม่น่ะขอรับกระผม ...

ฟังค์ชั่น หรือ คำสั่ง --> RandShuffle Date$ + Time$ + Str$(Timer) นี่แหละที่นำมาใช้แทนการ Randomize เมื่อดูปั๊บก็รู้แล้วว่าเอาวันที่+เวลา มาเรียงต่อกัน ซึ่งแน่นอนว่าไม่มีทางที่จะมีค่าเริ่มต้นซ้ำกันได้เลย (แม้แต่ครั้งเดียว)

หลักๆ Algorithm นี้เราจะไม่เปลี่ยน ไม่ว่าจะนำไปใช้กับภาษาใดๆก็ตามที จะเปลี่ยนก็แค่ชนิดตัวแปร รูปแบบ (Syntax) และ คำสั่ง แต่หากเป็น VB 2005 นี่ก็ง่ายหน่อย
1. ประกาศตัวแปร (Declaration) ใหม่
2. เปลี่ยนฟังค์ชั่นการใช้งานบางตัวที่ VB6 มี แต่ VB 2005 ไม่มี โดยการเทียบเคียงจากคำสั่งเอา (ดูได้จากตอนเกิด Syntax Error)
3. ปรับการเรียกใช้เวลา (Timer) เพราะใน VB6 ไม่มี Parameter ส่วน VB 2005 มีการส่งค่าไปดูได้จากเหตุการณ์ Timer1_Timer (VB6) กับ Timer1_Tick(Parameter)

หากยังแก้ไขไม่ได้ ก็แสดงว่าน้องยังไม่เข้าใจภาษาโปรแกรมที่กำลังเรียนรู้อยู่เลย ...

[ความเห็นที่:  7] จากคุณ : No name เมื่อ 31/8/2550 9:55:24  IP: 58.10.24.193

อยากทราบแนวทางการเขียนโปรแกรม ติดต่อฐานข้อมูลแบบ Client/Server ครับว่าจะเขียนCode ในการ Connect ยังไง
รบกวนท่านผู้รู้ด้วยครับ 

[ความเห็นที่:  8] จากคุณ : aom เมื่อ 21/12/2550 15:41:39  IP: 203.158.225.19

อยากทราบวิธีการส่งไฟล์โดยการเรียกไฟล์จากฐานข้อมูล SQL SERVER ไปยังเครื่อง Client ประมาณ 20 เครื่อง อะคะ ใช้ VB 6.0 ค่ะ รบกวนใครทราบ ช่วยแนะนำหน่อยค่ะ ขอบคุณมากมาย 

[ความเห็นที่:  9] จากคุณ : น้องนัท เมื่อ 29/2/2551 13:11:53  IP: 202.91.18.204

ขอบคุณมากเลยสำหรับโค้ด นัทหามาตั้งนาน เพิ่งเจอ ขอบคุณจริงๆคะ

[ความเห็นที่:  10] จากคุณ : THE K เมื่อ 3/6/2551 11:31:50  IP: 124.121.195.143

สูด ยอด

[ความเห็นที่:  11] จากคุณ : club xiah เมื่อ 25/8/2551 14:28:59  IP: 203.172.163.195

อยากทราบว่าถ้าให้รัน แล้วกดปุ่มหยุดแล้วก็ขึ้นข้อความข้อความ ตามหมายเลขที่หยุด  ใช้แบบไหน  ช่วยอธิบายให้เข้าใจทีเพราะไม่รู้เรื่องที่เขียนมาเลย  ไม่รู้จะใช้ยังไงเพิ่งเรียน   ขอบคุณมากๆๆๆๆๆๆๆๆๆๆๆๆๆๆ

[ความเห็นที่:  12] จากคุณ : Vommercy เมื่อ 23/9/2551 11:06:19  IP: 202.29.60.222

โปรแกรมนี้ใช้สุ่มตัวเลขได้สูงสุดถึง 100 ใช้ไหมครับ ถ้าต้องการให้มันสุ่มเกิน 100 อ่ะครับได้ป่าว ขอความเห็นด้วยครับ ขอบคุณครับ

[ความเห็นที่:  13] จากคุณ : แชมป์ เมื่อ 1/3/2553 18:51:18  IP: 202.28.201.38

ขอบคัณครับ

[ความเห็นที่:  14] จากคุณ : goog เมื่อ 19/5/2553 17:29:07  IP: 192.168.4.103

ขออีกเมล์หน่อยคับ

[ความเห็นที่:  15] จากคุณ : cis เมื่อ 3/6/2553 17:00:36  IP: 117.47.94.11

ช่วยเขียนโปรแกรมภาษาอะไรก็ได้ แสดงค่าตัวเลข1-100 ให้ดูหน่อยค่ะ
ของคุณมาก คุณเก่งมาก

[ความเห็นที่:  16] จากคุณ : ปรัชญา เมื่อ 6/9/2554 9:23:40  IP: 182.52.146.186

ใช้ไม่เป็นและหหาไม่เจอ

[ความเห็นที่:  17] จากคุณ : รัตนาวดี เมื่อ 6/9/2554 9:26:11  IP: 182.52.146.186

คิดไม่ออก

[ความเห็นที่:  18] จากคุณ : รพีพร เมื่อ 6/9/2554 9:27:10  IP: 182.52.146.186

ชอบแต่หาไม่เจอ

[ความเห็นที่:  19] จากคุณ : สมชาย เมื่อ 6/9/2554 9:28:33  IP: 182.52.146.186

ชอบมากครับแต่ใช้ไม่เป็น

[ความเห็นที่:  20] จากคุณ : บลา ๆ เมื่อ 23/11/2554 21:04:53  IP: 113.53.198.121

พอดีพรุ่งนี้จะไป แข่งคณิตศาสตร์  เพิ่งเข้ามาเจอโปรแกรมนี้  เฮ้อ เซงงงง

[ความเห็นที่:  21] จากคุณ : earth เมื่อ 1/12/2554 19:06:34  IP: 110.49.248.119

สุดยอด

[ความเห็นที่:  22] จากคุณ : nai เมื่อ 15/7/2555 11:28:39  IP: 182.52.84.91

การแข่งgspนี้ใครมีความสามารถก็ทำได้

[ความเห็นที่:  23] จากคุณ : ชิต เมื่อ 25/7/2555 14:04:31  IP: 180.183.24.182

ขอบคุณครับ
ชิต


ก่อนการคลิ๊กโพสต์ข้อความ ขอความกรุณาใช้ถ้อยคำที่สุภาพด้วยครับ เว็บไซต์แห่งนี้เป็นแหล่งเผยแพร่ความรู้ ดังนั้นสำหรับท่านที่พยายามจะป่วนเว็บไซต์ หากท่านเป็น "คนไทย" เช่นเดียวกันกับผม ก็ขอความกรุณาได้โปรดเห็นใจ "คนไทย" อีกจำนวนไม่น้อย ที่เข้ามาขอความช่วยเหลือ จากเว็บไซต์ของผมด้วยน่ะครับ และหากท่านใดไม่เข้าใจในตรงจุดไหน ก็ขอให้ระบุสิ่งที่อยากจะถามออกมา บทความของผมแทบทั้งหมดต้องอาศัยทักษะการปฏิบัติเป็นหลัก ดังนั้นขอให้ดู และ ทดสอบจากโค้ดโปรแกรมประกอบตามไปด้วย
IP Address: 54.166.39.179
ชื่อของคุณ:

ข้อคิดเห็น:

5 + 3 = ?  (กรุณาป้อนคำตอบลงในช่องด้านล่างให้เป็น ภาษาไทย ตามผลบวกของตัวเลขให้ถูกต้องก่อนด้วยน่ะครับ เช่น ศูนย์)
  


จี ทู จี เน็ต ดอต คอม - g2gNet Dot Com
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์ 0407314800231
Copyright © 2005 g2gNet.Com All rights reserved.
Email: thongkorn@hotmail.com หรือ โทร. 08-6862-6560