วิธีการสร้างเครื่องคิดเลขด้วย Visual Basic

เปิด Visual Basic 6 และเลือก "Standard EXE" จากเมนูโครงการใหม่ คุณจะเห็นแบบฟอร์มเปล่าปรากฏขึ้นบนหน้าจอ

เปลี่ยนชื่อโครงการและแบบฟอร์มของคุณโดยคลิกที่ "โครงการ 1" ที่ด้านขวามือของหน้าจอ ในรายการโครงการ และป้อนชื่อใหม่ในบรรทัด "ชื่อ" ของกล่องคุณสมบัติ ซึ่งควรปรากฏด้านล่างรายการโครงการโดย ค่าเริ่มต้น. กด "Enter" เพื่อยอมรับชื่อใหม่ ทำเช่นเดียวกันสำหรับแบบฟอร์มของคุณ (ชื่อแบบฟอร์มที่แนะนำคือ "CalculatorUI") อย่าลืมป้อนชื่อที่คล้ายกันในคุณสมบัติ "คำอธิบายภาพ" ด้วย ซึ่งจะเปลี่ยนข้อความในแถบด้านบนของแบบฟอร์ม บันทึกโครงการในโฟลเดอร์ใหม่บนคอมพิวเตอร์ของคุณ

เพิ่มปุ่มและกล่องข้อความลงในแบบฟอร์ม ขั้นแรก ให้เพิ่มกล่องข้อความ ซึ่งจะเป็นตำแหน่งที่ตัวเลขที่ป้อนในเครื่องคิดเลขปรากฏขึ้น รวมถึงผลลัพธ์ของการคำนวณ ทำได้โดยเลือกปุ่มกล่องข้อความจากแถบเครื่องมือทางด้านซ้ายของหน้าจอ จากนั้นลากเมาส์ไปตามขนาดและตำแหน่งที่คุณต้องการสำหรับกล่องข้อความ เมื่อคุณวางกล่องข้อความแล้ว คุณสามารถเปลี่ยนขนาดและตำแหน่งได้โดยการลากไปยังตำแหน่งอื่นของแบบฟอร์ม หรือโดยการลากที่จับ (สี่เหลี่ยมเล็กๆ) ไปตามเส้นขอบของกล่องข้อความ อย่าลืมเปลี่ยนบรรทัดต่อไปนี้ในหน้าต่าง Properties โดยเลือก TextBox: "(Name)" = tbResult, "Alignment" = 1- ชิดขวา "Data Format" = (คลิกที่ปุ่ม "..." เพื่อเลือก) Number "Locked" = True และ "ข้อความ" = 0

เลือกไอคอน CommandButton บนแถบเครื่องมือ และสร้างปุ่มแรกในลักษณะเดียวกับที่คุณสร้างกล่องข้อความเพื่อเพิ่มปุ่ม สำหรับการอ้างอิง ให้ใช้เครื่องคิดเลขของ Windows ในมุมมองมาตรฐาน (โปรแกรม > อุปกรณ์เสริม > เครื่องคิดเลข) เป็นพื้นฐานสำหรับเลย์เอาต์เครื่องคิดเลขของคุณ โดยไม่ทิ้งปุ่ม "MC", "MR", "MS" และ "M+" ในแต่ละปุ่ม ให้เปลี่ยนคุณสมบัติต่อไปนี้ (โดยใช้ปุ่ม "+" เป็นตัวอย่าง): "(Name)" = btnPlus, "Caption" = + ทำเช่นเดียวกันกับปุ่มเครื่องคิดเลขที่เหลือ จากนั้นบันทึกงานของคุณ แบบฟอร์มของคุณควรคล้ายกับตัวอย่างที่แสดงที่นี่

เพิ่มรหัส โปรดทราบว่าหากปุ่มและกล่องข้อความของคุณไม่มีชื่อเหมือนกับรหัสที่ระบุไว้ในที่นี้ คุณจะต้องใช้ เพื่อเปลี่ยนชื่อให้ตรงกับปุ่มและกล่องข้อความของคุณ หรือเปลี่ยนปุ่มและกล่องข้อความให้ตรงกับสิ่งนี้ รหัส. ขั้นแรกเราต้องสร้างตัวแปรสองสามตัวสำหรับการประมวลผลอินพุตของเครื่องคิดเลข:

