עזרה בקוד בVB.NET

ארי4791

משתמש צעיר
אני רוצה לעשות תוכנה שבבחירת תיקייה במחשב הוא מציג את כל הקבצים שנמצאים בתיקייה הזאת ובתיקיות המשנה שלה?
יש איך לעשות דבר כזה?
 

ארי4791

משתמש צעיר
הצלחתי להוציא משם רק את מספר הקבצים שקיימים.
יש איך להוציא שיכתוב לי את השמות שלהם?
 

moishy

משתמש סופר מקצוען
מנוי פרימיום
זה בדיוק מה שהשורה הזו עושה:
קוד:
Console.WriteLine(path)
 

ארי4791

משתמש צעיר
ואיך אני עושה שהוא יציג לי אותם?
אני רוצה שהם יופיעו לי בשורות שאפשר ללחוץ עליהם כדי לפתוח אותם (את זה אני יודע לעשות9
תודה
 

FullTime

משתמש מקצוען
השורה שמוישי הביא כותב את נתיב הקבצים בדיוק כמו שהוא כותב את המספר.

איפה אתה מציג אותם, בחלון ה Console?
אם כן, אז יכול להיות שהקבצים או הנתיב הם בעברית, והוא מסתבך איתם.

תנסה להשתמש בנתיב ושמות קבצים באנגלית בלבד, ותבדוק אם הוא מציג את הקבצים
 

ארי4791

משתמש צעיר
אני משתמש בקוד visual basic בVB.NET גם שם הקוד הזה אמור לעבוד? (עם השפה הזו)
 

FullTime

משתמש מקצוען
אמרת שזה מציג לך את מספר הקבצים, זה אומר שזה עובד.
תעלה כאן צילום מסך של הפלט שקיבלת. (החלון בו אתה רואה את מספר הקבצים)
 

עמיק

משתמש פעיל
כדי לפתוח פיזית עם אפשרות לבחירת קובץ
תחפש חומר על
FolderBrowserDialog
OpenFileDialog
 

ארי4791

משתמש צעיר
יש כאן את החלון של הקוד אני רוצה שבלחיצה על Button1 זה יביא לי את מספר הקבצים שיש בתיקייה הזו ובלחיצה על Button2 זה יביא לי רשימה שלהם בחלון הטקסט שלי (אגב איזה סוג של תיבת טקסט הכי טוב לעשות TextBox / ListBox / TreeView ?)
חלון הטופס.jpg
חלון הקוד.jpg
 

ארי4791

משתמש צעיר
אם אני מסמן את השורה Return result בקוד GetFilesRecursive זה מה שהוא מראה לי
זה אומר שיש לו את הנתונים אבל איך אני מוציא אותם?
תמונה1.png
 

FullTime

משתמש מקצוען
לא קראת לו נכון.
תעתיק רק את הקלאס FileHelper
אח"ז תעתיק את הקוד שבתוך הmain ללחצן שלך.

במקום השורה הזאת:
קוד:
Console.WriteLine(path)
תכניס:
קוד:
ListBox1.Items.Add(path)
 

ארי4791

משתמש צעיר
תודה רבה מאוד!
זה עובד לי מצוין.
עשיתי גם שכשלוחצים על שורה זה פותח את הקובץ.
עכשיו שתי שאלות אם אפשר: א. איך אפשר לעשות שרק בלחיצה כפולה על השורה זה יפתח את הקובץ , אני עשיתי פקודה ב ListBox1_SelectedIndexChanged אבל זה גם בלחיצה בודדה (דבר שקורה גם בטעות) יש דרך לעשות את זה?
ב. אני רוצה לעשות תיבת טקסט לחיפוש בתוצאות שם של קובץ או חלק ממנו, יש פקודה לזה?
 

FullTime

משתמש מקצוען
לשאלה השניה, הכי קל יהיה לבנות מחדש את הlistbox ולהכניס ערך סינון.

לשם כך, ראה את ההבדל בשורות האלו:
(הוספתי ארגומנט שיחזיר רק את הקבצים שמכילים חלק מתוך התיבה)

קוד:
  Public Shared Function GetFilesRecursive(ByVal initial As String, ByVal nameFile As String) As List(Of String)
נוסף:
, ByVal nameFile As String

result.AddRange(Directory.GetFiles(dir, "*" & nameFile & "*.*"))
נוסף: " & nameFile & "*

ובקריאת חיפוש תקרא לו כך
קוד:
FileHelper.GetFilesRecursive("C:\facepath", TextBox2.Text)

כדי להחזיר את כל הקבצים תשאיר את התיבה ריקה.
 

ארי4791

משתמש צעיר
@a26955 אני רוצה שאחרי שהוא מוצא לי את כל הקבצים, אני יוכל לחפש בתוצאות את הקובץ לא שבחיפוש ימצא לי אותו.
תודה רבה
 

ארי4791

משתמש צעיר
האם יש דרך להגדיר לו שכשהוא מציג את הקבצים בListBox הוא יראה את הנתיב שלהם אבל בלי הנתיב שהגדרתי לו (שהוא משותף לכולם)?
תודה
 

ארי4791

משתמש צעיר
נסיתי
קוד:
ListBox1.Items.Add(path.Substring(0, path.Length - TextBox2.Text.Length))
אבל זה מוריד מהסוף (גם כשכל הנתיב הוא באנגלית), איך אפשר להגיד לו להוריד רק מההתחלה?
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קלג

א שִׁיר הַמַּעֲלוֹת לְדָוִד הִנֵּה מַה טּוֹב וּמַה נָּעִים שֶׁבֶת אַחִים גַּם יָחַד:ב כַּשֶּׁמֶן הַטּוֹב עַל הָרֹאשׁ יֹרֵד עַל הַזָּקָן זְקַן אַהֲרֹן שֶׁיֹּרֵד עַל פִּי מִדּוֹתָיו:ג כְּטַל חֶרְמוֹן שֶׁיֹּרֵד עַל הַרְרֵי צִיּוֹן כִּי שָׁם צִוָּה יְהוָה אֶת הַבְּרָכָה חַיִּים עַד הָעוֹלָם:
נקרא  19  פעמים

אתגר AI

חיבורים • אתגר 18

לוח מודעות

למעלה