@ששא
תפנה ל-@יואל-שילה הוא בעל התוכנה
pcinfogmach
-
שיתוף | אב טיפוס של תוכנת תרגום אופליין -
ספריית החיפוש meilisearch ב-בC#@אלף-שין,
כמישהו שחקר את הנושא למעלה משנה, אני רוצה לשתף אותך בתובנות שלי. התיאוריה של בניית אינדקסים באמת נשמעת פשוטה וקליטה, אבל היישום הרבה יותר מורכב. דוגמה קטנה לכך:כשאינדקס שוקל כמה גיגה-בייטים, כמה זמן לדעתך לוקח לקרוא את התוכן שלו בצורה הקלאסית של קריאת תוכן קובץ? הבעיה היא שאי אפשר לטעון אינדקס כזה לזיכרון ה-RAM כי הוא גדול מדי. לכן, נאלצים לעבור שורה שורה באינדקס בזמן החיפוש.
אני מקצר כי אין לי כוח להאריך, אבל תאמין לי, בניית אינדקס זה לא דבר של מה בכך. במיוחד כשמדובר באינדקסים גדולים.
-
איך למרכז כפתורים בפקד ToolBar ב-WPFקוד קצר למרכז כפתורים בפקד ToolBar ב-WPF כך שבמקום להיות מוצמדים לצד הכפתורים יהיו מוצמדים למרכז:
בלי:

עם:

