דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
pcinfogmachP

pcinfogmach

@pcinfogmach
אודות
פוסטים
729
נושאים
189
שיתופים
0
קבוצות
0
עוקבים
3
עוקב אחרי
1

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @dovid
    ניתקלתי בבעיה בקוד הנוכחי - כאשר המשתמש סוגר את החלונית אז זה לא מעיל לו לסגור אותה לגמרי כי זה קופץ לו בחזרה ברגע שהוא מחליף תצוגה ממסמך למסמך
    חשבתי לעשות משתנה Bool שיקלוט את זה אבל אולי יש דרך יותר טובה?
    כמו"כ לא הצלחתי לקלוט את הלחיצה על כפתור הסגירה. (שים לב כפתור הסגירה אינו סוגר רק מסתיר אז לתפוס את ההסתרה אולי זה אופציה השאלה אם זה עלול לגרום לבעיה שלא חשבתי עליה)

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

    תכנות

  • קוד לבוחר פונטים בשביל C#
    pcinfogmachP pcinfogmach

    הייתי צריך משהו יותר ממוקד מfontdialog המובנה של windows form
    אולי למישהו אחר גם יהיה מזה תועלת
    יש להוסיף class חדש לפרוייקט להעתיק לתוכו את הקוד כמות שהוא.

    using System;
    using System.Drawing;
    using System.Windows.Forms;
    using System.Linq;
    public class CustomFontSelectionDialog : Form
    {
        private ListBox fontListBox;
        private Label previewLabel;
        private Button okButton;
        private TextBox searchBox;
    
        public Font SelectedFont { get; private set; }
    
        public CustomFontSelectionDialog()
        {
            this.Text = "בחר גופן";
            this.Size = new Size(450, 280);
            this.RightToLeft = RightToLeft.Yes;
            this.RightToLeftLayout = true;
    
            searchBox = new TextBox();
            searchBox.Location = new Point(10, 10);
            searchBox.Size = new Size(200, 20);
            searchBox.TextChanged += SearchBox_TextChanged;
            this.Controls.Add(searchBox);
    
            fontListBox = new ListBox();
            fontListBox.Location = new Point(10, searchBox.Bottom + 10);
            fontListBox.Size = new Size(200, 180);
            fontListBox.SelectedIndexChanged += FontListBox_SelectedIndexChanged;
            this.Controls.Add(fontListBox);
    
            previewLabel = new Label();
            previewLabel.Location = new Point(fontListBox.Right + 10, 10);
            previewLabel.Size = new Size(180, this.ClientSize.Height - 2 * 20 - 40); // Adjusted for searchBox and margin
            previewLabel.Font = new Font("Arial", 12);
            previewLabel.Text = "תצוגה מקדימה"; // Sample Hebrew text for preview
            previewLabel.BackColor = Color.White;
            this.Controls.Add(previewLabel);
    
            okButton = new Button();
            okButton.Text = "אישור";
            okButton.Location = new Point(previewLabel.Right - okButton.Width, this.ClientSize.Height - okButton.Height - 20);
            okButton.Click += OkButton_Click;
            this.Controls.Add(okButton);
    
            // Populate the fontListBox with available fonts
            foreach (FontFamily fontFamily in FontFamily.Families)
            {
                fontListBox.Items.Add(fontFamily.Name);
            }
        }
    
        private void SearchBox_TextChanged(object sender, EventArgs e)
        {
            string searchText = searchBox.Text.ToLower(); // Convert search text to lowercase
            fontListBox.Items.Clear();
    
            // Filter and display fonts that match the search text (case-insensitive)
            foreach (FontFamily fontFamily in FontFamily.Families)
            {
                if (fontFamily.Name.ToLower().Contains(searchText))
                {
                    fontListBox.Items.Add(fontFamily.Name);
                }
            }
            //fontListBox.SelectedIndex = 0;
        }
    
        private void FontListBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selectedFontName = fontListBox.SelectedItem as string;
            if (selectedFontName != null)
            {
                SelectedFont = new Font(selectedFontName, 12); // Set a default size
                previewLabel.Font = SelectedFont;
            }
        }
    
        private void OkButton_Click(object sender, EventArgs e)
        {
            // The user has selected a font, you can use the SelectedFont property here.
            DialogResult = DialogResult.OK;
            this.Close();
        }
    
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.Run(new CustomFontSelectionDialog());
        }
    }
    
    

    וזה הקוד שלי לפתיחת הבוחר פונטים
    שימו לב: אפשר להשתמש עם זה כדי להגדיר פונט בתוכנה שלכם על ידי שימוש ב resources >Settings שם תוכלו להגדיר משתנה שישמור את שם הפונט שהשתמשתם בו כמוצג בקוד דלהלן.

    private void chooseFontForBooks_Click(object sender, EventArgs e)
    {
        using (CustomFontSelectionDialog fontDialog = new CustomFontSelectionDialog())
        {
            if (fontDialog.ShowDialog() == DialogResult.OK)
            {
                Properties.Settings.Default.fontName = fontDialog.SelectedFont.Name;
                Properties.Settings.Default.Save();
            }
        }
    }
    
    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @dovid כתב בשאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית:

    נ.ב. אם תצליח לגרום לחבר שלך להשתתף פה בדיונים אודה לך מאוד!

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

    תכנות

  • שאלה ב- vsto #C : איך עושים קיצור דרך בוורד לתוסף?
    pcinfogmachP pcinfogmach

    @dovid
    ציטוט מתוך הלינק ששלחת לי

    Keyboard shortcuts are currently only supported on Excel and only on these platforms and builds:

    אני צריך לוורד

    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @dovid
    פידבק שקיבלתי מחבר

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

    תכנות

  • שאלה ב- vsto #C : איך עושים קיצור דרך בוורד לתוסף?
    pcinfogmachP pcinfogmach

    יש אפשרות מובנית בוורד כמובן לעשות קיצור דרך אישי.
    אני רוצה ליצור קיצור דרך מובנה לדוגמא:שאם מישהו ילחץ בוורד Alt + T אז ייפתח החלונית של התוסף.
    חיפשתי רבות באינטרנט ולא מצאתי משהו חוץ מלעשות שהתוכנה תאזין ישירות להזנת המקשים של ווינדוס או לעשות תוסף נילווה בתוך תבנית וורד ושם להגדיר את הקיצור דרך.
    יש למישהו ידע או רעיון בנושא איך לעשות זאת בצורה קצת יותר נורמלית?

    תודה מראש

    תכנות

  • שאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib)
    pcinfogmachP pcinfogmach

    @dovid
    תודה רבה מאוד עזרת לי

    תכנות

  • שאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib)
    pcinfogmachP pcinfogmach

    @dovid כתב בשאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib):

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

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

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

    תכנות

  • שאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib)
    pcinfogmachP pcinfogmach

    @dovid כתב בשאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib):

    מהסיבה הזו אני תוהה אם הוא טוב לעברית

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

    @dovid כתב בשאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib):

    ממה שאני מבין, גם בחיפוש הרגיל של lucene אמורים לפצל את המילים ולהשתמש בPhraseQuery.

    כוונתך לפקודה "queryParser"?

    @dovid כתב בשאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib):

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

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

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

    תודה

    תכנות

  • שאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib)
    pcinfogmachP pcinfogmach

    @dovid

    כשאני מזין קלט רגקס של מילה אחת כגון "אבר.ם" לדוגמא אז הוא מוצא לי את "אברהם"
    אבל כשאני מזין קלט של שני מילים כגון "בר.שית ב.א" הוא לא מחזיר לי כלום
    יש לציין שבעיה זו היא בספרייה של contrib ובחיפוש רגקס בלבד אבל בחיפו ש הרגיל של lucen לא נתקלתי בשום בעיה עם חיפוש כמות מילים.
    אפשר לעשות כל מיני אילתורים אבל זה מוריד מהיעילות של הפונקציה.

    תכנות

  • שאלה בc#: מישהו מכיר את lucene.net נתקע לי משהו בחיפוש רגקס (contib)
    pcinfogmachP pcinfogmach

    נתקלתי בבעיה כאשר אני משתמש בחיפוש רגקס בספריית lucene ב .contrib.regex שזה רק מצליח לחפש מילה אחת אבל לא הרבה מילים.
    אשמח לקבל כל עזרה בנושא.

    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @dovid
    לקחת את הרעיון שלי ושיפרת אותו לאין ערוך אין מילים בפי להודות לך. תודה!

    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @dovid
    חשבתי אולי לעשות windows form שיהיה childform בתוך הtaskpane ואז את הform אפשר יהיה להעביר מtaskpane לtaskpane על יד שינוי ה parent שלו

    מה אתה אומר?

    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @dovid
    שמתי לב לבעיה בקוד שעשית
    מה שקורה הוא שבעצם הקוד לא מסיר את המופע הקודם של ה taskpane אלא רק מסתיר אותו וכאשר אני חוזר אל המסמך הקודם שהייתי בו אז הוא יוצר taskpane חדש וחוזר חלילה.

    מה שצריך לעשות זה להוסיף בדיקה עם

    || taskPane.Window != Globals.ThisAddIn.Application.ActiveWindow
    

    ולהוסיף

    else
    {
        taskPane.Visible = true;
    }
    

    שפושוט יחזיר את המופע המקורי במקרה שהוא כבר קיים במסמך זה ולא ייצור חדש שוב ושוב

    נ.ב. שוב תודה רבה על כל העזרה הנפלאה

    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    לפי מה שכתוב פה
    https://learn.microsoft.com/en-us/visualstudio/vsto/custom-task-panes?view=vs-2022&tabs=csharp#WordAndInfoPath
    זה נראה שמה שאני רוצה זה אכן בלתי אפשרי

    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @dovid
    עובד מצויין! תודה
    אבל...
    מה שהקוד עושה הוא בעצם יוצר taskpane חדש עבור כל מסמך שנפתח. אני צריך שהוא יעביר אותו ממסמך למסמך באותו מצב שהוא נמצא כעת.

    לגבי השגיאה שהזכרת לפעמים למחוק את תיקיית obj בתוך הrepo עוזר.
    גם מומלץ להוסיף א תיקיית הrepo למיקומים מהימנים בוורד.

    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @dovid

    כדי לשחק עם אירוע פתיחת החלונות ייתכן שתצטרך להתשמש עם ספריית globals

    Globals.ThisAddIn.Application.DocumentOpen += Application_DocumentOpen;
                Globals.ThisAddIn.Application.WindowActivate += Application_WindowActivate;
    
    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @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
    }
    
    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @dovid כתב בשאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית:

    וכל פעם סוגר (יש כזו פקודה?)

    על פניו לא כי בהשלמה המהירה של visualstdio רק מופיע לי פקודה של dispose

    תכנות

  • שאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית
    pcinfogmachP pcinfogmach

    @dovid כתב בשאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית:

    יש מקרה קיים כזו בpane של מקרוסופט?

    סליחה לא הבנתי את השאלה

    @dovid כתב בשאלה: איך עושים בתוסף vsto לוורד שtaskpane יישאר תמיד בחלונית האקטיבית:

    יש אירוע של איקטוב מסמך או שינוי מסמך אקטיבי?

    כמדומני שכן

    תכנות
  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום