วิชวลเบสิก (Visual Basic) ระดับพื้นฐาน | ||
|
ถ้าท่านเริ่มต้นอะไรไม่ได้เลยกับเว็บเพจหน้านี้ .. ขอแนะนำให้ไปซื้อหนังสือ เพราะผมก็เริ่มต้นด้วยการอ่านหนังสือ
ความสำเร็จของผม คือ เห็นท่านนำความรู้ที่ได้ไปพัฒนาบ้านเมืองให้เจริญ เพราะบ้านเมืองที่ท่านพัฒนาก็คือบ้านเมืองของผม Project ของ Visual Basic เริ่มต้นได้หลายแบบ แต่บทความเกือบทั้งหมดในเว็บเพจนี้ใช้ Standard EXE ทั้งหมด |
ภาษาโปรแกรม (Program Language) # คือ วิธีการมาตรฐานในการสื่อสารสำหรับแสดงคำสั่งไปยังคอมพิวเตอร์ ภาษาโปรแกรมกำหนดไวยากรณ์และการตีความหมายจากโปรแกรมคอมพิวเตอร์ที่เขียนขึ้น ภาษาโปรแกรมทำให้โปรแกรมเมอร์สามารถระบุอย่างชัดเจนถึงข้อมูลที่คอมพิวเตอร์จะทำงาน และวิธีการที่คอมพิวเตอร์จะประมวลผลข้อมูลเหล่านั้น
ภาษาเบสิค (Basic Language) คือ ภาษาคอมพิวเตอร์ที่พัฒนาโดยจอห์น เคมเมนี (John Kemeny) และ ธอมัส เคิรตส์ (Thomas Kurtz) แห่งวิทยาลัยดาร์ทเมิร์ท (Dartmouth College) ในปีค.ศ. 1963 วิชวลเบสิก (Visual Basic) คือ ภาษาคอมพิวเตอร์สำหรับสร้างโปรแกรมประยุกต์ (Application) ที่ใช้งานได้อย่างหลากหลายบนระบบปฏิบัติการวินโดว์ และสามารถเรียกใช้วัตถุที่ตัวแปลภาษาเตรียมไว้ให้บริการ วิชวลเบสิกดอทเน็ต (VB.NET) # คือ เครื่องมือสำหรับพัฒนาโปรแกรมเป็นภาษาหนึ่งในกลุ่มไมโครซอฟท์วิชวลสตูดิโอดอทเน็ต (Microsoft Visual Studio .NET) เป็นการโปรแกรมที่มีสภาพแวดล้อมแบบกราฟิกสำหรับระบบปฏิบัติการวินโดว์ (Windows Operating System) โดยมีรากฐานภาษามาจากภาษาเบสิก และทำงานบนดอทเน็ตเฟรมเวิร์ค (Dotnet Framework) ถูกออกแบบให้มีความสามารถในการพัฒนาโปรแกรมเชิงวัตถุอย่างแท้จริง และรองรับการออกแบบด้วยยูเอ็มแอล (UML = Unified Modeling Language) |
ประวัติภาษาเบสิก :
- BASIC by Dartmount College 1960 - BASIC for Altair by Bill Gates 1975 - GWBasic by Microsoft 1980 - QuickBasic by Microsoft 1980 - Visual Basic by Microsoft 1991
เหตุที่ทำบทเรียนชุดนี้ 1. ให้คำปรึกษาคนแปลกหน้าที่โทรถามได้ 2. อาจได้รับมอบหมายให้ทำ หรือสอนในอนาคต 3. ต้องการตรวจสอบระบบเครือข่ายของตนเอง 4. สร้าง application ให้ลูก ๆ ได้ใช้ หนังสือในตู้หนังสือที่บ้าน (แต่ละเล่มมีเรื่องใหม่ให้เรียนรู้เสมอ) 1. VB จิระ จริงจิตร 2. VB3 ราบินเดอร์ ศรีกิจจาภรณ์ 3. VB5 กิตติ ภักดีวัฒนะกุล และจำลอง ครูอุตสาหะ 4. VB5 สัจจะ จรัสรุ่งรวีวร และกฤษณะ สถิตย์ 5. VB6 ธาริน สิทธิธรรมชารี, สุรสิทธิ์ คิวประสพศักดิ์ VB6 แบบไม่ต้องติดตั้ง + depositfiles.com + mediafire.com |
|
ยินดีรับ ผู้สนับสนุน เว็บไซต์ด้านการศึกษา
กลุ่มเว็บไซต์นี้ เริ่มพัฒนา พ.ศ.2542 โดยบุคลากรทางการศึกษาด้านคอมพิวเตอร์ โทร. 081-9927223 (ผมเป็นคนลำปางหนา) ปล. ขอไม่รับ work at home / อาหารเสริม |
สารบัญ ตอนที่ 1 : General Component for Beginner บทที่ 1: สร้าง form และปุ่ม close บทที่ 2: ปุ่มควบคุมบวก และลบด้วยข้อมูลใน textbox บทที่ 3: เปลี่ยนคุณสมบัติของ shape เป็นรูปทรงต่าง ๆ บทที่ 4: การใช้ menu editor สร้าง menu bar ส่วนตัว บทที่ 5: สร้างหลาย form และสั่งเปิดปิดตามต้องการ บทที่ 6: ควบคุม visible ของแต่ละ object บทที่ 7: สุ่มเลข เพื่อทดสอบการควบคุม list box บทที่ 8: สุ่มเลข ส่งเข้า list box และส่งเข้า combo box อีกครั้ง บทที่ 9: สุ่มเลขจำนวนมาก ส่งเข้า list box, combo box และตรวจคู่คี่ บทที่ 10: เพิ่ม ลบ แก้ไขจาก list box โดยคุม visible และ enabled บทที่ 11: ค้นหาส่วนหนึ่งส่วนใดของระเบียนก็ได้ บทที่ 12: ค้นหาข้อมูลแบบเลือกมากกว่า และตาม primary key บทที่ 13: เปิดปิดฟอร์ม และภาพในจุดต่าง ๆ บทที่ 14: นาฬิกา Digital บทที่ 15: เกมคลิ๊กภาพ บทที่ 16: บอลวิ่งในจอภาพ บทที่ 17: จับผิดภาพเหมือน บทที่ 18: เปลี่ยนจำนวนเงินเป็นตัวอักษร บทที่ 19: สไลด์ นำเสนอข้อมูลพร้อมภาพ บทที่ 20: เครื่องคิดเลขอย่างง่ายมีเฉพาะปุ่ม + บทที่ 21: ออกเสียง .wav นับหน่วยเงินภาษาไทย ตอนที่ 2 : Data Control & ADODC (Active Data Object Data Control) บทที่ 101: ใช้ Data control ร่วมกับ Text box บทที่ 102: ใช้ Data control ร่วมกับ DBGrid บทที่ 103: เพิ่ม record ใหม่ด้วย Data control และควบคุม visible + enabled บทที่ 104: ลบ record ด้วยการค้นหาจนพบ แล้วจึง update หรือ cancel บทที่ 105: แก้ไขข้อมูล สามารถเลือกทั้ง DBGrid, Data bar และ Seek บทที่ 106: DBGrid ที่เพิ่ม ลบ แก้ไข และการค้นหาจาก Index บทที่ 107: ใช้ Data form wizard กับ ADO data control สร้าง form อย่างง่าย บทที่ 111: สร้าง DSN ชื่อ nwind บทที่ 112: เรียกใช้ Adodc และมีปุ่มเลื่อนไประเบียนข้างหน้า ตอนที่ 3 : DAO (Data Access Object) บทที่ 201: เรียกระเบียนแรก และกดปุ่มเพื่อแสดงระเบียนถัดไปด้วย DAO + JET บทที่ 202: เพิ่มระเบียนใหม่ต่อท้ายแบบ DAO recordset และแสดงใน msgbox บทที่ 203: เพิ่มระเบียนใหม่ต่อท้ายแบบ Data control + DAO recordset ตอนที่ 4 : ใช้ API ของระบบ Windows บทที่ 301: ใช้ GetFreeSpaceA ของ kernel32 บทที่ 302: ใช้ icmp.dll ช่วย ping เพื่อตรวจสอบ host ในเครือข่าย class C บทที่ 303: ฟอร์มโปร่งแสง และเชื่อมต่อกับ server ผ่าน Hidden IE
มีอะไรเรื่อง VB ที่หาไม่เจอในหนังสือ ผมก็ถามเขานี่หละ เป็น Freelance ด้าน Website, PHP, ASP, VB และ VB.NET Tel.08-9757-1846, 0-5431-6809 หาข้อมูลเพิ่มเติมได้ที่ thanom.net
ต.ย. 1. คำนวณเวลาเพื่อหาผลต่างเป็นวินาที x = "12:12:16" y = "13:12:19" sx = Hour(x) * 3600 + Minute(x) * 60 + Second(x) sy = Hour(y) * 3600 + Minute(y) * 60 + Second(y) MsgBox sy - sx MsgBox DateDiff("s", x, y) 'Output is 3603 ต.ย. 2. สร้างแฟ้มข้อความ Dim fso, MyFile Set fso=CreateObject("Scripting.FileSystemObject") Set MyFile=fso.CreateTextFile("c:\test.txt",true) MyFile.WriteLine("This is a test.") MyFile.Close ต.ย. 3. แสดงภาษาปัจจุบันของ taskbar Private Declare Function GetLocaleInfo& Lib "KERNEL32" Alias "GetLocaleInfoA" ( _ ByVal Locale&, ByVal LCType&, ByVal lpLCData$, ByVal cchData&) Private Declare Function GetKeyboardLayout& Lib "USER32" (ByVal dwLayout&) Private Sub Form_Load() Dim r&, strng$, buffer As String * 256 r = GetKeyboardLayout(0) r = Val("&H" & Right(Hex(r), 4)) r = GetLocaleInfo(r, &H2, buffer, 256 - 1) MsgBox buffer Unload Me End Sub ต.ย. 4. เรียกใช้โปรแกรมภายนอกผ่าน Shell dim taskid taskid = shell("c:\windows\cmd.exe",vbmaximize)
: Ctrl+T เพื่อเพิ่ม-ลด Control ใน Tool Bar คำถาม ติดตั้ง VB ไม่ได้ น่าจะเกิดจากการไม่ได้ลง XP จาก CD : เข้า regedit ? hkey_local_machine->software->microsoft->windows nt->current version->perflib เปลี่ยนค่าของ Disable Performance Counters จาก 1 เป็น 0 คำถาม ติดตั้ง ACMBOOT ไม่ได้ วิธีที่ 1. เปลี่ยนแฟ้ม key.dat เป็นแฟ้ม key.reg แล้ว double click วิธีที่ 2. เพิ่ม dword เข้าไปใน register ด้วย regedit HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\6.0 \Setup\Visual Studio 98\SetupWizard "aspo"=dword:00000000 คำถาม font ในเมนูมีขนาดเล็ก ต้องการขยาย 1. Start, Run, Sysedit 2. เปิด WIN.INI 3. เพิ่ม Tahoma,222=Tahoma,0 ต่อจาก [FontSubstitules] 4. File,Save แล้ว Restart เครื่องคอมพิวเตอร์ คำถาม เปลี่ยน Font ใน Code Editor เป็นภาษาไทย 1. Menu Bar, Tools, Options, Editor Format 2. กำหนด Font ภาษาไทยที่ต้องการ |
1. ทราบว่ามีการเชื่อมต่อกี่แบบ 2. ทราบว่าแต่ละแบบใช้งานอย่างไร 3. ทดสอบเขียนโปรแกรมใช้งานแต่ละแบบกับ .MDB 4. เลือกใช้แบบใดแบบหนึ่งอย่างเข้าใจ 1. Data Control คือ การเชื่อมต่อฐานข้อมูลผ่านคอนโทล Data Control โดยกำหนดชื่อแฟ้มฐานข้อมูลได้โดยตรง กำหนดชื่อตารางเข้าไปในคุณสมบัติ RecordSource ขั้นตอนการทดสอบ 1. นำ Data Control จาก Tool Box ไปวางใน Form 2. ต้องมี Data1.refresh มิเช่นนั้นมีปัญหาเรียกใช้ข้อมูล 3. นำ code ด้านล่างไปใส่ใน Code View 4. ใช้ Initialize() แต่ Load() ไม่ได้ 5. อ่านข้อมูลมาแสดงใน msgbox เมื่อ Start Form 6. ให้ฝึกเปลี่ยน ตาราง และเขตข้อมูล ท่านจะได้ชำนาญ 2. ADODC (ADO Data Control) คือ การเชื่อมต่อฐานข้อมูลผ่านคอนโทล ADODC โดยกำหนดชื่อแฟ้มฐานข้อมูลได้โดยตรง รองรับการใช้ SQL Command ขั้นตอนการทดสอบ 1. เพิ่ม Components (Ctrl-T) .. (MSADODC.OCX) ชื่อ Microsoft ADO Data Control 6.0 (OLEDB) 2. นำ ADODC จาก Tool Box ไปวางใน Form 3. ต้องมี ADODC1.refresh มิเช่นนั้นมีปัญหาเรียกใช้ข้อมูล 4. นำ code ด้านล่างไปใส่ใน Code View 5. อ่านข้อมูลมาแสดงใน msgbox เมื่อ Start Form 6. ให้ฝึกเปลี่ยน ตาราง และเขตข้อมูล ท่านจะได้ชำนาญ 3. DAO (Data Access Object) คือ การเชื่อมต่อฐานข้อมูลผ่านวัตถุ DAO โดยกำหนดชื่อแฟ้มฐานข้อมูลได้โดยตรง รองรับการใช้ SQL Command 1. เพิ่ม Menu Bar, Project, Reference ชื่อ Microsoft DAO 3.51 Object เพื่อใช้ dbengine, workspace, database, recordset 2. นำ code ด้านล่างไปใส่ใน Code View 3. อ่านข้อมูลมาแสดงใน msgbox เมื่อ Start Form 4. ให้ฝึกเปลี่ยน ตาราง และเขตข้อมูล ท่านจะได้ชำนาญ 4. ADODB (ActiveX Data Objects Database) คือ การเชื่อมต่อฐานข้อมูลผ่านคลาส ADODB และ Microsoft.Jet.OLEDB โดยกำหนดชื่อแฟ้มฐานข้อมูลได้โดยตรง รองรับการใช้ SQL Command ขั้นตอนการทดสอบ 1. เพิ่ม Menu Bar, Project, Reference ชื่อ Microsoft ActiveX Data Objects 2.0 Library 2. จึงใช้ adodb.connection, adodb.recordset ได้ 3. นำ code ด้านล่างไปใส่ใน Code View (เพิ่มเติม) 4. อ่านข้อมูลมาแสดงใน msgbox เมื่อ Start Form 5. ให้ฝึกเปลี่ยน ตาราง และเขตข้อมูล ท่านจะได้ชำนาญ 5. ADODB + ODBC + http://www.thaiabc.com/asp/dthai97.mdb 70 KB |
Control หรือ Function ที่น่าสนใจ
MsgBox, InputBox
|
ตัวอย่าง
| a = inputbox("name") msgbox(a)
fixed-size array ?
| - dim a(5) as string - dim b(0 to 5) as string dynamic array - dim c() as string - redim c(10 to 15) as string
ตัวอย่าง
| dim a(5) as string ' 0 to 5 a(0) = "โรงเรียน" dim b(0 to 5) as string b(0) = "มหาวิทยาลัย" dim c() as string redim c(10 to 15) as string ' can not change data type c(10) = "5" msgbox( int(c(10)) + 6 + ubound(c)) ' 26
split, array
|
ตัวอย่าง
| a = "a,b,c,d" msgbox (ubound(split(a,","))) ' 3
| [Public | Private] [Static] Function name [(arglist)] [As type] [statements] [name = expression] [Exit Function] [statements] [name = expression] End Function
| ตัวอย่าง ' msgbox(cal(5)) Function cal(a As Double) As Double If a < 0 Then Exit Function Else cal = a * 2 End If End Function
| [Private | Public] [Static] Sub name [(arglist)] [statements] [Exit Sub] [statements] End Sub
| ตัวอย่าง ' workcal(5) Sub workcal(ln) If ln = 0 Then Exit Sub End If msgbox (ln) End Sub
User-Data Type
|
| ตัวอย่าง private type human age as integer name as string end type private sub form_load() dim a as human a.age = 5 a.name = "boy" msgbox (a.age & a.name) end sub
DTPicker, Monthview, FlatScrollbar, UpDown
| - Ctrl+T : Check - Microsoft Windows Common Controls-2.6.0 - Regional Setting ใน Control Panel กำหนด พ.ศ. หรือ ค.ศ. - FormatDateTime(DTPicker1.Value, vbLongDate) - Format(Text1.Text, "yyyy/mm/dd")
| ตัวอย่าง msgbox(dtpicker1.value) ' 5/11/2009 (mm/dd/yyy) msgbox(dtpicker1.value + 60) ' 7/11/2009 (mm/dd/yyy) msgbox(format(dtpicker1.value,"mm/dd/yy")) ' 05/11/09 t1.text = format(monthview1.value,"mm/dd/yy")) + 543 ' 2552
MSHFlexGrid ?
| - Ctrl+T : Check - Microsoft FlexGrid Control 6.0 - g = MSHFlexGrid.TextMatrix(MSHFlexGrid.Row, 0) - DTPicker.Value = Format(g, "mm/dd/yy")
| ตัวอย่าง with MSFlexGrid1 .cols = 2 : .rows = 3 .row = 0 : .col = 0 : .text = "h1" .row = 0 : .col = 1 : .text = "h2" .row = 1 : .col = 0 : .text = "101" .row = 1 : .col = 1 : .text = "tom" .row = 2 : .col = 0 : .text = "102" .row = 2 : .col = 1 : .text = "boy" end with |
เอกสารอ้างอิง
[1] มนตรี พจนารถลาวัณย์, "การเขียนโปรแกรมคอมพิวเตอร์ด้วยเทอร์โบเบสิก", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2533. [2] กิตติ ภักดีวัฒนะกุล, จำลอง ครูอุตสาหะ, "Visual Basic 5 ฉบับโปรแกรมเมอร์", บริษัท ดวงกมลสมัย จำกัด., กรุงเทพฯ, 2541. [3] พีรศักดิ์ ศรีกังวาล, "เรียนภาษาเบสิก/เบสิกขั้นสูง", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2534. [4] ราบินเดอร์ ศรีกิจจาภรณ์, "คู่มือการใช้งาน Visual Basic สำหรับวินโดวส์", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2538. [5] วิชิต ปุณวัตร์, "พจนานุกรมภาษาเบสิก", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2532. [6] ราบินเดอร์ ศรีกิจจาภรณ์, "กลวิธีการโปรแกรมภาษาเบสิก", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2536. [7] จรณิต แก้วกังวาล, "20 ชั่วโมงกับ QuickBasic", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2535. [8] อุกฤษฏ์ โคแก้ว, "โปรแกรมภาษาเบสิก", บริษัท ต้นอ้อ จำกัด., กรุงเทพฯ, 2535. [9] จิระ จริงจิตร, "เรียนลัด Visual Basic", บริษัท โปรวิชั่น จำกัด., กรุงเทพฯ, 2538. [10] ธีรศักดิ์ ฐานกุล, "กะเทาะเปลือกวายร้าน Trojan ด้วย Visual Basic", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2549. [11] สัจจะ จรัสรุ่งรวีวร, "เรียนรู้ง่ายและใช้งานได้จริง", บริษัท ดวงกมลสมัย จำกัด., กรุงเทพฯ, 2548. [12] เฉลิมพล ทัพซ้าย, "การเขียนโปรแกรมภาษา Basic", บริษัท 3495 บุ๊คเซ็นเตอร์ จำกัด., กรุงเทพฯ, 2539. [13] ธาริน สิทธิธรรมชารี, "คู่มือการเขียนโปรแกรม Advanced Visual Basic 6.0", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2548. |