หน้าแรก
 การบ้าน
  C/C++ new
  Java new
 Sourcecode.TV
  Android
  Blackberry
  C/C++
  Java
  Linux
  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
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  DoodeeHosting
  รับออกแบบ พัฒนาเว็บไซต์
  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
  ถ้าผมต้องการเว็บที่พัฒนาด้วย HTML5 ...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒนาด้วย HTML5 ...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะคับ
งานเล...

2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลองศึกษาเองได...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก่อนได้นะคับ...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต่อได้ครับ 08...
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
  ระบบจองตั๋วหนังภาษาจาวา (Ja...
2017-11-18 15:42:48
  โปรแกรมจองตั๋วหนัง ภาษาจาวา...
2017-11-18 15:40:29
  ผมลอง gotoxy แล้วแต่ก็ยังเอ...
2017-08-28 11:45:52
  ลองสร้างตัวแปลอีกตัวไว้ใน u...
2017-08-27 20:09:01
  #define GLUT_DISABLE_ATEXIT...
2017-08-27 12:53:17
  ผมมีคลิปสอนให้แล้ว ดูให้เข้...
2017-08-27 10:50:02
  รับ สอน matlab เขียน matlab...
2017-06-03 16:27:23
  เฉพาะทางขนาดนี้ คงต้องดูหาข...
2017-05-25 16:18:08
  โห เครื่องรุ่นไหนครับ os รุ...
2017-05-25 16:12:47
  ถ้าเขียน php ก็ใช้ curl ส่...
2017-04-20 01:04:20
  Homework comment
  คำนวณค่าน้ำโดยรับค่ามิเตอร์จำน...
2017-11-20 23:15:26
  ขอบคุณมากครับ...
2017-08-16 18:27:25
  ทำเอง งง เอง กะลังทำใหม่ค่ะ ^^...
2017-04-18 18:40:46
  ทำเอง งง เอง กะลังทำใหม่ค่ะ ^^...
2017-04-18 18:37:54
  ประเด็นแรก flowchart มันไม่มีภ...
2017-04-18 17:43:33
  อยากได้ flowchart ค่ะ เป็นภาษา...
2017-04-18 16:25:29
  kungking คำถามคืออะไรครับ ?...
2017-03-18 23:28:36
  จงเขียนโปรแกรมแสดงผลรวมของตัวเ...
2017-03-06 10:56:25
  ก็โค้ดทำงานคล้ายๆแบบนี้หละ แต่...
2016-09-06 01:00:12
  ผมอยากทราบว่าโค้ดนับถอยหลังเป็...
2016-09-05 09:31:27
  Article comment
  มีcode ของ VB ไหมค่ะ ถ้ามีรบกว...
2017-09-28 16:50:02
  น่าจะได้ครับ ไม่เคยลอง
กล่...

2017-07-11 09:59:35
  สามารถใช้ต่อกับ anycast ได้ไหม...
2017-07-05 10:12:35
  ครับ คุณ "ติด" แล้วลองนึกต่อว่...
2016-06-18 15:21:09
  vs2008 c# ครับ ขอบคุณครับ...
2016-06-17 14:39:30
  ผมใช้ vs c# ทำตามทุขั้นตอนแต่ต...
2016-06-17 14:37:44
  ต้องวิเคราะห์ครับ "ว่าจริงๆ ส่...
2016-03-12 23:36:05
  ผมส่งข้อความในวง LAN ได้เฉพาะค...
2016-03-12 18:25:42
  โปรแกรม Terminal บน Mac ก็เป็น...
2016-02-16 11:02:01
  โปรแกรม Terminal คืออะไรหรอคะ...
2016-02-16 05:58:21
  9Mcode comment
  อยากได้...
2014-02-21 08:52:19

Link Exchange

อัตราค่าโฆษณา
Statistics of Sourcecode in Thailand
 
 Webboard

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

กระทู้ #3515 [Vb]

ช่วยแปลงโค๊ด 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
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

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

 
 
สายต่อจอ สำหรับเครื่อง macbook pro 2016 (usb-c to HDMI)
สายต่อจอ สำหรับเครื่อง macbook pro 2016 (usb-c to HDMI) ความละเอียดระดับ 4K
หัวแปลง Mini DisplayPort to HDMI Adapter หัวแปลง Mini DisplayPort to HDMI Adapter สำหรับเครื่อง macbook air/pro, mac mini
หัวแปลง Mini DisplayPort to HDMI Adapter สำหรับเครื่อง macbook air/pro, mac mini
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
ไขควงสำหรับเครื่อง Macbook Air/Pro
ไขควง สำหรับแกะเครื่อง Macbook Air/Pro (300บาท)
HDMI เข้า 3 ออก  1 มีรีโมท
HDMI เข้า 3 ออก 1 มีรีโมท (350บาท)
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
9M Blog บอกเล่าเรื่องราว การเขียนโปรแกรมของ นายเอ็ม
บริการ ถ่ายภาพรับปริญญา
OrmSin.com: ขายหนังสืองานฝีมือไทย-ญี่ปุ่น-จีน (country crafts)
อัตราค่าโฆษณา
 
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ
Freelance รับพัฒนาโปรแกรม

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

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