ในการแปลงตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็กโดยอัตโนมัติ สิ่งแรกที่หลายคนนึกถึงต้องเป็น UCase$ และ LCase$ อย่างไรก็ตาม หากคุณต้องการใช้ทั้งสองฟังก์ชันนี้ คุณต้องไม่ใช้ฟังก์ชันเหล่านี้ในเหตุการณ์ Key_PRess มิฉะนั้น หากคุณป้อน " ABC" ผลลัพธ์จะกลายเป็น "cba" 》ทำไม?
เพราะเมื่อคุณป้อน A LCase$ จะแปลงเป็น a สำหรับคุณ แต่หลังจากการแปลงเสร็จสิ้น เคอร์เซอร์ของเมาส์จะหยุดที่หน้า a หากคุณป้อน B ต่อไป มันจะกลายเป็น Ba และ LCase$ จะทำการแปลง เพื่อเป็น ba สำหรับคุณ หลังจากการแปลงเสร็จสิ้น เคอร์เซอร์ของเมาส์จะหยุดที่ด้านหน้าของ ba คุณยังคงป้อน C และจะกลายเป็น Cba $ แปลงเป็น cba สำหรับคุณ หากคุณไม่เชื่อลองด้วยตัวเอง
วิธีการที่ถูกต้องใน Key_Press คือการกำหนดพารามิเตอร์ KeyAscii! ค่า Asc ของ a คือ 97 และค่า Asc ของ A คือ 65 ดังนั้นจึงจำเป็นต้องแปลงตัวพิมพ์ใหญ่เป็นตัวพิมพ์เล็กโดยอัตโนมัติ วิธีการเขียนมีดังนี้:
PrivateSubText2_KeyPress (KeyAsciiAsInteger)
IfKeyAscii>=65AndKeyAscii<=90แล้ว
KeyAscii=คีย์แอสกี้ 32
EndIf->