คำถามที่เกิดขึ้น:
ในสังคมสมัยใหม่ คนเรามักจะแยกออกจากตัวเลขไม่ได้ คนในสังคมมักจะมีหมายเลขประจำตัวประชาชน และนักเรียนที่เรียนในโรงเรียนจะต้องมีหมายเลขนักเรียน และตัวเลขเหล่านี้ไม่ใช่ตัวเลขที่ไร้ความหมายทั้งหมด โปรแกรมที่ฉันเขียนใช้เพื่อวิเคราะห์ตัวเลขเหล่านี้และแสดงความหมายที่มีความหมาย
สภาพแวดล้อมการเขียนโปรแกรม:
เทคโนโลยีการใช้งาน
VS.NET
:คีย์
ASP.NET
:
การใช้เมธอด String.Substring(Int32,Int32) การใช้การควบคุมตามตัวอักษร และการใช้คำสั่ง switch
ข้อความ:
บนฟอร์มเว็บ วางตัวควบคุมป้ายกำกับ ตัวควบคุมตัวอักษร ตัวควบคุมกล่องข้อความ และตัวควบคุมปุ่ม ตั้งค่าคุณสมบัติข้อความของตัวควบคุมป้ายกำกับเป็น "หมายเลขนักเรียนของคุณ:" และคุณสมบัติมองเห็นได้ของตัวควบคุมตัวอักษรเป็น "False" ฉันเขียนโค้ดเหตุการณ์ Click() ของตัวควบคุมปุ่มเป็นหลัก เมื่อคลิกปุ่ม หมายเลขที่ป้อนจะถูกวิเคราะห์ จากนั้นเนื้อหาที่วิเคราะห์จะแสดงโดยใช้ตัวควบคุมตัวอักษร
เหตุการณ์ Click() ของการควบคุมปุ่ม:
string StudentNo = txtNo.Text; // กำหนดหมายเลขนักเรียนให้กับ StudentNo string
ถ้า (!studentInfo.Visible)
-
StudentInfo.Visible = true; // หากมองไม่เห็นตัวควบคุม Literal ให้แสดง
}
พยายาม
-
// รับการดำเนินการสตริงย่อย
string strStartYear = StudentNo.Substring(0,2); // ปีที่ลงทะเบียน
string strTotalYears = StudentNo.Substring(2,1); // ระบบการศึกษา
string strSchool = StudentNo.Substring (3,2); // วิทยาลัย
string strClass = StudentNo.Substring(5,1); // class
string strNumber = StudentNo.Substring(6,2); // หมายเลข
// จับคู่ตัวเลขกับข้อความ
//เนื้อหาเป็นเพียงเรื่องสมมติล้วนๆ
สวิตช์ (strSchool)
-
กรณี "01":
strSchool = "โรงเรียนศิลปศาสตร์";
หยุดพัก;
กรณี "02":
strSchool = "โรงเรียนวิทยาศาสตร์";
หยุดพัก;
กรณี "03":
strSchool = "วิทยาลัยวิศวกรรมศาสตร์";
หยุดพัก;
กรณี "04":
strSchool = "วิทยาลัยเทคโนโลยี";
หยุดพัก;
กรณี "05":
strSchool = "โรงเรียนการสื่อสารและศิลปะ";
หยุดพัก;
กรณี "06":
strSchool = "โรงเรียนธุรกิจ";
หยุดพัก;
กรณี "07":
strSchool = "โรงเรียนกฎหมาย";
หยุดพัก;
กรณี "08":
strSchool = "วิทยาลัยอาชีวศึกษา";
หยุดพัก;
กรณี "09":
strSchool = "วิทยาลัยวิศวกรรมโยธาก่อสร้าง";
หยุดพัก;
กรณี "10":
strSchool = "โรงเรียนสารสนเทศ";
หยุดพัก;
ค่าเริ่มต้น:
strSchool = "ไม่มีอะไรเลย";
หยุดพัก;
}
StudentInfo.Text = "คุณลงทะเบียนในปี "+strStartYear+" ปี "+" และสาขาวิชาที่เลือกคือ "+strTotalYears+" ปี"+
"คุณกำลังศึกษา "+" ในชั้นเรียน "+strSchool+" ของวิทยาลัย "+strClass+" และหมายเลขของคุณคือ: "+strNumber+"";
-
จับ
-
Response.Write("การดำเนินการสตริงย่อยอยู่นอกขอบเขต!");
-
ในที่สุด
-
}
หมายเหตุ: หมายเลขนักเรียนที่นี่เป็น 8 หลัก
ตัวอย่าง:
หลังจากที่เว็บแอปพลิเคชันทำงาน ให้ป้อน: 02408122 ในกล่องข้อความ ดูว่าผลลัพธ์เป็นอย่างไร? :)
การแสดงผล:
ส่วนขยายของโปรแกรม:
เพื่อป้องกันการป้อนข้อมูลที่ไม่ถูกต้อง คุณสามารถเพิ่ม RegularExpressionValidator และ ValidationSummary control ได้ นิพจน์ทั่วไปคือ "d{8}" เมื่ออินพุตไม่ใช่ตัวเลข 8 หลัก ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นบนเพจ
สรุป:
การวิเคราะห์เลขประจำตัวจะคล้ายกับการวิเคราะห์เลขประจำตัวนักศึกษา
ข้อความ:
หมายเลขประจำตัวที่นี่ถือเป็น 18 หลัก
เพิ่มตัวควบคุมป้ายกำกับ ตัวควบคุมกล่องข้อความ ตัวควบคุมปุ่ม และตัวควบคุมตัวอักษรบนเพจ คุณสมบัติข้อความของตัวควบคุมป้ายกำกับถูกตั้งค่าเป็น "หมายเลขบัตรประจำตัว:" และตัวควบคุมตามตัวอักษรจะแสดงข้อมูลในหมายเลขบัตรประจำตัว คีย์ยังคงอยู่ในเหตุการณ์ Click() ของตัวควบคุมปุ่ม
เหตุการณ์ Click() ของการควบคุมปุ่ม:
สตริง strID = txtID.Text
ถ้า (!txtID.Visible)
-
txtID.Visible = จริง;
}
พยายาม
-
string strYear = strID.Substring(6,4); // ปี
string strMonth = strID.Substring(10,2); // เดือน
string strDay = strID.Substring(12,2); //
DayLiteral1.Text = "วันเกิดของคุณคือ:"+strYear+"ปี"+strMonth+"เดือน"+strDay+"number";
-
จับ
-
Response.Write("โปรแกรมมีข้อผิดพลาด!");
-
ในที่สุด
-
-
การแสดงผลการแสดงผล: