עזרה באקסס קוד לזיהוי רקע מחשב

ארי4791

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

מתמצא

משתמש פעיל
מה אתה רוצה שיקרה?
אתה יכול להשתמש בבדיקה מה אורך המחרוזת
קוד:
strDir = dir({נתיב})
if strDir = "" then
....
'או לחילופין
if len(strDir) then
 

ארי4791

משתמש צעיר
עזוב.
משום מה זה יותר הסתבך לי מאשר מה שאני מצאתי.
תודה בכל אופן על כל העזרה!!!
 

מתמצא

משתמש פעיל
בשמחה..
איך הקוד הנ"ל פותר לך את השגיאה כשאין קובץ בתיקיה, זה גם מחזיר מחרוזת ריקה
 

Rרחמים

משתמש סופר מקצוען
עיצוב גרפי
איור וציור מקצועי
מוזיקה ונגינה
עריכה תורנית
D I G I T A L
עימוד ספרים
שלום רב
אני בונה תוכנה באקסס, ואני רוצה שיהיה שם טופס שיש לו תמונה כמו הרקע של המחשב.
אני בניתי אותו בצורה שהוא יגדל על כל המסך ויסתיר הכל, ואני רוצה שזה יראה כאילו זה הרקע.
יש איזה קוד שמזהה איזה תמונה יש על הרקע של המחשב ואותה הוא ישים בטופס?
תודה
אפשר לעשות בקוד, שיצלם את המסך, ואת צילום המסך תשים כרקע של הטופס שלך.
 

מתמצא

משתמש פעיל
ודרך אגב אפשר לעשות כך
קוד:
strjpg  = nz(dir("C:\Users\*\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles\*.jpg"),"")


ואז אני כותב שאם המחרוז תריקה שישים תמונה ברירת מחדל.


אבל אם אין שם תמונה הוא לא מזהה את זה כמחזורת ריקה אלא כשגיאה.

יש לכם טעות קטנה
הפוקנציה dir אם היא לא מוצאת קובץ בנתיב שהוגדרה לה מחזירה מחרוזת ריקה - כלומר - "" , לא שגיאה!
מכאן, ש NZ לא יעזור, משום ש NZ מטפל בערכי NULL ולא במחרוזות ריקות

מה שהכי פשוט הוא לבדוק מה מתקבל ב DIR אם מקבלים "" או מחרוזת באורך 0 - זה אומר שלא נמצאה תמונה וע"כ שישים תמונות ברירת מחדל, ואם מקבלים מחרוזת ארוכה מ-0 או לא "" שישים את הנתיב שקיבל

@ארי4791 אם מוחזר לך שגיאה, כנראה את מגדיר את dir ישר למאפיין של תמונת הרקע, ולכן חוזרת שגיאה כיון שערך "" הוא ערך לא חוקי למאפיין תמונת רקע. אתה צריך להשים אותו במשתנה קודם כל ואז לבדוק מה נטען במשתנה
 

ארי4791

משתמש צעיר
ממה שאני מצליח להבין, השגיאה היא בגלל שאמנם בקוד של DIR אפשר לכתוב בסוף "*.jpg", אבל כשאני רוצה לכתוב את זה במאפיין של התמונת רקע הוא צריך שם מדויק של הקובץ, ואת זה הקוד של DIR לא נותן לי.
משא"כ לפי הקוד שאני הבאתי למעלה, הוא מחפש אם יש תמונה בתוך התיקייה הזאת, ואז מחזיר לי מחרוזת של הנתיב כולל השם של התמונה.
 

אפר

סתם מתעניין...
מנוי פרימיום
ממה שאני מצליח להבין, השגיאה היא בגלל שאמנם בקוד של DIR אפשר לכתוב בסוף "*.jpg", אבל כשאני רוצה לכתוב את זה במאפיין של התמונת רקע הוא צריך שם מדויק של הקובץ, ואת זה הקוד של DIR לא נותן לי.
משא"כ לפי הקוד שאני הבאתי למעלה, הוא מחפש אם יש תמונה בתוך התיקייה הזאת, ואז מחזיר לי מחרוזת של הנתיב כולל השם של התמונה.
זה מה ש DIR עושה
מחזיר את הנתיב הראשון המתאים לתנאי
יש לכם טעות קטנה
הפוקנציה dir אם היא לא מוצאת קובץ בנתיב שהוגדרה לה מחזירה מחרוזת ריקה - כלומר - "" , לא שגיאה!
מכאן, ש NZ לא יעזור, משום ש NZ מטפל בערכי NULL ולא במחרוזות ריקות

מה שהכי פשוט הוא לבדוק מה מתקבל ב DIR אם מקבלים "" או מחרוזת באורך 0 - זה אומר שלא נמצאה תמונה וע"כ שישים תמונות ברירת מחדל, ואם מקבלים מחרוזת ארוכה מ-0 או לא "" שישים את הנתיב שקיבל

@ארי4791 אם מוחזר לך שגיאה, כנראה את מגדיר את dir ישר למאפיין של תמונת הרקע, ולכן חוזרת שגיאה כיון שערך "" הוא ערך לא חוקי למאפיין תמונת רקע. אתה צריך להשים אותו במשתנה קודם כל ואז לבדוק מה נטען במשתנה
לא זכרתי אם מחזיר NULL או "" לכן כתבתי NZ בהתבסס על דברי @ארי4791
 

אפר

סתם מתעניין...
מנוי פרימיום
אתה בא לענות או לשאול?
אתה מסכים אם מה שאני אומר?
אני עונה ש DIR מחזיר את הנתיב המלא על פי הסינון שהכנסת לו
הכוכבית זה התנאי, התוצאה היא הנתיב המלא
על מנת להגן ממקרה שהנתיב ריק כי אין תמונה בתיקיה
מה שהכי פשוט הוא לבדוק מה מתקבל ב DIR אם מקבלים "" או מחרוזת באורך 0 - זה אומר שלא נמצאה תמונה וע"כ שישים תמונות ברירת מחדל, ואם מקבלים מחרוזת ארוכה מ-0 או לא "" שישים את הנתיב שקיבל
 

ארי4791

משתמש צעיר
ניסיתי לשים כך
קוד:
Dim be As String

be = Dir(Environ("APPDATA") & "\Microsoft\Windows\Themes\CachedFiles\*.jpg")
If be <> "" Then Me.Picture = be
אבל זה לא עובד.
 

אפר

סתם מתעניין...
מנוי פרימיום
ניסיתי לשים כך
קוד:
Dim be As String

be = Dir(Environ("APPDATA") & "\Microsoft\Windows\Themes\CachedFiles\*.jpg")
If be <> "" Then Me.Picture = be
אבל זה לא עובד.
צודק שכחתי שלא מחזיר נתיב מלא צריך לעשות כך
קוד:
be = Environ("APPDATA") & "\Microsoft\Windows\Themes\CachedFiles\" & Dir(Environ("APPDATA") & "\Microsoft\Windows\Themes\CachedFiles\*.jpg")
 

ארי4791

משתמש צעיר
ככה?
קוד:
be = Environ("APPDATA") & "\Microsoft\Windows\Themes\CachedFiles\" & Dir(Environ("APPDATA") & "\Microsoft\Windows\Themes\CachedFiles\*.jpg")
If be <> "" Then Me.Picture = be
הוא לא מחזיר שגיאה, אבל גם לא מזהה את התמונה.
הוא שם את התמונת ברירת מחדל.
 

אפר

סתם מתעניין...
מנוי פרימיום
ככה?
קוד:
be = Environ("APPDATA") & "\Microsoft\Windows\Themes\CachedFiles\" & Dir(Environ("APPDATA") & "\Microsoft\Windows\Themes\CachedFiles\*.jpg")
If be <> "" Then Me.Picture = be
הוא לא מחזיר שגיאה, אבל גם לא מזהה את התמונה.
הוא שם את התמונת ברירת מחדל.
למה פעמיים BE=
 

ארי4791

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

לילה טוב.
 

אפר

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

לילה טוב.
אצלי אין
 

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

הפרק היומי

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


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

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

אתגר AI

תקווה לעתיד טוב יותר • אתגר 17

לוח מודעות

למעלה