หน้าแรก
 การบ้าน
  C/C++ new
  Java new
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถามมาได้ตลอดนะ...
2015-07-29 13:35:58
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะ...
2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลอ...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต...
2012-12-16 19:18:14
  สนใจคะ ติดต่อ 0905076277...
2012-11-12 11:07:46
  รับทำโปรเจ็คนักศึกษาหรื...
2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  เขียนโปรแกรมภาษาจาวา
1.โ...

2023-09-12 11:40:28
  ต้องลอง debug ดูเองครับ
ไล่...

2023-06-08 18:03:06
  ร้านค้าแห่งหนึ่ง จะต้องน...
2021-09-21 08:47:08
  จงเขียนโปรแกรมดำเนินการ...
2021-05-07 15:06:11
  จงเขียนโปรแกรมสำหรับคำน...
2021-03-09 14:21:45
  ขอดู...
2021-01-04 23:56:45
  ขอโค้ดเพื่อทำการเรียนกา...
2020-12-09 23:02:09
  แล้ว ?...
2020-12-09 10:56:34
  จ้า...
2020-10-18 16:53:21
  พอดีผมเหลื่อแค่ตัดสต๊อก...
2020-05-31 21:49:43
  Homework comment
  เขียนโปรแกรมเพื่อรับค่า...
2022-02-24 10:45:17
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  โจทย์การบ้าน c++ เขียนรูปแ...
2020-04-06 11:01:33
  แบบนี้ขอเป็น ภาษา php หน่อย...
2019-09-18 14:36:34
  ผมไม่อยากให้คุณได้คะแนน...
2019-04-27 01:29:07
  อาจารย์เขาบอกแนวข้อสอบม...
2019-04-27 00:44:29
  ขอสอบถามการเขียน c++ ครับ เ...
2018-04-02 12:19:21
  โค้ดตัวอย่างศึกษาให้เข้...
2017-11-26 14:50:05
  คำนวณค่าน้ำโดยรับค่ามิเ...
2017-11-20 23:15:26
  Article comment
  เท่าที่อ่าน error คือพื้นที่...
2022-03-23 13:56:48
  เรียน สอบถามปัญหา กับ อ.คร...
2022-01-24 17:39:49
  ต้องการ ให้เขียน โปรแกรม ...
2019-12-09 11:39:58
  รับเขียน arx จาก vc++ 2017 ล็อคโปร...
2019-09-19 09:48:09
  ทำการ register ไฟล์ที่ชื่อ mswinsck.oc...
2019-09-17 14:05:56
  ใน vb 6 ไม่มี component winsock เลยค่ะ ส...
2019-09-03 10:31:02
  รบกวนขอสอบถามหน่อยนะครั...
2019-03-04 05:31:04
  สามารถนำตัวหนังสือจากภา...
2018-12-25 08:54:32
  มีcode ของ VB ไหมค่ะ ถ้ามีรบกว...
2017-09-28 16:50:02
  น่าจะได้ครับ ไม่เคยลอง
...

2017-07-11 09:59:35
  9Mcode comment

Link Exchange

อัตราค่าโฆษณา
 
 Webboard

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

กระทู้ #3515 [Vb] (จาก IP: 171.98.38.182)

ช่วยแปลงโค๊ด Console เป็น Windows Form ทีครับ VB2008

Imports System.Net.Sockets
Imports System.Text
Module Module1
Dim clientsList As New Hashtable
Sub Main()
Dim serverSocket As New TcpListener(1234)
Dim clientSocket As TcpClient
Dim infiniteCounter As Integer
Dim counter As Integer
serverSocket.Start()
msg("Chat Server Started ....")
counter = 0
infiniteCounter = 0
For infiniteCounter = 1 To 2
infiniteCounter = 1
counter += 1
clientSocket = serverSocket.AcceptTcpClient()

Dim bytesFrom(10024) As Byte
Dim dataFromClient As String

Dim networkStream As NetworkStream = _
clientSocket.GetStream()
networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize))
dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom)
dataFromClient = _
dataFromClient.Substring(0, dataFromClient.IndexOf("$"))

clientsList(dataFromClient) = clientSocket

broadcast(dataFromClient + " Joined ", dataFromClient, False)

msg(dataFromClient + " Joined chat room ")
Dim client As New handleClinet
client.startClient(clientSocket, dataFromClient, clientsList)
Next
clientSocket.Close()
serverSocket.Stop()
msg("exit")
Console.ReadLine()
End Sub

Sub msg(ByVal mesg As String)
mesg.Trim()
Console.WriteLine(" >> " + mesg)
End Sub
Private Sub broadcast(ByVal msg As String, ByVal uName As String, ByVal flag As Boolean)
Dim Item As DictionaryEntry
For Each Item In clientsList
Dim broadcastSocket As TcpClient
broadcastSocket = CType(Item.Value, TcpClient)
Dim broadcastStream As NetworkStream = _
broadcastSocket.GetStream()
Dim broadcastBytes As [Byte]()

