บทความ

กำลังแสดงโพสต์จาก 2015

เก็บเฉพาะชื่อไฟล์ .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())) สำหรับท่านที่จะเอาเฉพาะชื่อไฟล์ โดยไม่เอานามสกุล ห