שמות קבצים וספריות

המידע בסעיף זה חל על סגנון Explorer והן בסגנון הישן בתיבות הדו-שיח פתיחה , שמירה בשם.

לפני קריאה לפונקציות GetOpenFileName או GetSaveFileName , חבר lpstrFile של מבנה הפרמטר OPENFILENAME חייב להצביע אל המאגר כדי לקבל את שם הקובץ. החבר nMaxFile , עליך לציין את הגודל, בבתים (בגירסת ANSI) או תווים של 16 סיביות (גירסת Unicode), מאגר lpstrFile.

אם המשתמש מציין שם קובץ ולוחץ על לחצן אישור , תיבת הדו-שיח העתקת הכונן הנבחר, ספריה, שם הקובץ למאגר lpstrFile . הפונקציה מגדיר גם את החברים nFileOffset ו- nFileExtension כדי קיזוז, בתים (בגירסת ANSI) או בתווים 16-סיביות (גירסת Unicode), מנקודת ההתחלה של המאגר על שם קובץ, סיומת שם הקובץ, בהתאמה.

כדי לאחזר רק שם הקובץ והסיומת, להגדיר את האיבר lpstrFileTitle הצבע על מאגר ולהגדיר את החבר nMaxFileTitle הגודל, בבתים (בגירסת ANSI) או תווים של 16 סיביות (גירסת Unicode), המאגר. לחלופין, באפשרותך להעביר את מאגר lpstrFile בקריאה לפונקציה GetFileTitle כדי לקבל את שם התצוגה של הקובץ הנבחר. הערה שם הקובץ המחזירה GetFileTitle כולל סיומת רק אם זוהי ההעדפה של המשתמש עבור הצגת שמות קבצים.

בתיבת הדו-שיח משתמש הספריה הנוכחית עבור תהליך הקריאה כספריית ההתחלתי ממנו יש להציג קבצים וספריות. השתמש GetCurrentDirectory או SetCurrentDirectory פונקציות או לשנות את הספריה הנוכחית. כדי לציין ספריה התחלתית אחרת מבלי לשנות את הספריה הנוכחית, השתמש חבר lpstrInitialDir כדי לציין את שם הספריה. תיבת הדו-שיח משתנה אוטומטית את מדריך הכתובות הנוכחי כאשר המשתמש בוחר כונן אחר או ספריה. כדי למנוע שינוי בספריה הנוכחית של תיבת הדו-שיח, הגדר את הדגל OFN_NOCHANGEDIR. דגל זה מונעת מהמשתמש לשנות ספריות כדי למצוא קובץ.

כדי לציין את סיומת שם הקובץ של ברירת המחדל, השתמש חבר lpstrDefExt . אם המשתמש מציין שם קובץ שאין לו סיומת, תיבת הדו-שיח הוספת סיומת ברירת המחדל שלך. אם תציין סיומת ברירת המחדל של המשתמש מציין שם קובץ עם סיומת שונה, הערכות בתיבת הדו-שיח OFN_EXTENSIONDIFFERENT דגל.

לאפשר למשתמש לבחור קובץ אחד או יותר מספריה, להגדיר את הדגל OFN_ALLOWMULTISELECT. עבור תאימות עם יישומים ישנים יותר, ברירת המחדל מרובות בתיבת הדו-שיח בחירת משתמש ממשק המשתמש בסגנון הישן. כדי להציג Explorer-סגנון תיבת דו-שיח לבחירת מרובים, עליך להגדיר גם את הדגל OFN_EXPLORER.

אם המשתמש בוחר יותר מקובץ אחד, המאגר הצביע על-ידי חבר lpstrFile מחזירה הנתיב לספריה הנוכחית ואחריו שמות הקבצים של הקבצים שנבחרו. חבר nFileOffset ההיסט לשם הקובץ הראשון, חבר nFileExtension לא נעשה. הטבלה הבאה מתארת את ההבדל בין בסגנון Explorer ותיבות דו-שיח בסגנון הישן ב החזרת שמות קבצים מרובים.

סגנון תיבת הדו-שיח תיאור
תיבות דו-שיח של explorer בסגנון מחרוזות הספריה ושם הם NULL המופרדות באמצעות תו NULL נוספים אחרי שם הקובץ האחרון. תבנית זו מאפשרת את תיבות דו-שיח של Explorer בסגנון לחזור ארוכים כוללות רווחים.
תיבות דו-שיח בסגנון הישן מחרוזות הספריה ושם מופרדים באמצעות רווחים. שמות הקבצים באמצעות רווחים, הפונקציה משתמשת שמות קבצים קצרים.

באפשרותך להשתמש בפונקציה FindFirstFile כדי להמיר בין שמות קבצים ארוך וקצר.

Index