เก็บเฉพาะชื่อไฟล์ .dbf (และอื่นๆ) โดยไม่เอา path
ปกติเรามีคำสั่ง dbf() ที่ใช้เก็บชื่อไฟล์ dbf และมันให้ path มาด้วย ซึ่งบางครั้งไม่ใช่สิ่งที่เราต้องการ เราจึงอยากจะแยกมันเอามาเฉพาะชื่อไฟล์ และทำได้ 2 ขั้นตอนคือ
1. หาตำแหน่งที่เป็นจุดแบ่งระหว่างสิ่งที่จะตัดออกและสิ่งที่จะเอาไว้ ซึ่งอาจใช้ฟังก็ชั่น AT หรือ RAT ก็ได้ครับ (แต่งานนี้ผมใช้ RAT) คือ
- ใช้ฟังก์ชั่น AT ร่วมกับประโยค do ... while เพื่อวนหา / ตัวสุดท้าย
- ใช้ฟังก์ชั่น RAT ค้นหา / ตัวสุดท้ายซะเลย
ทั้ง AT และ RAT เป็นฟังก์ชั่นที่ใช้ไล่หาตัวอักษรที่เราระบุ แล้วคืนค่ากลับมาว่าเป็นตัวอักษรที่เท่าไหร่ เราจะได้ตัดมันออกได้ตรงประเด็น ซึ่งจะเห็นว่างานนี้ AT จะยุ่งยากกว่า RAT มากเพราะว่า AT มันไล่หาจากด้านซ้ายไปด้านขวาครับ ส่วน RAT นั้นจะทำสลับกัน
2. เมื่อหาเจอจุดแบ่งของสิ่งที่จะตัดออก หรือจะเอาไว้แล้วก็ใช้ฟังก์ชั่น LEFT , RIGHT หรือ SUBST ในการดึงมันออกมาครับ (ในงานนี้ผมใช้ RIGHT เพราะดึงจากด้านขวาเข้าไปโดยไม่ต้องระบุความยาว
จากหลักการข้างต้นเขียนเป็นคำสั่งได้ว่า...
fname = RIGHT(dbf(), LEN(dbf())-RAT("\", dbf()))
สำหรับท่านที่จะเอาเฉพาะชื่อไฟล์ โดยไม่เอานามสกุล หรือเอาเฉพาะส่วนใดส่วนหนึ่งของชื่อไฟล์ ก็พิจารณาเลือกฟังก์ชั่น SUBST มาปรับแต่งเอานะครับ หรือเขียนมาถามกันก็ได้ครับ
จบแค่นี้ก่อนครับ สวัสดีครับ
1. หาตำแหน่งที่เป็นจุดแบ่งระหว่างสิ่งที่จะตัดออกและสิ่งที่จะเอาไว้ ซึ่งอาจใช้ฟังก็ชั่น AT หรือ RAT ก็ได้ครับ (แต่งานนี้ผมใช้ RAT) คือ
- ใช้ฟังก์ชั่น AT ร่วมกับประโยค do ... while เพื่อวนหา / ตัวสุดท้าย
- ใช้ฟังก์ชั่น RAT ค้นหา / ตัวสุดท้ายซะเลย
ทั้ง AT และ RAT เป็นฟังก์ชั่นที่ใช้ไล่หาตัวอักษรที่เราระบุ แล้วคืนค่ากลับมาว่าเป็นตัวอักษรที่เท่าไหร่ เราจะได้ตัดมันออกได้ตรงประเด็น ซึ่งจะเห็นว่างานนี้ AT จะยุ่งยากกว่า RAT มากเพราะว่า AT มันไล่หาจากด้านซ้ายไปด้านขวาครับ ส่วน RAT นั้นจะทำสลับกัน
2. เมื่อหาเจอจุดแบ่งของสิ่งที่จะตัดออก หรือจะเอาไว้แล้วก็ใช้ฟังก์ชั่น LEFT , RIGHT หรือ SUBST ในการดึงมันออกมาครับ (ในงานนี้ผมใช้ RIGHT เพราะดึงจากด้านขวาเข้าไปโดยไม่ต้องระบุความยาว
จากหลักการข้างต้นเขียนเป็นคำสั่งได้ว่า...
fname = RIGHT(dbf(), LEN(dbf())-RAT("\", dbf()))
สำหรับท่านที่จะเอาเฉพาะชื่อไฟล์ โดยไม่เอานามสกุล หรือเอาเฉพาะส่วนใดส่วนหนึ่งของชื่อไฟล์ ก็พิจารณาเลือกฟังก์ชั่น SUBST มาปรับแต่งเอานะครับ หรือเขียนมาถามกันก็ได้ครับ
จบแค่นี้ก่อนครับ สวัสดีครับ
ความคิดเห็น
แสดงความคิดเห็น