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

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

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

pcinfogmach

@pcinfogmach
הפסקת מעקב מעקב

הפורום כעת לקריאה בלבד, לקריאה נוספת.

אודות
פוסטים
820
נושאים
202
שיתופים
0
קבוצות
0
עוקבים
3
עוקב אחרי
1

פוסטים

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

  • קוד C# לחילוץ טקסט מקבצי וורד
    pcinfogmachP pcinfogmach
    תכנות

    @yossiz כתב בקוד C# לחילוץ טקסט מקבצי וורד:

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

    הוספתי כעת
    פיסקאות ממוספרות הצלחתי לסמן רק עם * ולא עם המספרים


  • קוד C# לחילוץ טקסט מקבצי וורד
    pcinfogmachP pcinfogmach
    תכנות

    @yossiz כתב בקוד C# לחילוץ טקסט מקבצי וורד:

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

    אבדוק את זה תודה.

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


  • קוד C# לחילוץ טקסט מקבצי וורד
    pcinfogmachP pcinfogmach
    תכנות

    @yossiz
    בעיקר במקרה שהמסמך כבר פתוח ב-office
    תכלס שיניתי כעת את הקוד שיעבור לשיטה השניה על כל שגיאה כדי שיכלול את מה ש-DOvid כתב להלן


  • קוד עבור ProgressDialog ב-C#
    pcinfogmachP pcinfogmach
    תכנות

    הערה חשובה:
    לאחר חקירת הנושא גיליתי שצריך לעבוד עם אחוזים ולא כמו שעשיתי
    עיין כאן להסבר מפורט
    https://brianlagunas.com/does-reporting-progress-with-task-run-freeze-your-wpf-ui/

    עריכה:
    בדיקות שעשיתי יוצא שבעל הכתבה איננו צודק לא היה שום שיפור באחוזים לעומת מה שאני עשיתי
    מה שכן מצאתי ששימוש ב- אפשרות של -Background ב-Dispathcer מועיל קימעא

    Application.Current.Dispatcher.BeginInvoke(new Action(() =>
    {
       }), DispatcherPriority.Background);
    

  • באיזה תוכנת אינדקס גוגל משתמשים?
    pcinfogmachP pcinfogmach
    תכנות

    @yossiz כתב בבאיזה תוכנת אינדקס גוגל משתמשים?:

    עיין כתבה זו על האתגרים המיוחדים בעברית

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

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

    עריכה: כל זה נכון אם יש לך אמפמינציה אישית של lucene אבל אם אתה משתמש בו כמות שהוא אתה רק מרוויח אם אתה משתמש ב-HEBMORPH למה? כי Lecene הינו מנוע חיפוש ולשכך הוא בנוי על אלגוריתמים שמחשבים רלוונטיות וממילא כל כלי שמתעל את הרלוונטיות מתעל את המנוע.

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

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


  • ספריית החיפוש meilisearch ב-בC#
    pcinfogmachP pcinfogmach
    תכנות

    @אלף-שין
    כשזהו החיסרון היחיד זה מתגמד לעומת כל שאר התועליות


  • C#: כיצד ליצור אינדקס ברקע באמצעות שירות Windows
    pcinfogmachP pcinfogmach
    תכנות

    מישהו יכול להדריך אותי איך ליצור שירות ברקע ב-C# עבור פעולת אינדוקס בתוכנת FullTextSearch? האינדוקס יכול לקחת כמה שעות טובות, ואני רוצה שהוא ימשיך לפעול גם אם התוכנה נסגרת או שהמשתמש מפעיל את המחשב מחדש.

    כמו"כ איך אני מתקשר בין התוכנה שלי לשירות? אני רוצה להעביר לשירות מידע על המסמכים שצריך לאנדקס, ולקבל מידע על התקדמות האינדוקס שישוקף בתוכנה


  • ספריית החיפוש meilisearch ב-בC#
    pcinfogmachP pcinfogmach
    תכנות

    @dovid כתב בספריית החיפוש meilisearch ב-בC#:

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

    כלומר לא הגיוני בתוכנה שלי תורת אמת בוורד?


  • ספריית החיפוש meilisearch ב-בC#
    pcinfogmachP pcinfogmach
    תכנות

    @dovid
    אוקיי אולי קפצתי מדאי מהר מדאי אני קצת מבין יותר טוב עכשיו איך זה עובד בעצם meiliserach הינה "תוכנה" שאני יכול לגשת אליה דרך api ב-C#
    אבל לא מדובר בספרייה של C# כלל


  • ספריית החיפוש meilisearch ב-בC#
    pcinfogmachP pcinfogmach
    תכנות

    מישהו מכיר את ספריית החיפוש meilisearch
    האם מישהו יכול להמליץ לי עליה.
    כמו:כ הייתי שמח לדעת האם היא מתאימה לתוכנה שלי תורת אמת בוורד


  • ספרייה להמרת קבצי ורד ל- C# pdf
    pcinfogmachP pcinfogmach
    תכנות

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


  • איך להסיר ניקוד וטעמים מטקסט בc#
    pcinfogmachP pcinfogmach
    תכנות

    איך להסיר ניקוד וטעמים מטקסט בc#
    מצאתי שני דרכים אשמח לקבל המלצות איזה עדיף ולמה.


    # אפשרות א על ידי רגקס


      public static string RemoveDiactricts(string input)
      {
          return Regex.Replace(input, @"\p{M}", "");
      }
    

    # אפשרות ב על ידי ספריית Diactricts


    דרך ה-NuGet התקינו את ספריית Diactricts
    83681b5d-4110-4701-9f7a-9d0e93b958b9-image.png
    לאחמ"כ תוכלו להתשמש עם ה-class דלהלן

     public class HebrewDiacriticsMapping : IAccentMapping
     {
         private readonly Dictionary<char, MappingReplacement> mappings;
    
         public HebrewDiacriticsMapping()
         {
             mappings = CreateMappings();
         }
    
         public IDictionary<char, MappingReplacement> Mapping => mappings;
    
         private Dictionary<char, MappingReplacement> CreateMappings()
         {
             var mappings = new Dictionary<char, MappingReplacement>();
    
             // Remove all Hebrew diacritics by mapping them to an empty string
             // Diacritics in Hebrew range from U+0591 to U+05BD, U+05C1, U+05C2, U+05C4, U+05C5
             // U+0591 - U+05AF (excluding U+05BE - U+05C0, which are vowels and other symbols)
             // U+05B0 - U+05BD, U+05C1, U+05C2, U+05C4, U+05C5 (including additional diacritics)
             for (int i = 0x0591; i <= 0x05AF; i++)
             {
                 char diacriticChar = (char)i;
                 mappings[diacriticChar] = new MappingReplacement();
             }
             for (int i = 0x05B0; i <= 0x05BD; i++)
             {
                 char diacriticChar = (char)i;
                 mappings[diacriticChar] = new MappingReplacement();
             }
             mappings['\u05C1'] = new MappingReplacement();
             mappings['\u05C2'] = new MappingReplacement();
             mappings['\u05C4'] = new MappingReplacement();
             mappings['\u05C5'] = new MappingReplacement();
    
             return mappings;
         }
     }
    
     public static class HebrewDiacriticsRemover
     {
         private static readonly DiacriticsMapper mapper = new DiacriticsMapper(new HebrewDiacriticsMapping());
         public static string RemoveHebrewDiacritics(this string input)
         {
             return mapper.RemoveDiacritics(input);
         }
     }
    

  • לימודי תכנות
    pcinfogmachP pcinfogmach
    תכנות

    @mekev
    קודם כל כבר כתבתי שקראתי ואני מסכים עם כל מה ש-@yossiz אמר
    בשנית אני מתקשה להבין למה אתה מביא אנקדוטות מכל מיני חאפרים אא"כ כוונתך להזהיר אנשים שיבדקו טוב לפני שהם נכנסים למשהו?
    כמו כן, שים לב שאתה מתעסק עם תכנות כבר כמה שנים ונמצא בעניינים, בעוד שמיודענו "פעם" למד תכנות.


  • FolderPicker מתקדם ב-C# עבור .Net FrameWork
    pcinfogmachP pcinfogmach
    תכנות

    כלומר לאפוקי אם אם משתמשים ב-
    net FrameWork.
    שמה זה תמיד מראה את המיושן
    רק ב-
    NET Core 3.1 ומעלה זה מראה את העדכני


  • הדגמה פשוטה של MVVM ב-C# WPF
    pcinfogmachP pcinfogmach
    תכנות

    יש לכם הערות? אנא כתבו אותם לתועלת כולם!

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


  • הדגמה פשוטה של MVVM ב-C# WPF
    pcinfogmachP pcinfogmach
    תכנות

    הדגמה פשוטה של MVVM

    עיין כאן להסבר על המושג MVVM:
    להרחבה על הנושא עיין כאן

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

    התוכנה מיישמת מחשבון (כלשהו) שיניתי קצת מהכתבה לצורך ההדגמה.


    1. קוד ל-view

    <Window x:Class="WpfTestProject.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfTestProject"
            mc:Ignorable="d"
            Background="WhiteSmoke"
            SizeToContent="WidthAndHeight"
            FocusManager.FocusedElement="{Binding ElementName=FirstValueTextBox}">
        <Window.DataContext>
            <local:CalculatorViewModel/>
        </Window.DataContext>
    
        <Window.InputBindings>
            <KeyBinding Key="A" Modifiers="Control" Command="{Binding AddCommand}"/>
            <KeyBinding Key="S" Modifiers="Control" Command="{Binding SubTractCommand}"/>
            <KeyBinding Key="T" Modifiers="Control" Command="{Binding TimesCommand}"/>
            <KeyBinding Key="D" Modifiers="Control" Command="{Binding DivideCommand}"/>
            <KeyBinding Key="P" Modifiers="Control" Command="{Binding PercentCommand}"/>
        </Window.InputBindings>
        
        <Window.Resources>
            <Style TargetType="TextBox">
                <Setter Property="Margin" Value="5"/>
                <Setter Property="HorizontalContentAlignment" Value="Center"/>
                <Setter Property="VerticalContentAlignment" Value="Center"/>
                <Setter Property="BorderBrush" Value="LightGray"/>
            </Style>
            <Style TargetType="TextBlock">
                <Setter Property="Margin" Value="5"/>
                <Setter Property="VerticalAlignment" Value="Center"/>
            </Style>
            <Style TargetType="Label">
                <Setter Property="Margin" Value="5"/>
                <Setter Property="HorizontalContentAlignment" Value="Center"/>
                <Setter Property="VerticalContentAlignment" Value="Center"/>
                <Setter Property="BorderBrush" Value="LightGray"/>
                <Setter Property="BorderThickness" Value="1"/>
                <Setter Property="Background" Value="White"/>
            </Style>
            <Style TargetType="Button">
                <Setter Property="Margin" Value="5"/>
                <Setter Property="Background" Value="{x:Null}"/>
                <Setter Property="BorderBrush" Value="LightGray"/>
                <Setter Property="Height" Value="38"/>
                <Setter Property="Width" Value="{Binding Path=Height, RelativeSource={RelativeSource Self}}"/>
               
            </Style>
        </Window.Resources>
        
        <StackPanel>
            <TextBlock Text="Calculator" HorizontalAlignment="Center"
                   FontSize="34" Foreground="BlueViolet"/>
    
            <Grid Margin="5,10,5,5" KeyboardNavigation.TabNavigation="Cycle">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="auto"/>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="auto"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
    
                <TextBox x:Name="FirstValueTextBox" Grid.Column="0" Text="{Binding FirstValue}" />
                <TextBlock Text="{Binding MathMethod}" Grid.Column="1"/>
                <TextBox x:Name="SecondValueTextBox" Grid.Column="2" Text="{Binding SecondValue}"/>
                <TextBlock Text="=" Grid.Column="3" VerticalAlignment="Center" Margin="5"/>
                <Label  Grid.Column="4" Margin="5"
                       Content="{Binding ResultValue, BindsDirectlyToSource=True}"/>
            </Grid>
    
            <StackPanel Orientation="Horizontal" Margin="5">
                <Button Content="+" Command="{Binding AddCommand}"/>
                <Button Content="-" Command="{Binding SubTractCommand}"/>
                <Button Content="*" Command="{Binding TimesCommand}"/>
                <Button Content="/" Command="{Binding DivideCommand}"/>
                <Button Content="%" Command="{Binding PercentCommand}"/>
            </StackPanel>
            
        </StackPanel>
    </Window>
    
    

    1. קודים המהווים בסיס ל-viewmodel

    using System;
    using System.Windows.Input;
    
    namespace WpfTestProject
    {
        public abstract class ICommandBase : ICommand
        {
            public event EventHandler CanExecuteChanged;
    
            public virtual bool CanExecute(object parameter)
            {
                return true;
            }
    
            public abstract void Execute(object parameter);
    
            protected void OnCanExecuteChanged()
            {
                CanExecuteChanged?.Invoke(this, new EventArgs());
            }
        }
    
        public class RelayCommand : ICommandBase
        {
            private Action commandTask;
    
            public RelayCommand(Action action)
            {
                commandTask = action;
            }
            public override void Execute(object parameter)
            {
                commandTask();
            }
        }
    }
    
     public class INotifyPropertyChangedBase : INotifyPropertyChanged
     {
         public event PropertyChangedEventHandler PropertyChanged;
         protected void OnPropertyChanged(string propertyName)
         {
             PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
         }
     }
    

    1. ה-viewmodel

    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Input;
    
    namespace WpfTestProject
    {
        public class CalculatorViewModel : INotifyPropertyChangedBase
        {
            #region members
            string _mathMethod;
            double _firstValue;
            double _secondValue;
            double _result;
            #endregion
    
            #region properties
            public string MathMethod { get => _mathMethod; set { _mathMethod = value; OnPropertyChanged(nameof(MathMethod)); } }
            public double FirstValue { get => _firstValue; set => _firstValue = value; }
            public double SecondValue { get => _secondValue; set => _secondValue = value; }
            public double ResultValue { get => _result; set { _result = value; OnPropertyChanged(nameof(ResultValue)); } }
            #endregion
    
            #region Commands
            public ICommand AddCommand
            {
                get
                {
                    //return plusCommand;
                    return new RelayCommand(Add);
                }
            }
            public ICommand SubTractCommand
            {
                get
                {
                    return new RelayCommand(SubTract);
                }
            }
            public ICommand TimesCommand
            {
                get
                {
                    return new RelayCommand(Times);
                }
            }
            public ICommand PercentCommand
            {
                get
                {
                    return new RelayCommand(Percent);
                }
            }
            public ICommand DivideCommand
            {
                get
                {
                    return new RelayCommand(Divide);
                }
            }
            #endregion
    
            #region Methods
            public void Add()
            {
                MathMethod = "+";
                ResultValue = FirstValue + SecondValue;
                return;
            }
            public void SubTract()
            {
                MathMethod = "-";
                ResultValue = FirstValue - SecondValue;
            }
            public void Times()
            {
                MathMethod = "*";
                ResultValue = FirstValue * SecondValue;
            }
            public void Divide()
            {
                MathMethod = "/";
                ResultValue = FirstValue / SecondValue;
            }
            public void Percent()
            {
                MathMethod = "%";
                ResultValue = FirstValue * SecondValue;
            }
            #endregion
        }
    }
    
    
    1. שמתם לב? ה-model חסר.... בתוכנה זו לא היה צורך ב-model בעיקרון ה-model היה יכול להיות אחד משני דברים. או class עם מבנה נתונים. או class עם קוד חיצוני.

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

    DiffPlex השוואת טקסטים.zip


    Diffplex השוואת טקסטים - נייד.zip


    או בגיט

    https://github.com/pcinfogmach/DiffPlex-/releases/tag/DiffplexSpinOff


  • תבנית ברעיון של MVVM עבור VSTO XML RIBBON?
    pcinfogmachP pcinfogmach
    תכנות

    @dovid
    אה
    הייתרון לעניין הסדר הוא העובדה שאני מפריד את המתודות של ה-פעולות משאר המתודות שלא נוגעות לפעולות אלא ל-view
    כאשר יש מאות לחצנים זה מאוד משמעותי


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

    @dovid כתב בקוד להצגת שינויים בין טקסטים ב-C# (השוואת טקסטים):

    בינתיים ריק...

    עודכן
    תודה!


  • עזרה עם בעיה בהתחברות לגיטהב
    pcinfogmachP pcinfogmach
    תכנות

    @קומפיונט
    תודה רבה!
    עזרת לי מאוד!

  • 1
  • 2
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 12 / 17
  • התחברות

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