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

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

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

dovid

@dovid
ניהול
אודות
פוסטים
10.4k
נושאים
187
שיתופים
0
קבוצות
2
עוקבים
34
עוקב אחרי
0

פוסטים

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

  • הדרך המהירה ביותר לאתחל מערך מדיסק
    dovidD dovid

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

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

    באיזה פלטפורמה כתבת ע"י BinaryReader וBinaryWriter? בסי שארפ או ג'אוה?
    וקראת בבת אחת או גוש גוש?

    פורסם במקור בפורום CODE613 ב02/07/2013 16:03 (+03:00)

    ארכיון code613m

  • WPF: איך עושים edit ל- DataGridHyperlinkColumn
    dovidD dovid

    תודה על השיתוף.
    יפה מאוד הקוד.
    אגב, יש בו טעות: המאפיין FileName של הדיאלוג מחזיר את כל הFull Name כלומר השם כולל הPath.
    אז במקום הdialog.InitialDirectory + dialog.FileName, צריך להיות רק dialog.FileName.

    בהצלחה.
    [size=85:33h4gybf]נ.ב. לעיצוב קטעי קוד בפוסטים בפורום, במקום להשתמש בלחצן code השתמשי בתיבת "בחר תחביר", זה מעצב לפי השפה הנבחרת.[/size:33h4gybf]

    פורסם במקור בפורום CODE613 ב11/07/2013 11:42 (+03:00)

    ארכיון code613m

  • WPF: איך עושים edit ל- DataGridHyperlinkColumn
    dovidD dovid

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

    private void dataGrid1_BeginningEdit(object sender, DataGridBeginningEditEventArgs e)
    {
        if (e.Column == ColumnHL)
        {
            var foDialog = new System.Windows.Forms.FolderBrowserDialog();
            if (foDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                var o = e.Row.DataContext as YourObjectType;
                o.SavedPath = foDialog.SelectedPath ;                
            }
            e.Cancel = true;
        }
    }
    

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

    פורסם במקור בפורום CODE613 ב27/06/2013 20:16 (+03:00)

    ארכיון code613m

  • .NET: ארכיטקטורה כללית
    dovidD dovid

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

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

    פורסם במקור בפורום CODE613 ב23/12/2013 17:08 (+02:00)

    ארכיון code613m

  • .NET: ארכיטקטורה כללית
    dovidD dovid

    @שמואל

    כמו"כ אולי כל העניין הינו באמת 'בית חולים מתחת לגשר' ועדיף לעבוד עם אנטיטי

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

    יש כלים אוטומטיים שעושים אוטומטית מחלקות מכל המסד נתונים, כלומר כותבים את הקוד הזה פחות או יותר.
    חלךק עושים רק מחלקות חלק גם מטפלים בתקשורת ובכל הDAL.
    הנה חלק:
    זה אונליין: http://www.pureobjects.com/dbCode.aspx
    זה כלי קוד פתוח, כך שתוכלו לשנותו http://www.codeproject.com/Articles/8776/Automated-Class-Builder-for-Database-Tables

    עוד כלים:
    http://www.codeproject.com/Articles/36217/Generate-Classes-and-CRUD-Procedures
    http://oxmlibrary.codeplex.com/ הוא יצור מתוך DataSet קיים. נשמע גם חזק.
    http://salardbcodegenerator.codeplex.com/ שווה בדיקה עמוקה.
    http://datatiergenerator.codeplex.com/ יוצר מחלקות קוראות וכותבות גם בצד המסד וגם באפליקציה שכל התקשורת בנוייה תוך דקות.

    זה פיתרון פשוט ומפליא http://stackoverflow.com/a/7863480/1271037 זו שאילתת SQL על מבנה המסד

    פורסם במקור בפורום CODE613 ב23/12/2013 13:48 (+02:00)

    ארכיון code613m

  • .NET: ארכיטקטורה כללית
    dovidD dovid

    אני עובד עם DataSet & DataAdapters.

    הטכנלוגיות LinqToSql והחדשה יותר EntityFramwork, דורשות "טיפוח" והתערבות קבועה במיפוי הואטומטי. אחרת, יש בעיות איטיות משמעותיות לרוב.
    כמו"כ הDB רגיש מאוד לשינויים במידה הוא כבר מלא בנתונים.

    פורסם במקור בפורום CODE613 ב23/06/2013 13:36 (+03:00)

    ארכיון code613m

  • .NET עדכון list על ידי INotifyProperyChanged
    dovidD dovid

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

    פורסם במקור בפורום CODE613 ב20/06/2013 18:13 (+03:00)

    ארכיון code613m

  • .NET: תיקיות בפרוייקט לעומת namespace
    dovidD dovid

    @מאיר_מהתוכנה

    יש איזה שהוא קשר בין קינון של תיקיות של קבצים ממשיים בפרוייקט בויזואל סטודיו, לבין namespace???

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

    namespace System.Collection.הקולקשיןשלי
    {
        class Dugma
        {
        }
    }
    

    @מאיר_מהתוכנה

    דבר נוסף האם ייעול ניהול פרוייקט באמצעות namespaces מקוננים הוא מצוה מדאורייתא, מדברי סופרים, או מנהג גרידא

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

    @מאיר_מהתוכנה

    מה רע במחלקות???

    כל המושג הזה שכותבים קלאס בתוך קלאס, זה אמנם עובד, אבל ע"פ רוב לא חכם.
    בתור Namespace זה ודאי לא מתאים בגלל הרבה סיבות:
    [list:3rs9ovl3]מחלקות בעלי שמות שווים "מסתירים" אחת את השנייה, לעומת Namespace שמתמזגים.
    א"א לכתוב לתוך מחלקה של קובץ אחר וכו', אלא ע"י partial וכתיבה חוזרת של שורת ההצהרה. ודאי שא"א לתוך אסמבלי אחר.
    זה מיותר ליצור מחלקה שלא עושה מאומה מלבד היותה כותרת וקטגורייה לכמה מחלקות.
    מחלקה נכתבת לתוך האסמבלי, ולא משמשת רק לנוחות בזמן הכתיבה כמו Namespace . [/list:u:3rs9ovl3]

    @מאיר_מהתוכנה

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

    נכון לגמרי.

    פורסם במקור בפורום CODE613 ב20/06/2013 16:45 (+03:00)

    ארכיון code613m

  • WPF:Scrolling
    dovidD dovid

    @מאיר_מהתוכנה

    שלום

    1. ה scroll הוא אופקי בלבד, ואני מעוניין שהגלגול ישפיע עליו, אין לי scroll אנכי.

    זה תלוי באובייקט בו אתה נמצא, בעיקרון יש לScrollViewer יש שתי מאפיינים:
    HorizontalScrollBarVisibility
    VerticalScrollBarVisibility

    הם מקבלים אחת מארבע אפשרויות:
    Auto
    Disabled
    Hidden
    Visible

    בד"כ auto זה הכי טוב, אם צריך יש אם לא לא.

    פורסם במקור בפורום CODE613 ב20/06/2013 18:37 (+03:00)

    ארכיון code613m

  • WPF:Scrolling
    dovidD dovid

    אני לא יודע באמת איך לעשות את זה.
    אם לא מפריע לך לאבד את הפוקוס אתה יכול להעביר את הפוקוס לאלמנט כשהעכבר עובר עליו, וע"י קוד 😞

    פורסם במקור בפורום CODE613 ב20/06/2013 16:20 (+03:00)

    ארכיון code613m

  • WPF:ItemsSource אייטם נוסף בסוף itemssource ב wpf
    dovidD dovid

    יש אפשרות לאסוף לItemsSource כמה מקורות ע"י CompositeCollection.
    בתוך הCompositeCollection אפשר לשים גם קולקשנים וגם פריטים בודדים.

    משתמשים בזה ככה:

    <ComboBox.ItemsSource>
        <CompositeCollection>
            <ComboBoxItem>צור חדש...</ComboBoxItem>
            <CollectionContainer Collection="{Binding Source={StaticResource Coll}}" />
            <CollectionContainer Collection="{Binding Source={StaticResource Coll1}}" />
        </CompositeCollection>
    </ComboBox.ItemsSource>
    

    פורסם במקור בפורום CODE613 ב20/06/2013 14:48 (+03:00)

    ארכיון code613m

  • WPF:Trigger והמסתעף
    dovidD dovid

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

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

    לשם כך יש MultiTrigger. הנה דוגמא:

    <Style TargetType="TextBox">
        <Style.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="Text" Value="" />
                    <Condition Property="IsFocused" Value="False" />
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter Property="Background" Value="Red" />
                </MultiTrigger.Setters>
            </MultiTrigger>
        </Style.Triggers>
    </Style>
    

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

    בנוסף לMultiTrigger שהוא בא לריבוי טריגרים רגילים, יש MultiDataTrigger לריבוי DataTrigger.

    פורסם במקור בפורום CODE613 ב25/06/2013 21:40 (+03:00)

    ארכיון code613m

  • WPF:Trigger והמסתעף
    dovidD dovid

    מהו דטה טריגר?

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

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

    הנה דוגמא:

    <Button Content="Button" HorizontalAlignment="Left" Name="button1" VerticalAlignment="Top" Width="75" Margin="50,50">
        <Button.Style>
            <Style TargetType="Button">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding ElementName=textBox1, Path=Text}" Value="">
                        <Setter Property="IsEnabled" Value="False" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>
    <TextBox Height="23" HorizontalAlignment="Left" Margin="50,80" Name="textBox1" VerticalAlignment="Top" Width="75" />
    

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

    פורסם במקור בפורום CODE613 ב24/06/2013 14:00 (+03:00)

    ארכיון code613m

  • WPF:Trigger והמסתעף
    dovidD dovid

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

    המקום לכתיבת טריגר זה רק בתוך סטייל (אמנם בכל אלמנט WPF יש מאפיין בשם Triggers אבל הוא מקבל רק EventTrigger, ולא שימושי בד"כ).

    אז הטריגר נחלק לשלוש חלקים:
    [list:ottwv6w1]א. מאפיין למעקב אחרי ערכו,
    ב. הערך ש"מקפיץ" את החלת הסגנון
    ג. הסגנון שיוחל במידה וההמאפיין מאוכלס בערך הנכון.[/list:u:ottwv6w1]

    בטריגר רגיל, המאפיין שאנו עוקבים אחריו חייב להיות מאפיין מקומי = חבר במאפייני האובייקט עליו בו אנו נמצאים.

    נתחיל בדוגמא:

    <TextBox Height="23" Width="120">
        <TextBox.Style>
            <Style TargetType="TextBox">
                <Style.Triggers>
                    <Trigger Property="Text" Value="שלום">
                        <Setter Property="Background" Value="Red" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </TextBox.Style>
    </TextBox>
    

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

    <Trigger Property="IsMouseOver" Value="True">
        <Setter Property="Background" Value="Red" />
    </Trigger>
    

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

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

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

    פורסם במקור בפורום CODE613 ב19/06/2013 18:50 (+03:00)

    ארכיון code613m

  • ברוכים הבאים!
    dovidD dovid

    שלום למבקרים!
    ברוכים הבאים ל"קהילה" (בשעת כתיבת השורות היא מונה 2-3 חברים...)!

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

    אנו מקוים שהמקום יהיה תועלתי ונעים לכולם 🙂

    בברכה,
    קהילת HRDM.NET

    פורסם במקור בפורום CODE613 ב11/06/2013 14:39 (+03:00)

    ארכיון code613m

  • אנטי וירוס ללא חיבור לאינטרנט
    dovidD dovid

    אני חושב שזו אופציה בכל החינמיים.
    בכל אופן תוכל לנסות, למשל אווסט,
    התקנה אופליין: https://www.avast.com/he-il/download-thank-you.php?product=FAV-AVAST&locale=he-il
    עדכונים: https://www.avast.com/download-update

    תוכנה

  • אפשר שאלה ?
    dovidD dovid

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

    על הפורום

  • מודול php שרץ כל הזמן
    dovidD dovid

    בודאי שאפשר עם PHP, הנקודה היא שזה לא יהיה מהקונטקסט של שירות האינטרנט (למשל תגובה לבקשת ווב, שזה בעצם רץ תחת אפאצ' או IIS או כל שרת אינטרנט אחר) שאז לא עוזר טריד נוסף כי הכל תחת אותו תהליך. ולכן אמרתי כאפשרות את exce שמה אפשר לשים כפרמטר את php עם קובץ להרצה (ואז זה רץ כתהליך נפרד לחלוטין באופן בלתי תלוי).

    תכנות

  • מודול php שרץ כל הזמן
    dovidD dovid

    @clickone זהו שאני הסברתי שזה כן מעניין, ראה בהודעה לעיל.
    https://stackoverflow.com/questions/2212635/best-way-to-manage-long-running-php-script

    תכנות

  • מודול php שרץ כל הזמן
    dovidD dovid

    אם גורם העדכון הוא רק ממשק הווב, אז ברור שהוא זה שצריך להפעיל אותו.
    אם הפעולה לוקחת זמן ממושך, אז כמו שכתבתי עדיף שהphp יפעיל משהו חיצוני בסגנון של exec.
    אך אם יש גורמים אחרים מעדכנים אז אי אפשר לבנות על הPHP. ואז אכן הרעיון של הטריגרים שאמר @clickone הוא גם נכון (אגב לpostgres יש cron משלו בשם pgcron אבל כפי ש @clickone הסיק זה אכן לא נוגע למקרה שלך בגלל שזה לא תזמון אלא תגובה לשינוי).

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

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

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