[ASP.net+VB] VBCrlf

vbcrlf ย่อมากจาก “Carriage return, Line feed”

(vb = visual basic)

หมายความว่า แถวว่างเปล่าที่ต่อท้ายทุกๆ string พูดง่ายๆ ก็คือ

เป็นตัวเก็บว่า string นั้นได้ขึ้นบรรทัดใหม่แล้ว

เป็น Function การตัด string

ตัวอย่างเช่น

มี textbox ที่เป็น multiline (หรือ textarea ใน html) ก็เป็นช่องสำหรับใส่ Description (txtDescription)
และก็มีส่วนที่แสดง Description ที่เป็น label ธรรมดา (lblDescription)
ต้องการให้ lblDescription แสดงการขึ้นบันทัดใหม่เหมือนตอนใส่ใน txtDescription

1. สร้าง Design Page ดังนี้ (Propeties ของ Textbox) อย่าลืมปรับ
textmode เป็น multiline    aspnet-vbcrlf-01-1

aspnet-vbcrlf-01

2. เมื่อของ Build ดู ก็จะได้แบบนี้

aspnet-vbcrlf-02

3. ลองใส่โค้ด แบบธรรมดา ตามนี้

lblDescription.Text = txtDescription.Text

4. จะได้ผลลัพธ์แบบนี้ (อยู่บรรทัดเดียวกัน)

aspnet-vbcrlf-03

5. ลองเปลี่ยนโค้ดเป็นแบบนี้ดู

lblDescription.Text = Replace(txtDescription.Text, vbCrLf, "<br>")

6. ว๊าว… ได้ผลลัพธ์อย่างที่ต้องการแล้ว (อยู่คนละบรรทัด)

aspnet-vbcrlf-04

ง่ายนิดเดียว~

 

Function การตัด String

ตัวอย่าง

Dim ReplaceTxt as String
ReplaceTxt = "บรรทัดแรก
บรรทัดสอง
บรรทัดสาม"
replace(ReplaceTxt,vbcrlf,"")

ก็จะได้ค่า คือ “บรรทัดแรกบรรทัดสองบรรทัดสาม”


ฝึกงาน #12

[22.04.2009]

วันนี้รีบมาฝึกงานตั้งแต่เช้า เนื่องจากกลัวงานไม่เสร็จ >,<~ (มาถึงประมาณ 8.30)

มาถึง ก็เริ่มด้วย

  • แก้ไขหน้า Update Solution ให้แสดงค่า Date, Time ที่ถูกต้อง
    • ได้เขียนการ join กันประมาณ 5 ตาราง (ซะงงเลย~ พี่วาวาเลยต้องมาช่วยดู ^^)
  • เพิ่มดักในปฏิทิน ไม่ให้ Start Date อยู่หลัง Finish Date ก็ง่ายนิดเดียว
    • การสร้างตัวแปรเก็บค่าที่ได้จากการเลือกวันที่ใน pop up calendar เป็น object ประเภท DateTime ขึ้นมา แล้วในฐานข้อมูลก็เก็บเป็นประเภท DateTime แค่นี้เอง ง่ายนิดเดียว
    • ใช้ If StartDate > FinishDate Then [invalid input]
    • เนื่องจากเป็น Object DateTime มันก็เลยเปรียบเทียบให้ได้เลย ไม่ต้องคิดอะไรมาก
  • แก้ไขหน้า Knowledge ให้มีการ search ที่ดีขึ้น
    • ใช้ str2 = Replace(str1,”*”,”%”) แล้วโดยค่า str2 ส่งไปให้ store procedure จัดการ ซึ่งเค้าก็มีเขียนไว้อยู่แล้ว ก็เปลี่ยนให้เป็น LIKE str2 แค่นั้นเอง (เนื่องจากเราส่ง % มาพร้อมกับ string แล้ว)
  • แก้ไขหน้า Question ให้เพิ่ม Description
    • check ว่าคนที่ login กับคนที่ create by คนเดียวกันรึป่าว
    • ง่ายนิดเดียว ก็เช็ค session ตรงกันรึป่าว แค่นั้นเอง
    • แต่ติดปัญหาคือ
      • คนทำ session name -> เป็นคนเก่า เก็บ [Title] [FirshName] [LastName]
      • คนทำ session createby -> เป็นหลี เก็บ [Title][FirstName] [LastName]
      • นั่งไล่ตั้งนาน ต่างกันแค่ มี space ระหว่าง Title กับ FirstName แค่นั้นเอง >,<~

ความรู้ใหม่ที่ได้จากวันนี้

  • VBcrlf

vbcrlf ย่อมากจาก “Carriage return, Line feed” (vb = visual basic)
หมายความว่า แถวว่างเปล่าที่ต่อท้ายทุกๆ string พูดง่ายๆ ก็คือ เป็นตัวเก็บว่า string นั้นได้ขึ้นบรรทัดใหม่แล้ว อ่านต่อ…

  • การสร้าง CheckBox ใน GridView  แบบนี้

aspnet-gridview-20

วิธีทำ คลิกเลย

