@קומפיונט
שני הדברים שאתה מציע קשורים זה לזה? או שזה שני הצעות נפרדות?
אגב עיקר העיסוק שלי הוא עם תוספים לוורד שבעצם רק תומכים ב .net framework
pcinfogmach
-
אפליקציית wpf מקומפלת ל־.NET Framework 4.7.2 לא עובדת על Windows 11 -
אפליקציית wpf מקומפלת ל־.NET Framework 4.7.2 לא עובדת על Windows 11אני עובד על אפליקציית WPF שמקומפלת עם .NET Framework v4.7.2
לפי ההבנה שלי, .NET Framework אמור להיות backward compatible, ולכן אם אני משתמש רק בפונקציות שקיימות ב־4.7.2 — האפליקציה אמורה לעבוד גם על Windows 11 (שבו מותקן כבר 4.8)/
אבל בפועל — על כמה מחשבים עם Windows 11, האפליקציה לא נפתחת כלל
במחשבים עם Windows 8.1/10 הכל עובד כרגיל.
ואם אני מקמפל ל .NET Framework v4.8 הכל עובד בווינדוס 11.הסיבה שאני עובד עם 4.7.2 בגלל שחלק מהמשתמשים שלי עדיין משתמשים בווינדוס 8 ואני רוצה לחסוך לעצמי את הצורך להפיץ גם /netframework ובפרט שזה יהפוך את קובץ ההתקנה להרבה יותר כבד ממה שהוא כעת.
מישהו נתקל בתופעה דומה?
האם יכול להיות שה־Windows 11 בכלל לא טוען את גרסת 4.7.2 למרות התאימות לאחור?אשמח מאוד לרעיונות, כיווני בדיקה, או כל חוויה דומה
-
אתר לחיפוש מסעדות כשרותאולי במקום "ביקורת" עדיף "חוות דעת" או "המלצות"
-
הדפדפן ככלי אולטמטיבי לפיתוח GUI@dovid כתב בהדפדפן ככלי אולטמטיבי לפיתוח GUI:
כיום נהייתה אפשרות חדשה, להשתמש בפקד WebView2 המטורף של מייקרוסופט. זה בעצם edge (שזה כרום) עם המון מאפיינים אירועים ופונקציות לשליטה מוחלטת עליו. אפשר להגיש שפקד תיקיית HTML סטטית, ולתקשר דרך הJS עם התוכנה המארחת שיכולה להיות WPF עם C#, אני עשיתי את זה וזה ממש עובד נהדר.
אשמח מאוד אם תוכל לשתף דוגמה קצרה (אם זה לא טרחה גדולה).
מה שמאתגר אותי במיוחד זה החיבור בין המשתנים בקוד C# לבין הסקריפט ב-JS — למשל: איך לקשר ערך bool ל־checkbox בדף?
איך ניתן לטעון מראש משתנים רבים מתוך אובייקט data ב־C# אל תוך הדף, ואחר כך — איך אפשר לעדכן את ה־data הזה מתוך הדף עצמו?חשוב לי לעשות זאת בקוד קצר ונקי ככל האפשר, בלי מגילות אינסופיות.
-
מילוי טופס pdf באתר שלי אונליין - איך אפשר?עוד דרך - אבל זה עבודת נמלים:
להמיר את הקובץ וורד ל-html ואז לעבור על השדות אחד אחד ולהגדיר אותם כ-editable ולשמור את הפרטים משדות אלואת ההמרה עשיתי עם convertio ההמה של וורד לא היתה טובה מספיק
-
מילוי טופס pdf באתר שלי אונליין - איך אפשר?@ששא
למה שהמתשמש לא יוריד למחשב, ואז פשוט ישלח לך את הממולא אתה יכול להוסיף גם משהו באתר שאפשר להעלות לך קבצים.
אם תרצה שהמתמש יכול למלאות ולשלוח לך ישירות מתוך האתר תצטרך כבר להשתמש בספריות backend
נ.ב. אתה כותב דוגמא כמו בלבלרון (ז"ל) אבל אין שום דרך לראות למה אתה מתכווין בגלל הז"ל. -
מילוי טופס pdf באתר שלי אונליין - איך אפשר? -
התראה על יציאה ממ"ד & שיפור אתר פיקוד העורף@אבי-203 כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:
@pcinfogmach למה זה חשוב? בשביל חיפוש מהיר ברשימה?
כי כשיש התראה בצפון ירושלים זה לא בהכרח בדרום ירושלים - בקיצער זה בעצם כמו שני ערים שונות. ככה הם גם עשו באתר של פיקוד העורף. תודה.
-
התראה על יציאה ממ"ד & שיפור אתר פיקוד העורף@אבי-203
מדהים! יש אפשרות לחלוקה לפי איזורים?
למשל ירושלים צפון דרום וכו'? -
הדפדפן ככלי אולטמטיבי לפיתוח GUI@dovid כתב בהדפדפן ככלי אולטמטיבי לפיתוח GUI:
אם אתה רוצה לשלב ממשק WEB אתה לא יכול לעשות את זה בלי ללמוד פיתוח לWEB
מה בעצם אני צריך ללמוד כדי ללמוד פיתוח WEB
-
הדפדפן ככלי אולטמטיבי לפיתוח GUIעוד שאלה בנושא הנ"ל:
מה קורה אם אני מפתח תוכנה שאני לא רוצה שהקוד יהיה זמין וקריא ככה בקלות? אם הכל זה קבצי JS ו-html? -
הדפדפן ככלי אולטמטיבי לפיתוח GUI@dovid כתב בהדפדפן ככלי אולטמטיבי לפיתוח GUI:
כיום נהייתה אפשרות חדשה, להשתמש בפקד WebView2 המטורף של מייקרוסופט. זה בעצם edge (שזה כרום) עם המון מאפיינים אירועים ופונקציות לשליטה מוחלטת עליו. אפשר להגיש שפקד תיקיית HTML סטטית, ולתקשר דרך הJS עם התוכנה המארחת שיכולה להיות WPF עם C#, אני עשיתי את זה וזה ממש עובד נהדר.
אני משתמש באופציה זו הרבה - מה שמעניין לי שאתה מגדיר אותה כאופציה נהדרת בזמן שאצלי זה רק מקל עלי בגלל סיבה אחת שאני מתעסק עם מסמכים על בסיס טקסט (כלומר מאגרים תורניים).
לולא זה אני מרגיש שאני מפסיד מדאי הרבה כשאני עובר לדפדפן - אני מפסיד את הקלות של ה-debugging, את ה-intellisense העוצמתי של C#, את ההתמשקות העוצמתית של C# עם WPF.טוב, כתבת שזה קשה אולי לזה התכוונת.
בכל אופן עדיין נותרו לי כמה שאלות ברמה כללית:
א. האם זה לא מאט את זמן הטעינה - לעבוד ככה?
ב. האם יש לי את הגמישות של ה-layout שאני מכיר ב-wpf?
ג. באיזה IDE אוכל להשתמש כדי לייצר אפליקציות בזרימה שאני מכיר מ-C#. -
הדפדפן ככלי אולטמטיבי לפיתוח GUI@צדיק-תמים
האם ספריות צד ג' עובדים אופליין? אם כן אשמח לשמוע כיוונים טובים בנושא.
כבר מזמן רציתי לעבור לפיתוח בדפדפן אבל לא מצאתי לכך דרך משביעה רצון. (אני בבורותי מכיר C# wpf - וזהו). -
הדפדפן ככלי אולטמטיבי לפיתוח GUI@dovid כתב בשיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת:
@pcinfogmach שום כלי ושום פלטפורמה כיום לא טובה מספיק כמו הסטאק של הדפדפן.
למשל אם משתמשים בכלי UI שעובד עם פייתון ורוצים שיהיה עיצוב בעת מעבר עכבר (:hover בCSS), זה פי כמה (עשרות? ואולי מאות?) עבודה, תחזוקה, ואי יעילות, מהשורת עיצוב הקלילה בCSS.
הדפדפן זה הכלי האולטימטיבי לפיתוח GUI היום, גם של תוכנות אופליין (כמו VSCODE)מאוד מעניין מה שאתה אומר: חושבני שזה תלוי מאוד מה אתה עושה דברים פשוטים כמו שתיארת זה נכון. יש גמישות אדירה בדפדפן שאין פשוט אין בנמצא.
מאידך (תתקן אותי אם אני טועה) פקדים מורכבים - צריך הרבה יותר יצירתיות. או ספריות צד שלישי.
אנקוט שני דוגמאות למשל שבבורותי אינני יודע אם הם קשים או לא:- יצירת פקד עץ.
- גרירה של אובייקטים.
ועוד שאלה: כמדומני שהביצועים של JS מוגבלים אם עושים פעולות כבדות
ועוד שאלה: כמדומני שיש הגבלות חמורות בהרשאות גישה על הדפדפן מסיבות בטיחות.
ועוד שאלה: כמדומני שדפדפן זולל זיכרון - לא?בקיצור אשמח לשמוע איך בעצם אפשר לתכנת על מלא על בסיס JS -HTML.
-
שיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת@יהודי-טוב כתב בשיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת:
אני חושב שכבר אין הרבה אנשים כאלו.
אתה טועה. (אני לא מנחש אני אומר לך על בסיס המיילים שאני מקבל מאנשים על התוכנות שלי).
בפרט שהסיכויים שהתוכנה תהיה בשימוש או על ידי הגבאי במחשב של בית הכנסת או על ידי בחור שהשיג איזשהו מחשב לפני ראש השנה יו"כ.בכל אופן גם אתר ובפרט אתר סטטי אפשר להנגיש בלי חיבור לאינטרנט.
-
שיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת@dovid
השאלה היא האם זה חייב להיות אתר - הסיכויים שאנשים יעדיפו תוכנה ללא חיבור לאינטרנט.
איפה שהאתר אוחז עכשיו כמדומני שהבינה תייצר בפייתון תוך רגעים ספורים על ידי שיראו לה את התמונה בלבד.בכל אופן אם הרב @מעלה-ומוריד הולך להמשיך עם האתר ההמלצה שלי היא:
כתוב הוראות מפורטות אך ממוקודות פרק את התוכנה לכמה שיותר פונקציות נפרדות. אחרת תצטרך ממש להילחם עם הבינה.
או יותר טוב קח דקה לנסות לקרוא באינטרנט על הפונקציה שאתה רוצה כך תדע מה לומר לבינה לעשות.
ויותר חשוב מהכל - לא מצליח לעשות משהו - תשאל! לזה נועד הפורום. הרבה הצלחה. באמת רעיון מדהים. -
שיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת@מעלה-ומוריד כתב בשיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת:
מילתא גנאה דאית בי אומר מיד - אינני מתכנת. אני כן יודע לקרוא קוד פחות או יותר. אבל כמובן אין לי ההבנה וההתמחות לעשות עשירית מהמיני תוכנה הזו.
לא יודע איזה שפת תיכנות התוכנה ומה היכולות שלך. אבל לפי התוכנה הייתי ממליץ לך על פייתון. בשפה זו הבינה הכי מצליחה לייצר דברים מורכבים וטובים עם הכי פחות ידע מצד המתכנת. לא ניסייתי זאת אישית אבל זה מה שהבנתי מפוסטים שונים במתמחים טופ.
אגב אתה יכול להראות לבינה תמונות לא תמיד אתה חייב לתאר במילים מה אתה עושה. אז אפ אתה מתקשה להסביר לה משהו תייצר תמונה של זה אולי זה יעזור.
עוד עצה - שמור על פרופיל נמוך בנה תוכנה בסיסית רק עם מה שנצרך אמת, ככל שתעשה משהו יותר משוכלל יותר תסתבך עם הבינה. -
באג מוזר בוורד@שוהם307
האם התקנת פונטים אחרים לאחרונה? -
האצת TreeView ב-WPF על ידי וירטואליזציה עצמיתאם יצא לכם לעבוד עם TreeView ב-WPF ולהציג בו הרבה נתונים, אולי נתקלתם בהאטה בביצועים — במיוחד כשיש הרבה Nodes טעונים מראש.
בפקדים מבוססי רשימות (כמו ListBox), ניתן לפתור זאת על ידי שימוש ב-Virtualization, שמונעת טעינה של פריטים שלא מוצגים כרגע. אך TreeView, בשל המבנה ההיררכי שלו, לא תומך ב-Virtualization בצורה יעילה.
לכן, יצרתי פתרון פשוט שמדמה את ההתנהגות הזו על ידי טעינה עצלנית (Lazy Loading) של התוכן. זה לא רעיון חדש, אבל שווה להזכיר למי שלא מכיר או שכח שיש דרך לשפר את הביצועים בצורה ניכרת.
איך זה עובד בפועל:
כשפריט נטען לראשונה (Loaded), מוצג רק placeholder כדי להימנע מטעינה מיותרת.
רק בעת פתיחה (Expanded), נטענים בפועל הנתונים מה-ViewModel.
בעת סגירה (Collapsed), הנתונים מתחלפים שוב ב-placeholder — שחרור פשוט של משאבים.שימו לב! במקרה זה אל תשתמשו ב-itemsource עבור HierarchicalDataTemplate ב- Xaml
להלן קוד דוגמא שמיישם את ההתנהגות הזו:
אשמח לקבל הצעות לשיפור:
כמו"כ אשמח לשמוע רעיונות איך להפוך את זה למשהו יותר כללי (כרגע הוא מגבל לסוג datacontext מסויים מאוד.using System.Windows.Controls; using System.Windows; using Otzarnik.FsViewer; using System.Collections.Generic; namespace Oztarnik.Helpers { public static class TreeItemVirtualizationBehavior { public static bool GetEnableVirtualization(DependencyObject obj) => (bool)obj.GetValue(EnableVirtualizationProperty); public static void SetEnableVirtualization(DependencyObject obj, bool value) => obj.SetValue(EnableVirtualizationProperty, value); public static readonly DependencyProperty EnableVirtualizationProperty = DependencyProperty.RegisterAttached("EnableVirtualization", typeof(bool), typeof(TreeItemVirtualizationBehavior), new PropertyMetadata(false, OnEnableVirtualizationChanged)); private static void OnEnableVirtualizationChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (d is TreeViewItem item && e.NewValue is bool enabled) { if (enabled) { item.Expanded += OnItemExpanded; item.Collapsed += OnItemCollapsed; item.Loaded += Item_Loaded; } else { item.Expanded -= OnItemExpanded; item.Collapsed -= OnItemCollapsed; item.Loaded -= Item_Loaded; } } } private static void Item_Loaded(object sender, RoutedEventArgs e) { if (sender is TreeViewItem treeViewItem && treeViewItem.DataContext is TreeItem treeItem && treeItem.Items?.Count > 0) treeViewItem.ItemsSource = new List<string> { "" }; } private static void OnItemExpanded(object sender, RoutedEventArgs e) { if (sender is TreeViewItem treeViewItem && treeViewItem.DataContext is TreeItem treeItem && treeItem.Items?.Count > 0) treeViewItem.ItemsSource = treeItem.Items; } private static void OnItemCollapsed(object sender, RoutedEventArgs e) { if (sender is TreeViewItem treeViewItem && treeViewItem.DataContext is TreeItem treeItem && treeItem.Items?.Count > 0) treeViewItem.ItemsSource = new List<string> { ""}; } } }