@dovid
ציטוט מתוך הלינק ששלחת לי
Keyboard shortcuts are currently only supported on Excel and only on these platforms and builds:
אני צריך לוורד
@dovid
ציטוט מתוך הלינק ששלחת לי
Keyboard shortcuts are currently only supported on Excel and only on these platforms and builds:
אני צריך לוורד
@dovid
פידבק שקיבלתי מחבר
זה יפה מאוד, כדאי לך לקחת בחשבון כמה פרטים חשובים
א'. אי סגירת החלונות צד ורק הסתרתם, יש לה מחיר במעבד ובראמ.
ב'. הוספת התיבה בעת פתיחת מסמך חדש, תגרום להאטה של פתיחת המסמך החדש, יש לשקול לעשות את זה רק זמן אחר פתיחת המסמך החדש.
יש אפשרות מובנית בוורד כמובן לעשות קיצור דרך אישי.
אני רוצה ליצור קיצור דרך מובנה לדוגמא:שאם מישהו ילחץ בוורד Alt + T אז ייפתח החלונית של התוסף.
חיפשתי רבות באינטרנט ולא מצאתי משהו חוץ מלעשות שהתוכנה תאזין ישירות להזנת המקשים של ווינדוס או לעשות תוסף נילווה בתוך תבנית וורד ושם להגדיר את הקיצור דרך.
יש למישהו ידע או רעיון בנושא איך לעשות זאת בצורה קצת יותר נורמלית?
תודה מראש
@dovid
תודה רבה מאוד עזרת לי
@dovid כתב בשאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib):
הצלבה של שימות זה מה שמישהו בכל מקרה צריך לעשות, אבל אתה עושה זאת במקום lucene זה בעצם אומר שאתה מוותר על היכולות שלה ומקבל הרבה פחות ביצועים (כי מעבר על התוצאות איטי בהרבה ממעבר על האינדקס, ואתה תצטרך את כלל התוצאות ולא N TOP).
שאלה: בבניית אינדקס כמו שרצינו בהתחלה עם sqlite ודומיו אין את החסרון הזה כי לכאורה גם שם צריך להצליב מידע בתוצאות כאשר יש חיפוש של כמה מילים?
ועוד שאלה אם בכל אופן בלית ברירה אלך על הצלבה באיזו ספרייה מומלץ להשתמש?
@dovid כתב בשאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib):
מהסיבה הזו אני תוהה אם הוא טוב לעברית
אכן הוא לא היה מושלם אבל עשה עבודה טובה מספיק שעם קצת התאמות הגעתי למה שרציתי. אבל לא בדקתי לעומק מה קורה במקרה של מה שנקרא "חיפוש פתוח" ייתכן מאוד שהוא מפשל עם העברית.
@dovid כתב בשאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib):
ממה שאני מבין, גם בחיפוש הרגיל של lucene אמורים לפצל את המילים ולהשתמש בPhraseQuery.
כוונתך לפקודה "queryParser"?
@dovid כתב בשאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib):
ראיתי כמה שמציינים שהיא בכל מקרה עם ביצועים גרועים במקרה הטוב, ביחס לביטוי רגיל (וזה מאוד הגיוני בהתחשב איך שעובד אינדקס).
החכמתני - תודה.
לכאורה במקרה שלי זה לא אמור להפריע כי אני לא מחפש כזו צורה של חיפוש רק חיפוש מדוייק על פי קריטוריונים מדוייקים של המחפש.
מה שחשבתי אולי לעשות זה חיפוש של כל מילה בנפרד ואז הצלבה של התוצאות השאלה כמה פרקטי הדבר כשיש אלפי תוצאות.
יש ספרייה מיועדת עבור הצלבות של רשימות באופן מהיר? דיברנו על זה קצת בעבר האם להתמש עם הרעיונות שהועלו שמה (ומה הכי מתאים למקרה זה? או עם משהו אחר.
תודה
כשאני מזין קלט רגקס של מילה אחת כגון "אבר.ם" לדוגמא אז הוא מוצא לי את "אברהם"
אבל כשאני מזין קלט של שני מילים כגון "בר.שית ב.א" הוא לא מחזיר לי כלום
יש לציין שבעיה זו היא בספרייה של contrib ובחיפוש רגקס בלבד אבל בחיפו ש הרגיל של lucen לא נתקלתי בשום בעיה עם חיפוש כמות מילים.
אפשר לעשות כל מיני אילתורים אבל זה מוריד מהיעילות של הפונקציה.
נתקלתי בבעיה כאשר אני משתמש בחיפוש רגקס בספריית lucene ב .contrib.regex שזה רק מצליח לחפש מילה אחת אבל לא הרבה מילים.
אשמח לקבל כל עזרה בנושא.
@dovid
לקחת את הרעיון שלי ושיפרת אותו לאין ערוך אין מילים בפי להודות לך. תודה!
@dovid
חשבתי אולי לעשות windows form שיהיה childform בתוך הtaskpane ואז את הform אפשר יהיה להעביר מtaskpane לtaskpane על יד שינוי ה parent שלו
מה אתה אומר?
@dovid
שמתי לב לבעיה בקוד שעשית
מה שקורה הוא שבעצם הקוד לא מסיר את המופע הקודם של ה taskpane אלא רק מסתיר אותו וכאשר אני חוזר אל המסמך הקודם שהייתי בו אז הוא יוצר taskpane חדש וחוזר חלילה.
מה שצריך לעשות זה להוסיף בדיקה עם
|| taskPane.Window != Globals.ThisAddIn.Application.ActiveWindow
ולהוסיף
else
{
taskPane.Visible = true;
}
שפושוט יחזיר את המופע המקורי במקרה שהוא כבר קיים במסמך זה ולא ייצור חדש שוב ושוב
נ.ב. שוב תודה רבה על כל העזרה הנפלאה
לפי מה שכתוב פה
https://learn.microsoft.com/en-us/visualstudio/vsto/custom-task-panes?view=vs-2022&tabs=csharp#WordAndInfoPath
זה נראה שמה שאני רוצה זה אכן בלתי אפשרי
@dovid
עובד מצויין! תודה
אבל...
מה שהקוד עושה הוא בעצם יוצר taskpane חדש עבור כל מסמך שנפתח. אני צריך שהוא יעביר אותו ממסמך למסמך באותו מצב שהוא נמצא כעת.
לגבי השגיאה שהזכרת לפעמים למחוק את תיקיית obj בתוך הrepo עוזר.
גם מומלץ להוסיף א תיקיית הrepo למיקומים מהימנים בוורד.
כדי לשחק עם אירוע פתיחת החלונות ייתכן שתצטרך להתשמש עם ספריית globals
Globals.ThisAddIn.Application.DocumentOpen += Application_DocumentOpen;
Globals.ThisAddIn.Application.WindowActivate += Application_WindowActivate;
@dovid
צור תוסף vsto בvisualstudio
צור פקד usercontrol עם איזשהו כפתור או label
הזן קוד זה ליצירת החלונית צד
private UserControl1 taskPaneUserControl;
private CustomTaskPane taskPane;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
taskPaneUserControl = new UserControl1();
taskPane = this.CustomTaskPanes.Add(taskPaneUserControl, "תורת אמת");
taskPane.Visible = true;
taskPane.Width = 450; // Adjust the width as needed
}
@dovid כתב בשאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית:
וכל פעם סוגר (יש כזו פקודה?)
על פניו לא כי בהשלמה המהירה של visualstdio רק מופיע לי פקודה של dispose
@dovid כתב בשאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית:
יש מקרה קיים כזו בpane של מקרוסופט?
סליחה לא הבנתי את השאלה
@dovid כתב בשאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית:
יש אירוע של איקטוב מסמך או שינוי מסמך אקטיבי?
כמדומני שכן
שאלה: איך עושים בתוסף vsto לוורד ש taskpane יישאר תמיד במסמך הנוכחי
כלומר שם אני פוח מסמך חדש אז הוא יעבור אליו וכן אם אני עובר בין מסמך למסמך
@dovid כתב בבקשת עזרה עם קוד בc#:
הקוד שלך נראה כמו של אחד שלא שמע על המושג פונקציה/פרוצדורה מימיו, וזה מאוד מקשה עליך לעבוד.
אתה צריך להתרגל לחלק את הקוד לפיסות קטנות, שעל כל פיסה יש תפקיד מוגדר וסגור. את שיתוף המידע בין הפיסות עושים או עם שדות/מאפיינים משותפים במחלקה (OOP).
תודה על ההערה אני מכיר את המושג פשוט התעצלתי אתה צודק. במאה אחוז.
אגב שאלה האם פיצול קוד ארוך להרבה חלקים עלול להאט את הקוד (כי למעשה עכשיו יש קצת יותר שורות בקוד מאם אילו הכל היה בתוך קוד אחד)
@dovid כתב בבקשת עזרה עם קוד בc#:
if (searchBookList.Contains(filePath))
לא הבנתי שורה זו כי כאן חזרת לstring המקורי לכאורה אז היכן אני משתמש בhashset