ปล. เริ่มทำความรู้ใหม่ ให้ลิงค์ไปหน้าอื่นๆ เนื่องจากจะได้สะดวกต่อการค้นหา ^^
(อาจจะไปอัพเดทของเก่าด้วย ถ้ามีเวลา…)


ฝึกงาน #11

[21.04.2009]

วันนี้ตอนเช้า พี่ดิวแจก schedule ว่าต้องทำงานอะไรบ้าง เสร็จเมื่อไร

งานที่ทำเป็นการแก้ไขโค้ดเดิมของเค้า เนื่องจากลูกค้าต้องการ requirement เพิ่ม

งานที่ไ้ด้รับมอบหมาย

  • Modify Page Solution
    • TakeTime เพิ่ม textbox รับค่าเป็นนาที แล้ว insert ลงฐานข้อมูล
    • StartDate ใส่เป็นวันที่ โดยมี pop up calendar มาให้เลือก แล้ว insert ลงฐานข้อมูล
    • FinishDate ใส่เป็นวันที่ โดยมี pop up calendar มาให้เลือก แล้ว insert ลงฐานข้อมูล
  • Modify Page Question
    • Description เพิ่มช่องสำหรับผู้ที่ login เป็นคนเดียวกับที่ Create ให้สามารถแก้ไข Description ได้
  • Debug Page Menu Knowledge
    • แก้การ search ให้มีการใช้ * ex. pla* , *pla*
  • Debug Page Add Solution

ปัญหาของวันนี้

  • คอมเสีย
    • เมื่อเริ่มทำงาน ก็ปรากฎว่า คอมเสีย แสร่ด เซ็ง  ทำงานไม่ได้ นั่งรอพี่มาซ่อม สรุปว่า ช่วงเช้า ไม่ได้งานสักอย่าง
  • ทำ pop up calendar
    • ทำเองไม่เป็น ดังนั้นจึงปรึกษา พี่ google ก็ได้ตัวอย่างมา ติดใจ เว็บนี้ (เดี๋ยวอัพลิงค์ให้ที่ทำงาน)
    • ทำไปสักพัก ติดปัญหาที่ว่า ไม่รู้ว่า จะส่งค่ามันไปยังไงดี
    • สุดท้าย จึงปรึกษาพี่ดิว จึงได้ control ตัวใหม่มา เจ๋งดี เว็บนี้เลย eworldui.net มี control หลายตัวอยู่เหมือนกัน อันนี้เป็นตัวอย่างของ pop up calendar
    • หลังจากโหลดมา ก็ install แล้วมันจะมาโผล่ตรง component ด้านข้าง วิธีใช้ ก็แค่ลากมาวาง ก็เสร็จเลย (ง่ายมากกกกกก)
    • เมื่อเพิ่ม control ได้แล้ว เราก็เริ่มเขียน code ติดปัญหาอีกแล้ว คือ ลาก control มาแล้ว โปรแกรมมันไม่ gen code ออกมาให้ด้วย ทำให้มอง control ตัวนั้นไม่เจอ
    • เรียกพี่ดิวอีกครั้ง อิอิ
    • พี่ดิว + พี่มิซซี่ ช่วยดูให้กันอย่างแข็งขัน ได้ความว่า เดิมโปรเจคนี้เป็น visual studio 2003 แต่ปัจจุบันที่เราใช้แก้คือ visual studio 2008 สงสัยว่า 2003 มันยังไม่มีการ gen ให้ แต่ใน 2008 โปรแกรมมันจะสร้าง code มาให้ 3 file ดังนี้
      • xxxx.aspx
      • xxxx.aspx.vb
      • xxxx.designer.aspx.vb
    • วิธีแก้ พี่ดิวก็สร้าง xxxx.designer.vb มาให้ (ค่อนข้างยุ่งยากและลำบาก >.<~ )

วันนี้ออกจากที่บริษัท 19.00 เหนื่อยมาก… แต่โชคดี ได้นั่งรถเมล์ (ปกติยืน T.T~)

ช่วงนี้คงไม่ค่อยได้อัพที่เป็นวิชาการ เพราะ ไม่มีเวลา + เหนื่อยมาก


[Update] การทำ Pop Up Calendar

aspnet-popupcalendar-10

aspnet-popupcalendar-11

คลิกไปอ่านวิธีทำ

ฝึกงาน #10

[20.04.2009]

วันนี้ตอนเช้า ก็นั่งทำการบ้านต่อ + นั่งว่าง

ตอนบ่ายงานเข้า

พี่แจกแจงงานที่ต้องทำให้ฟัง ว่าต้องทำอะไรบ้าง

ลูกค้ามี requirement อะไรมากบ้าง

โปรเจคที่ทำ ใช้ visual studio 2008 จัดการกับ asp.net และ vb

ก่อนกลับ ก็นั่งศึกษา asp.net จาก google – -”

วันนี้เป็นวันที่ขี้เกียจมาก นั่งนับถอยหลังว่าเมื่อไรจะได้กลับบ้าน

(ปวดหัวด้วย) T T~