כשמחפשים קבצים, לרוב זה מועיל וצריך לחפש בתיקיות המשנה. הנה, ראה כיצד להשתמש דלפיהכוח ליצור פרויקט קבצים פשוט, אך עוצמתי, למצוא את כל ההתאמה.
פרויקט חיפוש מסיכת קבצים / תיקיות
הפרויקט הבא מאפשר לא רק לחפש קבצים באמצעות תיקיות משנה, אלא גם מאפשר לך לקבוע בקלות תכונות קבצים, כגון שם, גודל, תאריך שינוי וכו '. כך שתוכל לראות מתי לפתוח את שיח מאפייני הקבצים מה- סייר Windows. בפרט, הוא מדגים כיצד לבצע חיפוש רקורסיבי באמצעות תיקיות משנה ולהרכיב רשימה של קבצים התואמים למסכת קבצים מסוימת. טכניקת הרקורסיה מוגדרת כשגרה המכנה את עצמה באמצע הקוד שלה.
בכדי להבין את הקוד בפרויקט עלינו להכיר את שלושת השיטות הבאות שהוגדרו ביחידת SysUtils: FindFirst, FindNext ו- FindClose.
FindFirst
FindFirst היא קריאת האתחול כדי להתחיל בהליך חיפוש מפורט של קבצים באמצעות שיחות ממשק API של Windows. החיפוש מחפש קבצים התואמים למפרט הנתיב. בדרך כלל הנתיב כולל תווים כלליים (* ו-?). פרמטר Attr מכיל שילובים של תכונות קבצים לשליטה בחיפוש. קבועי תכונות הקבצים המוכרים ב- Attr הם: faAnyFile (כל קובץ), מכוון (ספריות), faReadOnly (לקרוא קבצים בלבד),
faHidden (קבצים מוסתרים), faArchive (קבצי ארכיון), faSysFile (קבצי מערכת) ו- faVolumeID (קבצי מזהה נפח).אם FindFirst מוצא קובץ תואם אחד או יותר, הוא מחזיר 0 (או קוד שגיאה לכישלון, לרוב 18) וממלא את ה- Rec במידע על הקובץ התואם הראשון. כדי להמשיך בחיפוש, עלינו להשתמש באותה רשומת TSearcRec ולהעביר אותה לפונקציה FindNext. עם סיום החיפוש יש לקרוא להליך FindClose לשחרור מקורות פנימיים של Windows. TSearchRec הוא רשומה המוגדרת כ:
כאשר נמצא הקובץ הראשון, מלא את פרמטר ה- Rec, והפרויקטים שלך יכולים להשתמש בשדות הבאים (ערכים).
. אטטר, תכונות הקובץ כמתואר לעיל.
. שם מחזיק מחרוזת המייצגת שם קובץ, ללא מידע על הנתיב
. גודל בבתים של הקובץ שנמצא.
. זמן שומר את תאריך ושעת השינוי של הקובץ כתאריך קובץ.
. FindData מכיל מידע נוסף כגון זמן יצירת הקובץ, זמן הגישה האחרון ושמות הקבצים הארוכים והקצרים כאחד.
FindNext
הפונקציה FindNext היא השלב השני בהליך חיפוש הקבצים המפורט. עליך להעביר את אותה רשומת חיפוש (Rec) שנוצרה על ידי השיחה ל- FindFirst. ערך ההחזרה מ- FindNext הוא אפס להצלחה או קוד שגיאה לכל שגיאה.
FindClose
נוהל זה הוא קריאת הסיום הנדרשת עבור FindFirst / FindNext.
מסכת קבצים רקורסיבית תואמת חיפוש בדלפי
זהו פרויקט "חיפוש קבצים" כפי שהוא מופיע בזמן ריצה. המרכיבים החשובים ביותר בטופס הם שתי תיבות עריכה, תיבת רשימה אחת, תיבת סימון וכפתור. תיבות עריכה משמשות לציון הנתיב שאליו ברצונך לחפש ומסכת קבצים. קבצים שנמצאו מוצגים בתיבה רשימה ואם תיבת הסימון מסומנת, כל תיקיות המשנה נסרקות לקבצים תואמים.
להלן קטע הקוד הקטן מהפרויקט, רק כדי להראות שחיפוש אחר קבצים עם דלפי הוא קל ככל יכול להיות: