אובייקט אקורדיון באקסס
-
רציתי להתייעץ ולשמוע את דעתכם.
מכירים את האקורדיון בWEB?
מישהו הציע לי לממש אובייקט דומה באקסס, במיוחד במסכים עתירי נתונים, או מסכים עם שלבים שצריך סדר ברור בין שלב לשלב. (כיום כשצריך ללכת שלב אחרי שלב אני נוהג להשתמש עם TabControl).
אני מצרף את האובייקט שבניתי, שזה בעצם מסך עם 9 כפתורים. (אחד הדברים המעצבנים באקסס, זה שא"א ליצור פקדים על המסך תוך כדי ריצה.) + אובייקט טאב עם 9 עמודים.
כמובן שאפשר לממש את זה עם כל מספר עמודים שתרצו וכן כל מספר כפתורים, רק שימו לב שאתם יוצרים מספר עמודים שווה למספר הכפתורים, וכן שימו לב שאתם קוראים לכפתורים בשם C + המספר הסידורי שלו.הקוד:
Public Function setCmd(icmd As Integer) ' מטרת הפונקצייה לסדר את האקורדיון ' משתנה עבור גובה כולל Dim AllH As Long ' הכפתור הראשון בגובה 0 c1.Top = 0 ' מעבר בפור על כל הכפתורים For i = 1 To 9 'הגובה של הכפתור הוא הגובה הכולל + 20 Me("c" & i).Top = AllH + 20 ' שינוי הערך של הגובה הכולל AllH = AllH + Me("c" & i).Height + 20 ' בדיקה אם הכפתור הוא הכפתור שנלחץ (לפי המספר שבר בפרמטר) ואם כן, להציב שם את הטאב If icmd = i Then ' הצבת הטאב Me!TabCtl.Top = AllH + 20 ' הגובה של הכל עד עכשיו AllH = AllH + TabCtl.Height + 20 End If ' מעבר לכפתור הבא Next ' הערך של הטאב הנוכחי הוא מספר הכפתור פחות אחד, כי האינדקס בטאב קונטרול מתחיל מ0 Me!TabCtl.Value = icmd - 1 End Function
להורדת הדוגמא:
Accordion.zip
[size=150:2qf5zpm2]הקובץ + קוד המקור פתוח לשימוש ושינוי חופשי![/size:2qf5zpm2]אשמח לשמוע גם ממי שלא באקסס (וכמובן ממי שבאקסס), האם ראוי בכלל לנסות לכתוב פקדי WEB או להביא ממשק WEB לטפסי חלון, או שזה סתם עירבוב מעצבן בין התחומים.
פורסם במקור בפורום CODE613 ב05/01/2014 23:45 (+02:00)
-
אחד הדברים המעצבנים באקסס, זה שא"א ליצור פקדים על המסך תוך כדי ריצה.
כתבתי כבר את הסיבה.
בכל מקרה זה לא 9 עמודות , (אא"כ אתה מתכוון לטאב קונטרול). תפתח את האקסס (תעשה לפני זה ריסט מהARCH-LINUX לחלזונות), ותראה מה התכוונתי.
אני מצרף גם תמונה.Screenshot 2014-01-06 00.13.25.png
פורסם במקור בפורום CODE613 ב06/01/2014 00:16 (+02:00)
-
הייתי אולי ממליץ להעביר בפונקציה מיערך עם כותרת + תוכן. ככה שאתה עושה לופ לפי גודל המערך ולא שרירותי.
בגלל שזה לא WEB, והממשק לא מבקש מAJAX לספר לשרת מה הID שהוא קיבל ואיזה HTML להחזיר (וגם זה שכשהתוכן יישלח עם הSUBMIT הוא לא חוזר לשרת), אז זה לא כ"כ שייך. (הרי לא מדובר בטפסים בזמן ריצה.- הלוואי...).
הכל מעוצב בתוך הטופס עצמו מראש.
בעיקרון, זו השיטה הרווחת בWINFORM ודומיה, (אפילו בWPF ובASPX) - וממש בעיקרון, אפילו בPHP. תקן אותי אם אני טועה. (אני לא טוען ח"ו שא"א לבצע טפסים דינמיים בשלל השפות שהזכרתי, אלא שהמתכנת בד"כ מעצב את הטופס מראש...)פורסם במקור בפורום CODE613 ב06/01/2014 00:22 (+02:00)
-
הבנתי את זה. אני רק מתכוון שתוכל תמיד להעביר פרמטרים לפי מערך, וככה לא לכתוב את זה ידני כל הזמן.
ממש לא כותב ידנית.
זה רץ בפור.
רק לכמות אין מה לעשות. זה בסיס לטופס.
אולי ארכיטקט יחכים אותנו בעניין??פורסם במקור בפורום CODE613 ב06/01/2014 00:24 (+02:00)
-
גם ברמה הכי בסיסית. לצורך העניין הייתי עושה כזה דבר:
<?php $items = array( array( 'id' => 'my_id1', 'title' => 'My Title', ), array( 'id' => 'my_id2', 'title' => 'My Title 2', ), array( 'id' => 'my_id3', 'title' => 'My Title 3', ), ); function print_items( $items ) { foreach ( $items as $item ) { echo $item['id'], $item['title']; } } print_items( $items );
הקוד למעשה לא עושה כלום בתאכלס, אבל ככה זה יותר נוח מאשר לכתוב כל דבר כמה וכמה פעמים. אתה כאן מעביר את הנתון, והלולאה כבר תדפיס את זה בצורה הנכונה.. מבלי לעשות Copy Paste.
פורסם במקור בפורום CODE613 ב06/01/2014 00:27 (+02:00)
-
תראה הטריק הוא יפה, אבל זה ממש לא נייד, כל פעם שתרצה להעביר את זה למקום אחר עם נתונים טיפה שונים אתה תצטרך לחשוב טוב טוב מה לשנות והיכן וזה עלול להביא לשגיאות, בקיצור זה לא פקד גנארי
אולי עדיף לכתוב DLL חיצוני בדוטנט שיהיה בו תיבת דו שיח וכשצריך תציג את התיבת דו שיח הזו, ובה יהיה את האוקורדיון.
אני חושב שראיתי שאפשר ליצור פקדי אקטיבי X וליבא אותם לאקסס.פורסם במקור בפורום CODE613 ב06/01/2014 08:53 (+02:00)
-
תראה הטריק הוא יפה, אבל זה ממש לא נייד, כל פעם שתרצה להעביר את זה למקום אחר עם נתונים טיפה שונים אתה תצטרך לחשוב טוב טוב מה לשנות והיכן וזה עלול להביא לשגיאות, בקיצור זה לא פקד גנארי
אולי עדיף לכתוב DLL חיצוני בדוטנט שיהיה בו תיבת דו שיח וכשצריך תציג את התיבת דו שיח הזו, ובה יהיה את האוקורדיון.
אני חושב שראיתי שאפשר ליצור פקדי אקטיבי X וליבא אותם לאקסס.ממש לא!
אני שומר לי טופס אחד של אב טיפוס, ופשוט מעתיק אותו לשם חדש כל פעם שאני צריך להשתמש בזה, אין שם שום נתונים ושומכלום :lol:
ובקוד כזה קטראין מקום לשגיאות אם שומרים על המבנה....
ועוד משהו זה לא תיבת דו שיח! זה אמור להיות טופס עבודה עם נתונים.
נכון שהייתי מעדיף אובייקט מוכן בDLL ואז כל שינוי שהייתי עושה שם זה היה מתבטא בכל מקום בתוכנית, אבל אין הצר שווה בנזק המלך....פורסם במקור בפורום CODE613 ב06/01/2014 09:17 (+02:00)
-
רציתי להתייעץ ולשמוע את דעתכם.
........אשמח לשמוע גם ממי שלא באקסס (וכמובן ממי שבאקסס), האם ראוי בכלל לנסות לכתוב פקדי WEB או להביא ממשק WEB לטפסי חלון, או שזה סתם עירבוב מעצבן בין התחומים.
[size=150:bgsuz69e]מעניין שעל זה אף אחד לא ענה.[/size:bgsuz69e]
מה אתם אומרים, ראוי בכלל לנסות לכתוב פקדי WEB או להביא ממשק דמוי WEB לטפסי חלון, או שזה סתם עירבוב מעצבן בין התחומים.
אתם מתחברים לממשק כזה? או הייתם מעדיפים טפסים פשוטים?
דעתכם חשובה לי!!פורסם במקור בפורום CODE613 ב07/01/2014 23:20 (+02:00)
-
למה כילאים?
אני מבין שיש לך חסכים מאיפה שאתה עומד.. :mrgreen:ממש לא! כמו שאתה (ומיסטר ר') מתנגדים להביא את עולם הטפסים כי א"א לעשות כלאיים....
@ארכיטקטאני נגד לכתוב פקדי web באקסס.
מי שכבר עובר ל web שיעבור עד הסוף, מי שעובד עם אקסס שיבין שאלו הם יכולותיו, זה לא שווה את התחזוקה.
השאלה האם אובייקט אקורדיון שווה ערך לWEB, וזה חיקוי, או שכמו שיש תיבת טקסט ומשולבת בWEB, אין התנגדות שיהיה אובייקט אקורדיון באקסס.
פורסם במקור בפורום CODE613 ב08/01/2014 09:48 (+02:00)
-
web בלי שרת, זה לא שווה כלום.
איך תקרא את תוכן הפקדים?
איך תאזין לאירועי הדף/JS?
הפיתרון המסורבל הוא להשתמש בקבצים שזה זבל של עבודה.בקיצור אם אתה פוזל למקומות אחרים (אני מעודד) נסה שוב, תכנות לווב לגמרי או WPF (מומלץ בחום!!).
פורסם במקור בפורום CODE613 ב08/01/2014 11:16 (+02:00)
-
@דוד ל.ט.
web בלי שרת, זה לא שווה כלום.
איך תקרא את תוכן הפקדים?
איך תאזין לאירועי הדף/JS?
הפיתרון המסורבל הוא להשתמש בקבצים שזה זבל של עבודה.בקיצור אם אתה פוזל למקומות אחרים (אני מעודד) נסה שוב, תכנות לווב לגמרי או WPF (מומלץ בחום!!).
אני מציע שתקרא שוב את ההודעה הראשונה בשירשור, ותוריד את הדוגמא.
לא התכוונתי ח"ו לפקד WEB אמיתי, אלא דימוי של WEB בצורה שבה זה נראה ומתנהג.פורסם במקור בפורום CODE613 ב08/01/2014 11:25 (+02:00)