Dim sLeft As String, sRight As String, sOperator As String Dim iLeft As Double, iRight As Double, iResult เป็น Double Dim bLeft เป็นบูลีน

การคำนวณแต่ละครั้งประกอบด้วยสี่ส่วน: ตัวเลขทางด้านซ้ายของตัวดำเนินการ (sLeft, iLeft) ตัวดำเนินการ (sOperator) ตัวเลขทางด้านขวาของตัวดำเนินการ (sRight, iRight) และผลลัพธ์ (iResult) เพื่อติดตามว่าผู้ใช้ป้อนตัวเลขทางซ้ายหรือขวา เราจำเป็นต้องสร้างตัวแปรบูลีน bLeft ถ้า bLeft เป็นจริง ด้านซ้ายของการคำนวณจะถูกป้อน ถ้า bLeft เป็นเท็จ ด้านขวาจะถูกป้อน

เริ่มต้นตัวแปร bLeft เราทำได้โดยการสร้างรูทีนย่อย Form_Load ซึ่งคุณสามารถพิมพ์ตามรายการที่นี่หรือสร้างโดยอัตโนมัติโดยดับเบิลคลิกที่ส่วนใดส่วนหนึ่งของแบบฟอร์มที่ไม่มีปุ่มหรือกล่องข้อความครอบคลุม ภายในฟังก์ชั่นเราต้องตั้งค่า bLeft เป็น True เพราะตัวเลขแรกที่ป้อนจะเป็นส่วนซ้าย:

สร้างรูทีนย่อยที่จะจัดการกับการคลิกปุ่มตัวเลขใดๆ เราสร้างสิ่งนี้เป็นรูทีนย่อยเนื่องจากเราใช้โค้ดที่เหมือนกันสำหรับแต่ละปุ่ม และการใช้รูทีนย่อยหมายถึงไม่ต้องทำซ้ำโค้ดเดิมสิบครั้ง ป้อนข้อมูลต่อไปนี้ด้านล่างบรรทัดย่อย End Sub ของรูทีนย่อย Form_Load:

ดังที่คุณเห็น ฟังก์ชันนี้ใช้พารามิเตอร์สตริง sNumber ซึ่งจะมีหมายเลขที่ผู้ใช้คลิก ถ้า bLeft เป็นจริง หมายเลขนี้จะถูกผนวกเข้ากับสตริงที่แสดงถึงตัวเลขที่ป้อน sLeft และกล่องข้อความ tbResult จะได้รับการอัปเดตเพื่อแสดงหมายเลขใหม่ หาก bLeft เป็นเท็จ การดำเนินการเดียวกันจะดำเนินการโดยใช้ sRight แทน

สุดท้าย สร้างฟังก์ชันเหตุการณ์ Click สำหรับแต่ละหมายเลขที่เรียกรูทีนย่อย AddNumber ของเรา คุณสามารถทำสิ่งนี้ได้อย่างง่ายดายโดยดับเบิลคลิกปุ่มตัวเลขแต่ละปุ่ม ซึ่งจะสร้างโครงสร้างรูทีนย่อยให้คุณ จากนั้นเพิ่มการโทรไปที่ AddNumber โดยแทนที่หมายเลขในเครื่องหมายคำพูดด้วยหมายเลขที่เกี่ยวข้องกับปุ่ม สำหรับปุ่มศูนย์ รหัสของคุณจะมีลักษณะดังนี้:

ในทำนองเดียวกัน สำหรับปุ่มเดียว โค้ดของคุณจะมีลักษณะดังนี้:

จัดการตัวดำเนินการ: บวก ลบ ครั้ง และหาร เราจะทำเช่นนี้เหมือนขั้นตอนสุดท้าย สร้างรูทีนย่อยที่เรียกว่าในเหตุการณ์คลิกสำหรับปุ่มโอเปอเรเตอร์ รูทีนย่อยจะมีลักษณะดังนี้:

