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

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

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

pcinfogmach

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

פוסטים

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

  • איך למרכז כפתורים בפקד ToolBar ב-WPF
    pcinfogmachP pcinfogmach

    קוד קצר למרכז כפתורים בפקד ToolBar ב-WPF כך שבמקום להיות מוצמדים לצד הכפתורים יהיו מוצמדים למרכז:

    בלי:
    92f0648b-3850-4698-b7ca-04cb677d7898-image.png
    עם:
    501ccfc3-a5e5-41db-9221-eea8bec094bf-image.png

    <ToolBar.Resources>
        <Style TargetType="{x:Type ToolBarPanel}">
            <Setter Property="HorizontalAlignment" Value="Center"/>
        </Style>
    </ToolBar.Resources>
    
    תכנות

  • פקד colorpicker מובנה של ווינדוס ב-C#
    pcinfogmachP pcinfogmach

    @dovid
    😂 😂 😂 😂 😂 🤣 🤣 🤣 🤣

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

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

    תכנות

  • קוד C# לאפשר ניווט ב-wpf combobox על ידי המקשים
    pcinfogmachP pcinfogmach

    קוד C# לאפשר ניווט ב-wpf combobox על ידי המקשים של המקלדת (אין אפשרות מובנית לעשות זו בצורה יעילה)

    void ComboBox_PreviewKeyDown(object sender, KeyEventArgs e)
            {
    ComboBox comboBox = sender as ComboBox;
                if (e.Key == Key.Up)
                {
                    if (comboBox.SelectedIndex > 0) // Move selection up
                        comboBox.SelectedIndex--;
                    e.Handled = true;
                }
                else if (e.Key == Key.Down)                 // Move selection down
                {
                    if (comboBox.SelectedIndex < comboBox.Items.Count - 1)
                        comboBox.SelectedIndex++;
                    e.Handled = true;
                }
                else if (e.Key == Key.Enter)
                {
                    if (e.OriginalSource is ComboBoxItem comboBoxItem)
                    {
                        //dosomething
                    }
                }
    
            }
    
    תכנות

  • איך להתנהל עם קיצורי דרך עבור תיקיות וקבצים ב-C# עם תמיכה מלאה לעברית
    pcinfogmachP pcinfogmach

    היה לי צורך ליצור ולקרוא קיצורי דרך ב-C# אז חקרתי את הנושא קצת וזה מה שיצא.
    בעיקרון יש דרך פשוטה לעשות זאת על ידי IWshRuntimeLibrary

    כדי להשתמש בה יש להוסיף את ה- refrence הבא:
    Reference > COM > Windows Script Host Object Model.

    ואז אפשר ליצור קיצור דרך:

     static void createShortcut(string sourcePath, string destinationPath)
     {
         var wshShell = new WshShell();
         IWshShortcut shortcut = (IWshShortcut)wshShell.CreateShortcut(destinationPath);
    
         shortcut.TargetPath = sourcePath;
         shortcut.Description = $"Shortcut to {sourcePath}";
         shortcut.Save();
     }
    

    או לקרוא אותם

    public static string GetShortcutTarget(string shortcutFilePath)
    {
        WshShell shell = new WshShell();
        IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutFilePath);
        return shortcut.TargetPath;
    }
    

    שיטה זו עובדת יפה אם איזור המערכת מוגדר לעברית אבל אם ברצונכם להשתמש בה גם במחשבים שבהם אין איזור המערכת מוגדר כעברית (כלומר עם תיקיות או קבצים עם שמות בעברית ויש עברית מותקן במחשב אבל איזור המערכת במחשב אינו מוגדר כעברית - מצוי מאוד אצל חוצניקים)
    9448c73c-45e0-4582-9694-ebf0c7ccbe89-image.png
    תתיקלו בשגיאה בקוד מאחר ו- WshShell אינו ממוטב ל-Unicode.

    במקום זאת מצאתי שיטה אחרת המובאת להלן (מבוסס על כתבה זו:http://www.vbaccelerator.com/home/NET/Code/Libraries/Shell_Projects/Creating_and_Modifying_Shortcuts/article.asp)

    יצרתי בה גם פונקציות ליצירת וקריאת קיצורי דרך אם תעיינו בקוד תמצאו שם אפרויות לעוד דברים.

    using System;
    using System.Runtime.InteropServices;
    using System.Text;
    
    public enum EShellLinkResolveFlags : uint
    {
        SLR_NO_UI = 0x0001,
        SLR_ANY_MATCH = 0x0002,
        SLR_UPDATE = 0x0004,
        SLR_NOUPDATE = 0x0008,
        SLR_NOSEARCH = 0x0010,
        SLR_NOTRACK = 0x0020,
        SLR_NOLINKINFO = 0x0040,
        SLR_INVOKE_MSI = 0x0080,
        SLR_NO_UI_WITH_MSG_PUMP = 0x101,
        SLR_OFFER_DELETE_WITHOUT_FILE = 0x200,
        SLR_KNOWNFOLDER = 0x400,
        SLR_MACHINE_IN_LOCAL_TARGET = 0x800,
        SLR_UPDATE_MACHINE_AND_SID = 0x1000
    }
    
    public class ShellLink
    {
        private IShellLinkW link = null;
    
        public ShellLink()
        {
            link = (IShellLinkW)new CShellLink();
        }
    
        public void Open(
            string linkFile,
            IntPtr hWnd,
            EShellLinkResolveFlags resolveFlags,
            ushort timeOut
        )
        {
            uint flags;
    
            if ((resolveFlags & EShellLinkResolveFlags.SLR_NO_UI) == EShellLinkResolveFlags.SLR_NO_UI)
            {
                flags = (uint)((int)resolveFlags | (timeOut << 16));
            }
            else
            {
                flags = (uint)resolveFlags;
            }
    
            // Get the IPersistFile interface and call Load:
            ((IPersistFile)link).Load(linkFile, 0);
            // Resolve the link:
            link.Resolve(hWnd, flags);
        }
    
        public string Arguments
        {
            get
            {
                StringBuilder arguments = new StringBuilder(260, 260);
                link.GetArguments(arguments, arguments.Capacity);
                return arguments.ToString();
            }
            set
            {
                link.SetArguments(value);
            }
        }
    
        public void CreateShortcut(string shortcutPath, string targetPath, string arguments, string description)
        {
            link.SetPath(targetPath);
            link.SetArguments(arguments);
            link.SetDescription(description);
    
            IPersistFile persistFile = (IPersistFile)link;
            persistFile.Save(shortcutPath, true);
        }
    
        public string ReadShortcutPath(string shortcutPath)
        {
            if (System.IO.File.Exists(shortcutPath))
            {
                link = (IShellLinkW)new CShellLink();
                IPersistFile persistFile = (IPersistFile)link;
                persistFile.Load(shortcutPath, 0);
                StringBuilder pathBuilder = new StringBuilder(260, 260);
                link.GetPath(pathBuilder, pathBuilder.Capacity, default, 0);
                return pathBuilder.ToString();
            }
            else
            {
                throw new System.IO.FileNotFoundException("Shortcut file not found.", shortcutPath);
            }
        }
    
        [ComImport]
        [Guid("000214F9-0000-0000-C000-000000000046")]
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        private interface IShellLinkW
        {
            void GetPath(
                [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszFile,
                int cchMaxPath,
                ref _WIN32_FIND_DATAW pfd,
                uint fFlags);
    
            void GetIDList(out IntPtr ppidl);
    
            void SetIDList(IntPtr pidl);
    
            void GetDescription(
                [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszFile,
                int cchMaxName);
    
            void SetDescription(
                [MarshalAs(UnmanagedType.LPWStr)] string pszName);
    
            void GetWorkingDirectory(
                [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszDir,
                int cchMaxPath);
    
            void SetWorkingDirectory(
                [MarshalAs(UnmanagedType.LPWStr)] string pszDir);
    
            void GetArguments(
                [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszArgs,
                int cchMaxPath);
    
            void SetArguments(
                [MarshalAs(UnmanagedType.LPWStr)] string pszArgs);
    
            void GetHotkey(out short pwHotkey);
    
            void SetHotkey(short pwHotkey);
    
            void GetShowCmd(out uint piShowCmd);
    
            void SetShowCmd(uint piShowCmd);
    
            void GetIconLocation(
                [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszIconPath,
                int cchIconPath,
                out int piIcon);
    
            void SetIconLocation(
                [MarshalAs(UnmanagedType.LPWStr)] string pszIconPath,
                int iIcon);
    
            void SetRelativePath(
                [MarshalAs(UnmanagedType.LPWStr)] string pszPathRel,
                uint dwReserved);
    
            void Resolve(
                IntPtr hWnd,
                uint fFlags);
    
            void SetPath(
                [MarshalAs(UnmanagedType.LPWStr)] string pszFile);
        }
    
        [ComImport]
        [Guid("00021401-0000-0000-C000-000000000046")]
        [ClassInterface(ClassInterfaceType.None)]
        private class CShellLink { }
    
        [StructLayout(LayoutKind.Sequential, Pack = 4, Size = 0, CharSet = CharSet.Unicode)]
        private struct _WIN32_FIND_DATAW
        {
            public uint dwFileAttributes;
            public _FILETIME ftCreationTime;
            public _FILETIME ftLastAccessTime;
            public _FILETIME ftLastWriteTime;
            public uint nFileSizeHigh;
            public uint nFileSizeLow;
            public uint dwReserved0;
            public uint dwReserved1;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
            public string cFileName;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 14)]
            public string cAlternateFileName;
        }
    
        [StructLayout(LayoutKind.Sequential, Pack = 4, Size = 0)]
        private struct _FILETIME
        {
            public uint dwLowDateTime;
            public uint dwHighDateTime;
        }
    
        [ComImport]
        [Guid("0000010B-0000-0000-C000-000000000046")]
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        private interface IPersistFile
        {
            [PreserveSig]
            int GetClassID(out Guid pClassID);
    
            [PreserveSig]
            int IsDirty();
    
            void Load(
                [MarshalAs(UnmanagedType.LPWStr)] string pszFileName,
                uint dwMode);
    
            void Save(
                [MarshalAs(UnmanagedType.LPWStr)] string pszFileName,
                [MarshalAs(UnmanagedType.Bool)] bool fRemember);
    
            void SaveCompleted(
                [MarshalAs(UnmanagedType.LPWStr)] string pszFileName);
    
            void GetCurFile(
                [MarshalAs(UnmanagedType.LPWStr)] out string ppszFileName);
        }
    }
    
    
    תכנות

  • המלצה לקורס
    pcinfogmachP pcinfogmach

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

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

    בהצלחה רבה

    תכנות

  • קוד C# להמרת מספר למספר עברי
    pcinfogmachP pcinfogmach

    קוד C# להמרת מספר למספר עברי - מקווה שיהיה שימושי למישהו.

    using System;
    
    public class ClassHebrewNumbering
    {
        public static string ToHebrewNumber(int number)
        {
            if (number < 1)
            {
                throw new ArgumentOutOfRangeException("המספר צריך להיות מעל 1");
            }
    
            string hebrewNumber = "";
    
            while (number >= 400)
            {
                hebrewNumber += "ת";
                number -= 400;
            }
    
            // Handle numbers 100-390
            if (number >= 300)
            {
                hebrewNumber += "ש";
                number -= 300;
            }
            else if (number >= 200)
            {
                hebrewNumber += "ר";
                number -= 200;
            }
            else if (number >= 100)
            {
                hebrewNumber += "ק";
                number -= 100;
            }
    
            // Handle numbers 10-90
            if (number >= 10)
            {
                int tensIndex = (number / 10) - 1; // Subtract 1 to match array indexing
                hebrewNumber += Tens[tensIndex];
                number -= (tensIndex + 1) * 10; // Add 1 back for indexing
            }
    
            // Handle numbers 1-9
            if (number > 0)
            {
                hebrewNumber += Units[number - 1]; // Subtract 1 to match array indexing
            }
    
            hebrewNumber = hebrewNumber.Replace("יה", "טו");
            hebrewNumber = hebrewNumber.Replace("יו", "טז");
    
            //hebrewNumber.Replace("רעב", "ערב");
            //hebrewNumber.Replace("רעד", "עדר");
            //hebrewNumber.Replace("רע", "ער");
            //hebrewNumber.Replace("רצח", "רחצ");
            //hebrewNumber.Replace("תשמד", "תדשם");
            //hebrewNumber.Replace("שמד", "שדמ");
            //hebrewNumber.Replace("שד", "דש");
    
            return hebrewNumber;
        }
    
        private static readonly string[] Units =
       {
            "א", "ב", "ג", "ד", "ה", "ו", "ז", "ח", "ט"
        };
    
        private static readonly string[] Tens =
        {
            "י", "כ", "ל", "מ", "נ", "ס", "ע", "פ", "צ", "ק"
        };
    }
    
    
    תכנות

  • רשימה מדורגת בוורד
    pcinfogmachP pcinfogmach

    @שואף-לדעת
    הוראות לשימוש בשדה SEQ דרך רצועת הכלים ב-Word:

    • מקם את הסמן במקום שבו אתה רוצה שהמספר הממוספר יופיע.
    • עבור ללשונית "הוספה" (Insert) ברצועת הכלים.
    • לחץ על "חלקים מהירים" (Quick Parts).
    • בחר "שדה" (Field) מהרשימה.
    • בחלון שנפתח, בחר "SEQ" מהרשימה "שמות שדות" (Field names).
    • בתיבת הטקסט "קוד שדה" (Field codes) הוסף את שם הרצף. לדוגמה:
    SEQ דוגמה
    

    לחץ על "אישור" (OK).

    הוספת שדות SEQ נוספים:

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

    אם אתה מעונין במשהו קצת יותר מתקדם עיין כאן
    https://www.techrepublic.com/article/10-steps-to-creating-inline-numbering-in-a-word-document/
    הכתבה באנגלית אבל תוכל הלריץ על זה תרגום דפדפן די בקלות

    תוכנה

  • תורת אמת בוורד - עכשיו בvsto
    pcinfogmachP pcinfogmach

    @פלורידה

    2
    3
    תוקן

    1
    בבדיקה

    תודה

    תוכנה

  • תוסף חדש - תורת אמת בוורד
    pcinfogmachP pcinfogmach

    @one1010
    הכנתי גירסה חדשה עם ההצעה שלך
    ושמתי בפוסט המקור
    כמו"כ נוספו עוד כמה שיפורים

    כדי לחפש מקור מדוייק יש להוסיף את המיקום בתוך סוגריים לדוגמא:
    בראשית (כד יא)
    או ברכות (לב ב)

    תוכנה

  • html | בעייה בפתיחת מספר קבצי PDF בתוך אותו עמוד באמצעות iFrames
    pcinfogmachP pcinfogmach

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

    תכנות

  • רעיון לפיתוח שימושי ונצרך
    pcinfogmachP pcinfogmach

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

    תכנות

  • שיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת
    pcinfogmachP pcinfogmach

    @יהודי-טוב כתב בשיתוף להערות - maPraqti תוכנה ליצירת מפת מקומות בבית כנסת:

    אני חושב שכבר אין הרבה אנשים כאלו.

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

    בכל אופן גם אתר ובפרט אתר סטטי אפשר להנגיש בלי חיבור לאינטרנט.

    תכנות

  • תוסף חיפוש רגקס בוורד
    pcinfogmachP pcinfogmach

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

    תכנות

  • 💡איך להינצל מחשדות של דפנדר על תוכנות שאתם מפתחים
    pcinfogmachP pcinfogmach

    @מד
    עשיתי את זה ולמחרת חשבון המייקרוסופט שלי נחסם עם הודעה שעשיתי שימוש לא ראוי בחשבון 😧

    תכנות

  • תוסף חיפוש רגקס בוורד
    pcinfogmachP pcinfogmach

    @מד כתב בתוסף חיפוש רגקס בוורד:

    למה אתה לא אורז דרך NSIS או דרך inno ?

    תודה רבה מאוד!
    מקווה שאתפנה לזה בהמשך

    תכנות

  • TextBoxFocusBehavior - לשיפור חוויית המשתמש ב-WPF
    pcinfogmachP pcinfogmach

    @ivrtikshoret
    תודה שעלית את השאלה הזו
    אני מאד אוהב לשתף ולעזור אך תהיתי לעצמי לא פעם אם יש בזה תועלת למישהו
    היה חסר לי confirmation תודה.
    חוץ מזה אני מאוד נבניתי מהפורום כאן הערה פה הערה שם של אנשים טובים על הקודים שלי נתנו לי המון ידע.

    תכנות

  • מדריך: איך לייצר לוקליזציה ב-wpf בצורה פשוטה וקלילה
    pcinfogmachP pcinfogmach

    @OdedDvir
    json הוא פורמט עבודה נוח וגמיש יותר בשבילי, את שאר הנימוקים כבר כתבתי וכתבו אחרים למעלה. כל אחד לפי טעמו כמובן. אני לא יכול להכחיש שיש איזושהי מעלה בפיתרון המובנה אישית זה היה מריטת עצבים עד שנמאס לי והלכתי על כיוון אחר. כשאתה בונה כמה פרוייקטים במקביל הפעולות המכניות הזוטרות האלה שחוזרים על עצמם שוב ושוב מתחילים להציק לך מאוד הם מפריעם לזרימה ולכיף שבתכנות. אז בחרתי בדרך קצת פחות מציקה.
    נקוט האי כללא בידך (בעירבון מוגבל): כל דבר שאפשר לעשות עליו העתק הדבק ולמחזר אותו עבור הפרוייקט הבא שלך שווה זהב. תרגומים של פקדים שהרבה פעמים חוזרים על עצמם שווים זהב ב-json.

    תכנות

  • WPF: ממשק מודרני עבור טאבים בתוך שורת הכותרת (TabControl in TitleBar)
    pcinfogmachP pcinfogmach

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

    לא מצאתי משהו לרוחי אז יצרתי משהו לעצמי
    מצו"ב הלינק לגיט למקרה שעוד מישהו מעוניין בכזה דבר
    https://github.com/pcinfogmach/ChromeTabs

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

    37ddc135-96c6-4933-a3da-4dd0fc07ed93-image.png

    תכנות

  • איך להשתמש ב-pdf.js לפתיחת קבצי pdf מהמחשב ב-C#
    pcinfogmachP pcinfogmach

    בניתי תוכנה שמדגימה את הימוש בספרייה זו ב-C# למי שמעוניין להלן הקישור לגיט האב
    https://github.com/pcinfogmach/PdfJs2
    התוכנה רק מדגימה שימוש בסיס יש עוד המון אפשרויות להתממשקות דרך js

    תכנות

  • איך לוודא שסגירת משאבים תתבצע גם בעת עצירת ניפוי באגים ב-Visual Studio?
    pcinfogmachP pcinfogmach

    @yossiz
    הסיבה לסגור את התוכנה מה-debugger הוא במקרה שיש באג שתוקע את ה-UI

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

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

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