If flag = True Then
broadcastBytes = Encoding.ASCII.GetBytes(uName + " says : " + msg)
Else
broadcastBytes = Encoding.ASCII.GetBytes(msg)
End If

broadcastStream.Write(broadcastBytes, 0, broadcastBytes.Length)
broadcastStream.Flush()
Next
End Sub

Public Class handleClinet
Dim clientSocket As TcpClient
Dim clNo As String
Dim clientsList As Hashtable

Public Sub startClient(ByVal inClientSocket As TcpClient, _
ByVal clineNo As String, ByVal cList As Hashtable)
Me.clientSocket = inClientSocket
Me.clNo = clineNo
Me.clientsList = cList
Dim ctThread As Threading.Thread = New Threading.Thread(AddressOf doChat)
ctThread.Start()
End Sub

Private Sub doChat()
Dim infiniteCounter As Integer
Dim requestCount As Integer
Dim bytesFrom(10024) As Byte
Dim dataFromClient As String
Dim sendBytes As [Byte]()
Dim serverResponse As String
Dim rCount As String
requestCount = 0
For infiniteCounter = 1 To 2
infiniteCounter = 1
Try
requestCount = requestCount + 1
Dim networkStream As NetworkStream = _
clientSocket.GetStream()
networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize))
dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom)
dataFromClient = _
dataFromClient.Substring(0, dataFromClient.IndexOf("$"))
msg("From client - " + clNo + " : " + dataFromClient)
rCount = Convert.ToString(requestCount)

broadcast(dataFromClient, clNo, True)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Next
End Sub

End Class
End Module


รบกวนด้วยครับผม
จากคุณ : นักเขียนโปรแกรมฝึกหัด [2014-07-04 20:36:20]  

101.108.26.112 ความคิดเห็น #29062 (จาก IP: 101.108.26.112)
"นักเขียนโปรแกรมฝึกหัด" ก็ควรหัดทำเองครับ

วิธีการคือเริ่มแกะจาก Sub main ว่าทำอะไรบ้าง เรียกใช้อะไรบ้าง
เมื่อรู้ว่าโค้ดส่วนไหนทำอะไร ต่อไปก็ทำการออกแบบหน้าตาของ Window Form แล้วกำหนดว่าเมื่อกด Control อะไรแล้วให้ทำ Event อะไร และไปเรียกโค้ดในส่วนใดให้ทำงาน

หลักการมีเท่านี้
จากคุณ : maddog [2014-07-05 02:57:40]

171.98.38.182 ความคิดเห็น #29063 (จาก IP: 171.98.38.182)
คุณ "maddog" ช่วยบอกหน่อยได้ไหมครับว่าส่วนไหนของโค๊ดที่ทำให้โปรแกรมออกมาเป็น console อะครับ
จากคุณ : นักเขียนโปรแกรมฝึกหัด [2014-07-05 11:08:07]

103.5.27.23 ความคิดเห็น #29064 (จาก IP: 103.5.27.23)
ถ้าคุณสร้าง Project เป็น console เวลาคุณ Run โปรแกรม ตัวโปรแกรมจะเริ่มทำงานที่ Sub Main()

ถ้าคุณสร้าง Project เป็น Windows form ก็จะเริ่มการทำงานที่ ฟอร์มที่เป็นฟอร์มหลัก (ถ้าคุณสร้างมาแรกๆจะมีฟอร์มเดียว)

ปัญหาของคุณคือ ต้องเข้าใจการทำงานของ console แล้วแปลงมาทำงานบน window form
จากคุณ : maddog [2014-07-05 15:23:59]

171.98.38.182 ความคิดเห็น #29065 (จาก IP: 171.98.38.182)
ช่วยอธิบายหน่อยได้ไหมครับ ผมงงตรง Byte มากเลย แล้วก็ พวก "System.Text.Encoding.ASCII.GetString" คือมันใช้ได้แต่บัน console หรือเปล่าครับ แล้วพวก
.Read มันทำหน้าที่อะไรแล้วเราจะใช้อะไรแทนมันได้ครับ สรุปทั้งหมดผมแค่ต้องการแปลงให้มันแสดงข้อความบนฟอร์มแทนการแสดงบน console เท่านั้นครับผม ถ้ากรุณาผมหน่อยช่วยอธิบายส่วนที่สำคัญคร่าวๆให้ผมหน่อยได้ไหมครับ จะเป็นพระคุณมากเลยครับ ผมพยายามนั่งแกะโค๊ดมา 3 วันแล้ว ตันจริงๆครับ
จากคุณ : นักเขียนโปรแกรมฝึกหัด [2014-07-05 18:01:06]