ถ้า bLeft เป็นจริง หมายถึงผู้ใช้เพิ่งป้อนส่วนด้านซ้ายของการคำนวณ รูทีนย่อยนี้จะตั้งค่า ตัวแปร sOperator ที่เราสร้างในขั้นตอนที่ 5 เพื่อให้เท่ากับตัวดำเนินการที่ป้อน ซึ่งส่งผ่านไปยัง AddOperator เป็นสตริง sNewOperator. ขั้นตอนที่สองคือการตั้งค่า bLeft เป็น False เนื่องจากรายการของตัวดำเนินการหมายความว่าผู้ใช้เข้าสู่ด้านซ้ายของสมการเสร็จแล้ว ในการจัดการรายการที่สตริงตัวดำเนินการหลายตัวเข้าด้วยกัน เช่น 9 * 3 * 2 * 6 เราจำเป็นต้อง ตรวจสอบด้วยว่า bLeft เป็นเท็จ หมายความว่าผู้ใช้ได้ป้อนโอเปอเรเตอร์ที่เราคาดหวัง เท่ากับ ขั้นแรก เราเรียกเหตุการณ์ Click สำหรับปุ่มเท่ากับ (อธิบายในขั้นตอนต่อไป) ซึ่งจะคำนวณและตั้งค่า tbResult เป็นผลลัพธ์ของสิ่งที่ป้อนไปแล้ว จากนั้นเราล้าง sRight เพื่อให้ผู้ใช้สามารถป้อนตัวเลขถัดไป และตั้งค่า bLeft เป็น False เพื่อให้โปรแกรมรู้ว่าเรากำลังเข้าสู่ด้านขวามือของการคำนวณถัดไป

สุดท้าย เพิ่มการเรียก AddOperator ให้กับเหตุการณ์ Click ของปุ่มตัวดำเนินการแต่ละปุ่ม โดยใช้วิธีการเดียวกับที่เราใช้ในขั้นตอนที่ 7 เพื่อสร้างเหตุการณ์ Click สำหรับปุ่มตัวเลข รหัสของคุณสำหรับปุ่มบวกจะมีลักษณะดังนี้:

สร้างเหตุการณ์ Click สำหรับปุ่มเท่ากับ ซึ่งเป็นรหัสที่ซับซ้อนที่สุดในโปรแกรมนี้ สร้างโครงสร้างรูทีนย่อยเหมือนกับที่คุณทำกับปุ่มอื่นๆ โดยดับเบิลคลิกที่ปุ่มเท่ากับบนแบบฟอร์มของคุณ รูทีนย่อยของคุณจะมีลักษณะดังนี้เมื่อคุณป้อนรหัส:

รหัสสามบรรทัดแรกตรวจสอบเพื่อดูว่ามีการป้อนการคำนวณทั้งสองด้านพร้อมกับตัวดำเนินการหรือไม่ หากป้อนเฉพาะด้านซ้ายและตัวดำเนินการ ค่าของด้านซ้ายจะถูกคัดลอกไปทางขวา เพื่อให้เราสามารถเลียนแบบ พฤติกรรมเครื่องคิดเลขมาตรฐานสำหรับการจัดการรายการเช่น 9 * = ซึ่งคูณ 9 ด้วยตัวมันเองเพื่อให้ได้ผลลัพธ์เป็น 81 รหัสที่เหลือจะทำงานก็ต่อเมื่อป้อนซ้าย ขวา และตัวดำเนินการ และเริ่มต้นโดยการคัดลอก สตริงของตัวเลขในตัวแปรประเภท iLeft และ iRight Double-typed ซึ่งสามารถทำได้จริง การคำนวณ คำสั่ง Select Case ช่วยให้เราสามารถรันโค้ดที่แตกต่างกันโดยขึ้นอยู่กับตัวดำเนินการที่ป้อน และทำการคำนวณจริง โดยวางผลลัพธ์ใน iResult สุดท้าย เราอัปเดตกล่องข้อความพร้อมผลลัพธ์ คัดลอกผลลัพธ์ไปที่ sLeft รีเซ็ต sRight และตั้งค่า bLeft = True บรรทัดสุดท้ายเหล่านี้ทำให้เรานำผลลัพธ์ของการคำนวณไปใช้ในการคำนวณอื่นได้