<ToolBar.Resources> <Style TargetType="{x:Type ToolBarPanel}"> <Setter Property="HorizontalAlignment" Value="Center"/> </Style> </ToolBar.Resources> -
C#: כיצד ליצור אינדקס ברקע באמצעות שירות Windowsמישהו יכול להדריך אותי איך ליצור שירות ברקע ב-C# עבור פעולת אינדוקס בתוכנת FullTextSearch? האינדוקס יכול לקחת כמה שעות טובות, ואני רוצה שהוא ימשיך לפעול גם אם התוכנה נסגרת או שהמשתמש מפעיל את המחשב מחדש.
כמו"כ איך אני מתקשר בין התוכנה שלי לשירות? אני רוצה להעביר לשירות מידע על המסמכים שצריך לאנדקס, ולקבל מידע על התקדמות האינדוקס שישוקף בתוכנה
-
שיתוף | אב טיפוס של תוכנת תרגום אופליין@צדיק-תמים כתב בשיתוף | אב טיפוס של תוכנת תרגום אופליין:
@pcinfogmach הקישור הזה לא יעבוד למי שלא מחובר לחשבון שלך...
https://send.magicode.me/send-file/file/8052065871824******cd70eaa74deee22fdd75101daa8/view
להוריד כוכביות תקף ליומיים
-
שיתוף | אב טיפוס של תוכנת תרגום אופליין@קומפיונט
כמדומני של'בקלות' יש תוכנה מעין זו שעובדת ממש יפה
עריכה:
הנה הוא שלח לי סרטון הדגמה -
הסרת שורות ריקות מ-string ב-C#מצו"ב קוד להסרת שורות ריקות ממחרוזת טקסט ב-C#
אשמח לקבל משובpublic static string RemoveEmptyLines(this string input) { var lines = input.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); var nonEmptyLines = lines.Where(line => !string.IsNullOrWhiteSpace(line)); return string.Join("\n", nonEmptyLines); } -
ספריית החיפוש meilisearch ב-בC#@dovid כתב בספריית החיפוש meilisearch ב-בC#:
וזה הגיוני במידה והתוכנה שלך היא עם צד שרת.
כלומר לא הגיוני בתוכנה שלי תורת אמת בוורד?
-
ספריית החיפוש meilisearch ב-בC#@dovid
אוקיי אולי קפצתי מדאי מהר מדאי אני קצת מבין יותר טוב עכשיו איך זה עובד בעצם meiliserach הינה "תוכנה" שאני יכול לגשת אליה דרך api ב-C#
אבל לא מדובר בספרייה של C# כלל -
ספריית החיפוש meilisearch ב-בC#@sivan22 כתב בספריית החיפוש meilisearch ב-בC#:
להפעיל את הקובץ בסיומת EXE, לא לסגור את החלון השחור.
גם בתוך התוכנה צריך שהחלון השחור ירוץ ברקע? לא נשמע פרקטי.....
-
ספריית החיפוש meilisearch ב-בC#@dovid כתב בספריית החיפוש meilisearch ב-בC#:
@pcinfogmach אני חושב שזה לא הגיוני לעשות את זה בקוד, זה אמור לפעול ברקע בקביעות, אם התוכנה שלך תרוץ פעמיים יהיה שגיאה של פורט תפוס. כמו"כ בתיעוד שמה מופיעה בדיקה לוודא שהמופע מאזין.
אולי לייצר service?
תכלס השגיאה הנ"ל עדיין קיימת
-
האם אפשר לייצר dll ב-C# ואח"כ להשתמש בו ב-flutterהאם אפשר לייצר dll ב-C# ואח"כ להשתמש בן ב-flutter?
אשמח לכל מידע בנושא -
ספריית החיפוש meilisearch ב-בC#@dovid כתב בספריית החיפוש meilisearch ב-בC#:
יש בהוראות שמה מקטע בשם run-meilisearch
שמה מבואר שצריך להריץ את המופע של התוכנה העצמאית שלהם, אתה יכול להוריד אותה פה:
https://github.com/meilisearch/meilisearch/releases/tag/v1.9.0
בWindows אתה צריך את meilisearch-windows-amd64.exe.תודה אבל זה כבר היה בקוד שלי סליחה שלא הדגשתי חלק זה מספיק.
@pcinfogmach כתב בספריית החיפוש meilisearch ב-בC#:
private void StartMeiliSearch()
{
string appDirectory = AppDomain.CurrentDomain.BaseDirectory;
string meiliFileName = Path.Combine(appDirectory, "meilisearch-windows-amd64.exe");
_meiliSearchProcess = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = meiliFileName,
Arguments = " --env production",
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true
}
};
_meiliSearchProcess.Start();
} -
ספריית החיפוש meilisearch ב-בC#ניסיתי ליצור פרוייקט דוגמא על פי המופיע כאן:
נתקלתי בשגיאה דלהלן:
מו"ב הקוד שעשיתי
<UserControl x:Class="TesterProject.MeilisearchView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:TesterProject" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Grid Grid.Row="0" Margin="5"> <Grid.ColumnDefinitions> <ColumnDefinition Width="auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBox Name="SearchBox" Margin="5" Grid.Column="1" Text="ברכות"/> <StackPanel Orientation="Horizontal" Grid.Column="0"> <Button Content="Search" Click="OnSearchButtonClick" Margin="5"/> <Button Content="Index Files" Click="OnIndexButtonClick" Margin="5"/> </StackPanel> </Grid> <ListBox Name="ResultsListBox" Grid.Row="1"/> </Grid> </UserControl>using Microsoft.Win32; using System.Diagnostics; using System.Windows; using System.Windows.Controls; using System.IO; using Meilisearch; using System.Linq; using System.Threading.Tasks; using System; namespace TesterProject { /// <summary> /// Interaction logic for MeilisearchView.xaml /// </summary> public partial class MeilisearchView : UserControl { private readonly MeilisearchClient client; Meilisearch.Index index; private Process _meiliSearchProcess; public MeilisearchView() { InitializeComponent(); client = new MeilisearchClient("http://localhost:7700"); index = client.Index("meiliIndex"); StartMeiliSearch(); Application.Current.Exit += (s, e) => { _meiliSearchProcess?.Kill(); }; } private async void OnIndexButtonClick(object sender, RoutedEventArgs e) { await CreateIndex(); } private async void OnSearchButtonClick(object sender, RoutedEventArgs e) { var searchTerm = SearchBox.Text; await Search(searchTerm); } private void StartMeiliSearch() { string appDirectory = AppDomain.CurrentDomain.BaseDirectory; string meiliFileName = Path.Combine(appDirectory, "meilisearch-windows-amd64.exe"); _meiliSearchProcess = new Process { StartInfo = new ProcessStartInfo { FileName = meiliFileName, Arguments = " --env production", UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardError = true, CreateNoWindow = true } }; _meiliSearchProcess.Start(); } private async Task CreateIndex() { var openFileDialog = new OpenFileDialog { Multiselect = true }; if (openFileDialog.ShowDialog() == true) { var documents = openFileDialog.FileNames.Select(fileName => new MeiliDoc { FileName = fileName, Content = File.ReadAllText(fileName) }).ToArray(); var task = await index.AddDocumentsAsync(documents); // # => { "uid": 0 } MessageBox.Show("Indexing Done."); } } private async Task Search(string searchTerm) { var results = await index.SearchAsync<MeiliDoc>(searchTerm); ResultsListBox.Items.Clear(); foreach (var result in results.Hits) { ResultsListBox.Items.Add(result.FileName); } } } public class MeiliDoc { public string FileName { get; set; } public string Content { get; set; } } } -
ספריית החיפוש meilisearch ב-בC#מישהו מכיר את ספריית החיפוש meilisearch
האם מישהו יכול להמליץ לי עליה.
כמו:כ הייתי שמח לדעת האם היא מתאימה לתוכנה שלי תורת אמת בוורד -
איך לייצר TextBlock עם טקסט מעוצב ב-wpf שיכול לקבל bindingדרך xaml מאוד קל לעצב טקסט ב- textblock ב-wpf
כמתואר כאן בטוב טעםאבל איך עושים binding עבור זה?
ראיתי הרבה כתבות בנושא וכל אחד מציע את הזווית שלו הנה הניסיון שלי (הוא מוגבל כרגע לbold ן-italics אבל אפשר להרחיב את הרעיון, אשמח לקבל משוב:<Window x:Class="HighlightSample.HighlighterTest" 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:HighlightSample" mc:Ignorable="d" Title="HighlighterTest" Height="250" Width="250"> <Window.DataContext> <local:HighlighterTextViewModel x:Name="vm"/> </Window.DataContext> <Grid> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Button x:Name="PopulateButton" Command="{Binding PopulateResultsCommand}" Content="Populate" Margin="5"/> <ListBox ItemsSource="{Binding SearchResults}" Grid.Row="1"> <ListBox.ItemTemplate> <DataTemplate> <local:HighlighterTextBlock HighlightedText="{Binding SearchResult}" TextWrapping="Wrap"/> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Grid> </Window>using System; using System.Text.RegularExpressions; using System.Windows.Controls; using System.Windows; using System.Windows.Documents; using System.Collections.ObjectModel; using System.Windows.Input; using System.ComponentModel; using System.Runtime.CompilerServices; using PdfiumViewer.Demo.Annotations; namespace HighlightSample { internal class HighlighterTextViewModel : ViewModelBase { private ObservableCollection<TextModel> _searchResults = new ObservableCollection<TextModel> { }; public ICommand PopulateResultsCommand { get => new RelayCommand(PopulateResults); } public void PopulateResults() { for (int i = 0; i < 100000; i++) { SearchResults.Add(new TextModel()); } } public ObservableCollection<TextModel> SearchResults { get { return _searchResults; } set { if (_searchResults != value) { _searchResults = value; OnPropertyChanged(nameof(SearchResults)); } } } } internal class TextModel : ViewModelBase { private string _searchResult = "This is a <b>bold</b> and <i>italic</i> example."; public string SearchResult { get { return _searchResult; } set { if (_searchResult != value) { _searchResult = value; OnPropertyChanged(nameof(SearchResult)); } } } } public class HighlighterTextBlock : TextBlock { public static readonly DependencyProperty HighlightedTextProperty = DependencyProperty.Register("HighlightedText", typeof(string), typeof(HighlighterTextBlock), new PropertyMetadata(string.Empty, OnHighlightedTextChanged)); public string HighlightedText { get { return (string)GetValue(HighlightedTextProperty); } set { SetValue(HighlightedTextProperty, value); } } private static void OnHighlightedTextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var control = d as HighlighterTextBlock; control?.UpdateText(); } private void UpdateText() { Inlines.Clear(); if (string.IsNullOrEmpty(HighlightedText)) { return; } string pattern = @"(<b>(.*?)</b>)|(<i>(.*?)</i>)"; // Example pattern for bold and italic tags int lastPos = 0; var matches = Regex.Matches(HighlightedText, pattern); foreach (Match match in matches) { // Add text before the match if (match.Index > lastPos) { Inlines.Add(new Run(HighlightedText.Substring(lastPos, match.Index - lastPos))); } // Add highlighted or formatted text if (match.Groups[1].Success) // Bold tag { Inlines.Add(new Bold(new Run(match.Groups[2].Value))); } else if (match.Groups[3].Success) // Italic tag { Inlines.Add(new Italic(new Run(match.Groups[4].Value))); } lastPos = match.Index + match.Length; } // Add remaining text after the last match if (lastPos < HighlightedText.Length) { Inlines.Add(new Run(HighlightedText.Substring(lastPos))); } } } 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 abstract class ViewModelBase : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; [NotifyPropertyChangedInvocator] protected virtual void OnPropertyChanged([CallerMemberName] string PropertyName = null) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(PropertyName)); [NotifyPropertyChangedInvocator] protected virtual bool Set<T>(ref T field, T value, [CallerMemberName] string PropertyName = null) { if (Equals(field, value)) return false; field = value; OnPropertyChanged(PropertyName); return true; } } } -
למה האפריקאים שחוריםצורת הוולד הן בגוף והן במידותיו משתנה לפי הסביבה שבה ההורים חיים ולפי איפה שהראש שלהם נמצא. כמבואר לגבי הסיפור של מנשה מלך ישראל ובעוד מקומות.
עוד יש לעיין בדברי הגמ' תלמוד בבלי מסכת ברכות דף לא עמוד ב
אם היתה יולדת בצער יולדת בריוח, נקבות - יולדת זכרים, שחורים - יולדת לבנים,
הרי משמע מזה שהיו שחורים ולבנים בעם ישראל מימי קדם.
כמו"כ ידועם דברי רבותינו שלבן הארמי אחיה של רבקה היה "שחור" דהיינו שאפילו השם שלו "לבן" היה שקר.סליחה על הבורות אבל רציתי לשאול האם נישואי תערובת של שחורים ולבנים מניבים אי פעם ילד לבן? אני לא מדבר על קרם אני מדבר על לבן...
-
wpf איך לשנות את הצבע של פקד כאשר העכבר מעליו שלא יהיה כחול@dovid
בעצם אני צריך לפרק כל פריט ולעצב את הדבר מדוייק שאני רוצה שיתשנה הרקע שלו על ידי ריחוף העכבר?
מתסכל....
תודה בכל אופן -
wpf איך לשנות את הצבע של פקד כאשר העכבר מעליו שלא יהיה כחול@dovid
אני מעוניין לעשות זאת בכמה פקדים או יותר נכון בכל הפקדים אבל מה שדחוף לי זה הרשימה דלהלן:
togglebutton
button
listview
listbox
treeview -
wpf איך לשנות את הצבע של פקד כאשר העכבר מעליו שלא יהיה כחולמישהו יודע איך לשנות את הצבע של פקד wpf כאשר העכבר מעליו שלא יהיה כחול אלא צבע אחר?
נסיתי את זה
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightGray"/>וגם את זה
<ToggleButton.Style> <Style TargetType="ToggleButton"> <Setter Property="Background" Value="Transparent"/> <Setter Property="BorderThickness" Value="0"/> <Style.Triggers> <Trigger Property="IsChecked" Value="True"> <Setter Property="Background" Value="LightGray"/> </Trigger> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="LightGray"/> </Trigger> </Style.Triggers> </Style> </ToggleButton.Style>