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

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

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

pcinfogmach

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

פוסטים

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

  • קוד להצגת שינויים בין טקסטים ב-C# (השוואת טקסטים)
    pcinfogmachP pcinfogmach

    אני יודע שיש כבר דברים מוכנים כגון אלו:
    https://github.com/mmanela/diffplex/
    http://git.savannah.gnu.org/cgit/diffutils.git/tree/src/analyze.c?id=fecd0079fe6e15b0f53bf953721d838d9099bf05

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

    אגב אם מישהו מכיר תוכנה כבר מוכנה (לא אתר) אשמח לשמוע עליה

    להלן הקוד שלי

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace TextComparer
    {
        public static class TextCompare
        {
            public static void Compare(ref string text1, ref string text2)
            {
                text1 = $"<span style=\"background-color: lightblue;\">{text1}</span>";
                text2 = $"<span style=\"background-color: lightblue;\">{text2}</span>";
                // Get the LSS lss
                string lssString = "placeholdertext";
                List<string> lssList = new List<string>();
                string copyOfText1 = text1;
                string copyOfText2 = text2;
                while (!string.IsNullOrEmpty(lssString))
                {
                    try
                    {
                        lssString = FindLongestSimilarSubstring(copyOfText1.ToCharArray(), copyOfText2.ToCharArray());
                        if (lssString.Length > 1) { lssList.Add(lssString); }
                        copyOfText2 = copyOfText2.Replace(lssString, "");
                        copyOfText1 = copyOfText1.Replace(lssString, "");
                    }
                    catch { break; }
                }
    
                foreach (var item in lssList)
                {
                    text1.Replace(item, $"<span style=\"background-color: white;\"{item}");
                    text2.Replace(item, $"<span style=\"background-color: white;\"{item}");
                }
            }
    
            static string FindLongestSimilarSubstring(char[] arr1, char[] arr2)
            {
                // Initialize variables to keep track of the longest common substring
                int[,] table = new int[arr1.Length + 1, arr2.Length + 1];
                int maxLength = 0;
                int endIndex = 0;
    
                // Fill the table
                for (int i = 1; i <= arr1.Length; i++)
                {
                    for (int j = 1; j <= arr2.Length; j++)
                    {
                        if (arr1[i - 1] == arr2[j - 1])
                        {
                            table[i, j] = table[i - 1, j - 1] + 1;
                            if (table[i, j] > maxLength)
                            {
                                maxLength = table[i, j];
                                endIndex = i - 1;
                            }
                        }
                        else
                        {
                            table[i, j] = 0;
                        }
                    }
                }
    
                // Extract the longest common substring
                if (maxLength == 0)
                {
                    return ""; // No common substring found
                }
                else
                {
                    return new string(arr1, endIndex - maxLength + 1, maxLength);
                }
            }
    
        }
    }
    

    עריכה:
    לבינתיים גילית שהרעיון הנ"ל מוגבל ביותר מאחר והוא לא יכול לגלות שינויים בסדר של הקבצים מה שצריך לעשות הוא להשתמש עם lcs כמתואר כאן
    https://en.wikipedia.org/wiki/Diff
    מהשלא הצלחתי להבין הוא איך פותרים על ידי זה את הבעיה של מילים ששונה מיקומם. כי אפילו עם lcs עדיין אם יש אות זהה במיקום בו היתה המילה בראשונה אזי התוכנה תחשוב שהיא אותה האות למרות שבאמת היא שייכת למילה שהוזזה.
    בכל אופן מצו"ב הקוד הנוכחי שלי ל-lcs

     static List<string> Compare(string text1, string text2)
     {
         // Find the longest common subsequence
         List<string> commonSubsequence = LongestCommonSubsequence(text1, text2);
    
         // Generate diff output based on the longest common subsequence
         List<string> diffOutput = GenerateDiffOutput(text1, text2, commonSubsequence);
    
         return diffOutput;
     }
    
     private static List<string> LongestCommonSubsequence(string text1, string text2)
     {
         int m = text1.Length;
         int n = text2.Length;
    
         int[,] dp = new int[m + 1, n + 1];
    
         // Build DP table
         for (int i = 0; i <= m; i++)
         {
             for (int j = 0; j <= n; j++)
             {
                 if (i == 0 || j == 0)
                     dp[i, j] = 0;
                 else if (text1[i - 1] == text2[j - 1])
                     dp[i, j] = dp[i - 1, j - 1] + 1;
                 else
                     dp[i, j] = Math.Max(dp[i - 1, j], dp[i, j - 1]);
             }
         }
    
         // Reconstruct the longest common subsequence
         List<string> commonSubsequence = new List<string>();
         int index = dp[m, n];
         int temp = index;
    
         char[] lcs = new char[index + 1];
         lcs[index] = '\0';
    
         int p = m, q = n;
         while (p > 0 && q > 0)
         {
             if (text1[p - 1] == text2[q - 1])
             {
                 lcs[index - 1] = text1[p - 1];
                 p--;
                 q--;
                 index--;
             }
             else if (dp[p - 1, q] > dp[p, q - 1])
                 p--;
             else
                 q--;
         }
    
         // Convert char array to List of strings
         foreach (char c in lcs)
         {
             if (c != '\0')
                 commonSubsequence.Add(c.ToString());
         }
    
         return commonSubsequence;
     }
    
     private static List<string> GenerateDiffOutput(string text1, string text2, List<string> commonSubsequence)
     {
         List<string> diffOutput = new List<string>();
    
         int index1 = 0, index2 = 0;
         foreach (string s in commonSubsequence)
         {
             while (index1 < text1.Length && text1[index1].ToString() != s)
             {
                 diffOutput.Add($"<span style=\"background-color: rgb(255, 204, 204);\">{text1[index1]}</span>");
                 index1++;
             }
    
             while (index2 < text2.Length && text2[index2].ToString() != s)
             {
                 diffOutput.Add($"<span style=\"background-color: lightblue;\">{text2[index2]}</span>");
                 index2++;
             }
    
             diffOutput.Add($"{s}");
             index1++;
             index2++;
         }
    
         // Handle remaining parts of text1 and text2
         for (int i = index1; i < text1.Length; i++)
         {
             diffOutput.Add($"<span style=\"background-color: rgb(255, 204, 204);\">{text1[i]}</span>");
         }
    
         for (int i = index2; i < text2.Length; i++)
         {
             diffOutput.Add($"<span style=\"background-color: lightblue;\">{text2[i]}</span>");
         }
    
         return diffOutput;
     }
    
    תכנות

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

    @dovid
    😂 😂 😂 😂 😂 🤣 🤣 🤣 🤣

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

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

    תכנות

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

    רציתי מכמה טעמים לקרוא לcolorpicker של חלונות מתוך C#
    מצו"ב הקוד שגיבבתי מפה ומשם:
    עריכה: מסתבר שסתם בזבזתי זמן ומתוך רשלנות שחכתי לבדוק אם דבר כזה כבר קיים ראה להלן בהמשך השרשור

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.InteropServices;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace SystemColorPicker
    {
        public class ColorPicker
        {
            [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
            public struct CHOOSECOLOR
            {
                public int lStructSize;
                public IntPtr hwndOwner;
                public IntPtr hInstance;
                public uint rgbResult;
                public IntPtr lpCustColors;
                public uint flags;
                public IntPtr lCustData;
                public IntPtr lpfnHook;
                [MarshalAs(UnmanagedType.LPTStr)]
                public string lpTemplateName;
            }
    
            [DllImport("comdlg32.dll", CharSet = CharSet.Auto)]
            [return: MarshalAs(UnmanagedType.Bool)]
            public static extern bool ChooseColor(ref CHOOSECOLOR lpcc);
    
            public static bool GetColor(ref uint col)
            {
                CHOOSECOLOR CS = new CHOOSECOLOR();
                int structSize = Marshal.SizeOf(CS);
                CS.lStructSize = structSize;
                CS.hwndOwner = IntPtr.Zero;
                CS.flags = 0x1 | 0x2;
                CS.lpCustColors = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(uint)) * 16);
                CS.rgbResult = col;
                CS.hInstance = IntPtr.Zero;
    
                bool result = ChooseColor(ref CS);
                if (!result)
                    return false;
    
                col = CS.rgbResult;
    
                Marshal.FreeCoTaskMem(CS.lpCustColors);
                return true;
            }
        }
    }
    
    
    

    וצורת השימוש בו היא

     uint color = 0;
     ColorPicker.GetColor(ref color);
    

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

    תכנות

  • איך להמיר צבע למספר int בודד על ידי RGB ב-C#.
    pcinfogmachP pcinfogmach

    מצאתי קוד חמוד כיצד להמיר צבע על ידי RGB שלו ל- int בודד אני כותב אותו פה למקרה שמישהו יצטרך ג"כ יום אחד
    הצורך שלי היה כדי לעשת colorpicker פשוט בשביל תוסף לוורד. בוורד צבע costume מוגדר באופן זה - על ידי int בודד.

    Color c = Colors.Blue;
    var wdc = (Microsoft.Office.Interop.Word.WdColor)(c.R + 0x100 * c.G + 0x10000 * c.B);
    

    מקור
    https://stackoverflow.com/a/13075575

    תכנות

  • שיתוף: סקריפט להסרת אלמנט מיד לאחר שנוצר
    pcinfogmachP pcinfogmach

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

    תכנות

  • בעיות במקלדת לנובו V14
    pcinfogmachP pcinfogmach

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

    תוכנה

  • בירור:איך משיגים נוק נקי או משהו דומה?
    pcinfogmachP pcinfogmach

    @חגי
    אם הבנתי נכון אז נוק נקי הוא לא טאבלט אלא קורא מסמכים ולכן יש הבעיה שהזכרת? (משא"כ שטאבלט או מחשב?)

    גומלין - כללי

  • בירור:איך משיגים נוק נקי או משהו דומה?
    pcinfogmachP pcinfogmach

    @pcinfogmach
    מצאתי את זה
    https://sites.google.com/site/nooknakikasher/home?authuser=0
    לא יודע אם זה פעיל
    8f3cb857-66dc-4cbd-a221-5538484b26ad-image.png
    אנסה את מספר הטלפון אולי בהמשך

    אשמח לשמוע על אלטרנטיבות בכל אופן

    גומלין - כללי

  • בירור:איך משיגים נוק נקי או משהו דומה?
    pcinfogmachP pcinfogmach

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

    מה מומלץ?

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

    גומלין - כללי

  • אל תמנע טוב מבעליו - תרגום וורדפרס
    pcinfogmachP pcinfogmach

    @יעקב-מ-פינס
    תבדוק את התוכנה הזו שם התרגום נעשה רובו עם גוגל תגיד לי אם זה זועה או לא.
    https://www.hibitsoft.ir/Uninstaller.html

    אינטרנט

  • אל תמנע טוב מבעליו - תרגום וורדפרס
    pcinfogmachP pcinfogmach

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

    אינטרנט

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

    עדכון גרסה 3.4 יצא לאור
    תוקנו הרבה באגים
    נוסף קישוריות בסיסית
    אשמח לשמוע אם יש בעיות

    להורדת העדכון לחץ על הקישור

    https://github.com/pcinfogmach/ToratEmetInWord/releases/tag/ToratEmetInWord

    תוכנה

  • מה הפסוק הכי ארוך בתנ"ך?
    pcinfogmachP pcinfogmach

    @NH-LOCAL
    ממש תודה.
    התשובה המלאה נמצאת דוקא בפורום לתורה שהפנית אותי אליו הנה קישור מדוייק:

    https://tora-forum.co.il/threads/הפסוק-הארוך-בתנ-ך.4710/post-71428

    גומלין - כללי

  • מה הפסוק הכי ארוך בתנ"ך?
    pcinfogmachP pcinfogmach

    מישהו יודע מה הפסוק הכי ארוך בתנ"ך?
    תודה מראש.

    גומלין - כללי

  • פירוש קצר על ההגדה - לחוות את ההגדה כמות שהיא
    pcinfogmachP pcinfogmach

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

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

    מגיד-חלק-א.docx
    עריכה: נוסף חלק ב
    מגיד חלק ב.docx

    נא להעביר הלאה לזיכוי הרבים

    המרחב הפרטי

  • איך לזהות על ידי תוכנה קישורים בספרי קודש ?
    pcinfogmachP pcinfogmach

    @ivrtikshoret
    הממ רעיון מעניין...

    תכנות

  • איך לזהות על ידי תוכנה קישורים בספרי קודש ?
    pcinfogmachP pcinfogmach

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

    תכנות

  • איך לזהות על ידי תוכנה קישורים בספרי קודש ?
    pcinfogmachP pcinfogmach

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

    תכנות

  • טיפ לבוני תוכנות באקסס - שימו לב לתאימות שפה
    pcinfogmachP pcinfogmach

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

    ההצעה שלי תתכנתו עם מחשב עם הגדרת איזור באנגלית אולי זה יעזור.

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

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

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