จัดการกับปุ่มการทำงานสามปุ่มสุดท้าย: sqrt, % และ 1/x สำหรับเหตุการณ์ Click ของปุ่มสแควร์รูท โค้ดของคุณจะมีลักษณะดังนี้:

โค้ด 11 บรรทัดแรกต้องแน่ใจว่าถ้าเราไม่ได้ป้อนค่าสำหรับด้านใดด้านหนึ่งของสมการ เราแทนที่ศูนย์แทนที่จะพยายามคัดลอกสตริงว่างลงใน iLeft หรือ iRight ซึ่งจะสร้าง ข้อผิดพลาด. เส้นตรงกลางใช้ฟังก์ชันรากที่สองในส่วนปัจจุบันของการคำนวณ ไม่ว่าจะทางซ้ายหรือทางขวา สุดท้าย เราย้อนกลับการตรวจสอบที่เราทำในตอนเริ่มต้น เพื่อที่ศูนย์จะถูกคัดลอกเป็นสตริงว่างกลับเข้าไปใน sLeft และ sRight

สำหรับปุ่มเปอร์เซ็นต์ รหัสจะคล้ายคลึงกัน โดยมีข้อยกเว้นประการหนึ่ง: การดำเนินการเปอร์เซ็นต์สามารถทำได้ก็ต่อเมื่อป้อนทั้งด้านซ้ายและด้านขวา

สุดท้าย 1/x หรือเศษส่วน Click event ซึ่งคล้ายกับโค้ดด้านบนมาก:

เพิ่มรหัสเพื่อจัดการกับปุ่ม C และ CE C ล้างอินพุตทั้งหมดไปยังเครื่องคิดเลข ในขณะที่ CE จะล้างเฉพาะตัวเลขที่กำลังป้อนอยู่

เรียกใช้โปรแกรมเครื่องคิดเลขของคุณและคำนวณตามที่คุณต้องการ เครื่องคิดเลขนี้สามารถขยายออกได้อย่างง่ายดายเพื่อรองรับการทำงานที่มากขึ้น การคำนวณที่ซับซ้อนยิ่งขึ้น หรือแม้กระทั่งเป็นเครื่องคิดเลขทางวิทยาศาสตร์ที่มีการทำงานพิเศษเพียงเล็กน้อย

เคล็ดลับ

หากคุณพบข้อผิดพลาด ให้ตรวจสอบโค้ดทีละบรรทัด โดยเน้นที่บรรทัดที่ VB เรียกว่ามีข้อผิดพลาด และเปรียบเทียบกับโค้ดด้านบน โค้ดในบทความนี้ได้รับการทดสอบโดยสมบูรณ์แล้วว่าไม่มีข้อผิดพลาด ดังนั้นการคัดลอกอย่างซื่อสัตย์จะส่งผลให้โปรแกรมทำงานได้ หากคุณกำลังใช้ Visual Basic เวอร์ชันก่อนหน้า คุณอาจพบปัญหาบางอย่างที่มีการเปลี่ยนแปลงในภาษาข้ามเวอร์ชันต่างๆ VB เวอร์ชันก่อนหน้า เช่น ใช้คณิตศาสตร์ Sqrt() แทนคณิตศาสตร์ Sqr() เพื่อดำเนินการรากที่สอง ตรวจสอบข้อมูลอ้างอิงสำหรับเวอร์ชันเฉพาะของคุณเพื่อดูว่าจำเป็นต้องเปลี่ยนแปลงหรือไม่

หมวดหมู่

ล่าสุด

วิธีพิมพ์สเปรดชีต Excel ขนาดใหญ่

วิธีพิมพ์สเปรดชีต Excel ขนาดใหญ่

การพิมพ์สเปรดชีตโดยไม่ฟอร์แมตใหม่อาจทำให้อ่านไ...

การรวมข้อมูลใน Excel คืออะไร?

การรวมข้อมูลใน Excel คืออะไร?

นักธุรกิจหญิงพิมพ์คอมพิวเตอร์แล็ปท็อปของเธอ เค...

วิธีแปลงวันที่ในการเข้าถึงเป็น YYYYMMDD

วิธีแปลงวันที่ในการเข้าถึงเป็น YYYYMMDD

เครดิตรูปภาพ: รูปภาพดาวพฤหัสบดี / รูปภาพ Pixlan...