125.24.163.234 ความคิดเห็น #29066 (จาก IP: 125.24.163.234)
จากคำถามทำให้ผมทราบว่าพื้นฐานคุณไม่แน่นครับ แนะนำให้หาหนังสืออ่านเพิ่มเติมความรู้ครับ

"System.Text.Encoding.ASCII.GetString" ใช้ได้ตาม .net framework ดังต่อไปนี้
.NET Framework
Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
ข้อมูลจาก http://msdn.microsoft.com/en-us/library/744y86tc(v=vs.110).aspx

.read ใช้อ่านข้อมูลจาก network คุณถามว่า "จะใช้อะไรแทน" ?? ก็แค่เค้าไปดูว่า ต้องสร้าง project ให้รองรับ .net รุ่นใดบ้างถึงจะรองรับ ลองศึกษาข้อมูลนี้ ดู http://msdn.microsoft.com/en-us/library/system.net.sockets.networkstream.read.aspx


Console.WriteLine(" >> " + mesg) คุณก็เปลี่ยนไปใช้เป็น MessageBox.Show(" >> " + mesg)
จากคุณ : maddog [2014-07-05 23:51:38]

103.5.27.65 ความคิดเห็น #29067 (จาก IP: 103.5.27.65)
อีกสิ่งนึงที่ผม แอะใจก็คือ โค้ดที่คุณให้มานั้นอยู่ใน Module Module1 .... ซึ่งถ้าให้ผมเดา คุณแค่ new project เป็นแบบ windows แล้วทำการ new module เข้ามา แล้วก็ ก๊อบโค้ดนี้ไปใส่

จากนั้นก็ลองเขียนโค้ดจากส่วนของ windows มาลองเรียกใช้ function และ methode ดูว่า สามารถเรียกใช้งานได้ไหม๊

ลองดูครับ
จากคุณ : maddog [2014-07-06 15:24:19]

171.98.38.182 ความคิดเห็น #29068 (จาก IP: 171.98.38.182)
โค๊ดนี้เป็นโค๊ด Chat Server ครับ ผมลองพยายามดูแล้ว Client สามารถสื่อสารกันได้ และ Console ไม่ขึ้นมา Windows Form ขึ้น Not Responding ทำไรไม่ได้เลย แต่ Client สื่อสารผ่าน Server ได้ปกติ ผมลองแกะดูทีละบรรทัดแล้ว ถ้าไม่ผิดพบว่าโค๊ดใน Sub Main อะครับ ที่ทำให้ Windows Form ค้างแล้วก็ขึ้น Not Responding แล้วก็ผมขอถามนิดนึงครับว่าโค๊ดเนี่ย<br><br>Private Sub broadcast(ByVal msg As String, ByVal uName As String, ByVal flag As Boolean)<br><br>Dim Item As DictionaryEntry<br>For Each Item In clientsList<br>Dim broadcastSocket As TcpClient<br>broadcastSocket = CType(Item.Value, TcpClient)<br>Dim broadcastStream As NetworkStream = _<br>broadcastSocket.GetStream()<br>Dim broadcastBytes As [Byte]()<br><br>If flag = True Then<br>broadcastBytes = Encoding.ASCII.GetBytes(uName + \
จากคุณ : นักเขียนโปรแกรมฝึกหัด [2014-07-06 19:50:58]

171.98.38.182 ความคิดเห็น #29069 (จาก IP: 171.98.38.182)
จากโค๊ดข้างบน อาจจะดูไม่รู้เรื่องนะครับเอาเป็นว่าโค๊ดตรง Private Sub broadcast อะครับ ผมเข้าใจว่ามันน่าจะเป็นโค๊ดที่รับข้อความจากทางฝั่ง Client มาแสดงบน Console Server นะครับ แล้วทีนี้ผมจะทำยังไงให้มัน แสดงข้อความบน TextBox ดีครับ
จากคุณ : นักเขียนโปรแกรมฝึกหัด [2014-07-06 19:56:28]

101.108.3.133 ความคิดเห็น #29070 (จาก IP: 101.108.3.133)
เดาผิดไปเยอะครับ ส่วนแสดงข้อความคือ Sub msg

ลองแก้เป็น-----------------------------
Sub msg(ByVal mesg As String)
mesg.Trim()

Textbox1.text = Textbox1.text + ">>" + mesg + "\n"
End Sub
จากคุณ : maddog [2014-07-06 20:27:06]
ตอบกระทู้
  • ห้ามการโฆษณา หากต้องการติดต่อหาลูกค้า ติดต่อโฆษณาโดยตรงได้ที่ webmaster@sourcecode.in.th
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 
 
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
อัตราค่าโฆษณา
 
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th