วิชวลเบสิก (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 ตอนที่ 2 : Data Control & ADODC (Active Data Object Data Control) ตอนที่ 3 : DAO (Data Access Object) ตอนที่ 4 : ใช้ API ของระบบ Windows
มีอะไรเรื่อง 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 ขั้นตอนการทดสอบ 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) ขั้นตอนการทดสอบ 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) 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) ขั้นตอนการทดสอบ 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. |