כאשר אתה צריך לאחסן תוכן שקשור לתוכן שלך אפליקציית דלפי בדיסק הקשיח של המשתמש, עליך לדאוג לתמיכה בהפרדת מצב של נתוני משתמש, הגדרות משתמש והגדרות מחשב.
לדוגמה, התיקיה "נתוני יישומים" ב- חלונות יש להשתמש באחסון מסמכים ספציפיים ליישום, כגון קבצי INI, מצב יישום, קבצי טמפ או דומים.
לעולם אל עליך להשתמש בנתיבים עם קידוד קשה למיקומים ספציפיים, כגון "c: \ קבצי תוכנית", מכיוון שייתכן שזה לא עובד על גרסאות אחרות של Windows מכיוון שמיקום התיקיות והספריות יכול להשתנות עם גרסאות שונות של חלונות.
פונקציית ה- API של Windows של SHGetFolderPath
SHGetFolderPath זמין ב- SHFolder יחידה. SHGetFolderPath מאחזר את הנתיב המלא של תיקיה ידועה שזוהתה.
להלן פונקצית עטיפה בהתאמה אישית סביב SHGetFolderPath ממשק API כדי לעזור לך להשיג אחת מהתיקיות הסטנדרטיות עבור כל משתמש המשתמש או Windows המחובר כרגע.
להלן דוגמה לשימוש בפונקציה SHGetFolderPath:
- שחרר קבוצת TRadioButtonGroup (שם: "RadioGroup1") בטופס
- שחרר טבלט (שם: "תווית 1") על טופס
- הוסף 5 פריטים לקבוצת הרדיו:
- "[משתמש נוכחי] \ המסמכים שלי"
- "כל המשתמשים \ נתוני היישום"
- "[ספציפי למשתמש] \ נתוני יישום"
- "קבצי תכנית"
- "כל המשתמשים \ מסמכים"
- טפל באירוע OnClick של RadioGroup כ:
הערה: "[משתמש נוכחי]" הוא שמו של המשתמש המחובר כעת ב- Windows.
הערה: SHGetFolderPath הוא קבוצת-על של SHGetSpecialFolderPath.
אסור לאחסן נתונים ספציפיים ליישום (כגון קבצים זמניים, העדפות משתמש, קבצי תצורת יישומים וכן הלאה) בתיקיה המסמכים שלי. במקום זאת, השתמש בקובץ ספציפי ליישום שנמצא בתיקיה נתוני יישום תקפים.
הוסף תמיד תיקיית משנה לנתיב אותו מחזירה SHGetFolderPath. השתמש באמנה הבאה: "\ נתוני יישום \ שם חברה \ שם מוצר \ גרסת מוצר".