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

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

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

dovid

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

פוסטים

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

  • c shift מהירות
    dovidD dovid

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

    פורסם במקור בפורום CODE613 ב29/09/2013 11:17 (+03:00)


  • הדרך הטובה ביותר להוסיף הרבה שורות ל DataGridView
    dovidD dovid

    אתה מוסיף ישירות לדטהגריד? תנסה לעבוד עם מקור נתונים (DataSource), ולהגדיר את המאפיין DataGridView.VirtualMode לTrue.
    זה אמור לעבוד הרבה יותר טוב בכמויות גדולות של מידע.
    הנה עוד טיפים להאצת/ייעול הפקד הזה: http://msdn.microsoft.com/en-us/library/ha5xt0d9.aspx

    שים לב שאם יש לך את הרשימה ביד, הAddRange הרבה יותר מהיר ויעיל מAdd כפול מס' הפריטים.
    אולי תנסה גם להקפיא את הרפרוש ע"י DataGridView.SuspendLayout בתחילת המילוי, וקריאה לDataGridView.ResumeLayout בסוף.

    פורסם במקור בפורום CODE613 ב16/09/2013 11:54 (+03:00)


  • בעיה עם InstalledFontCollection
    dovidD dovid

    בעיה מעניינת.
    עליך להשלים איתה מן הסתם.

    הנה הדים נוספים:
    http://www.pcreview.co.uk/forums/fontfamily-collection-refresh-question-t2469694.html

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


  • טיפ: שינוי ConnectionString של TypedDataSet בזמן ריצה
    dovidD dovid

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

    [size=150:vf9pa0ji][u:vf9pa0ji]רקע[/u:vf9pa0ji][/size:vf9pa0ji]
    כשאנו יוצרים בVisualStudio דטה סט חדש ע"י האשף (Add Data Source), הוא שואל אותנו האם לשמור את הConnectionString כ"הגדרה" או לקודד אותה כפי שהיא במחלקות שנוצרות. בהסבר שם באנגלית הם מנדבים מידע נוסף: אם שומרים את הConnectionString כהגדרה, קל אח"כ לשנות אותה במקרה של נתיב משתנה בהפצת התוכנה.

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

    [size=150:vf9pa0ji][u:vf9pa0ji]פיתרון 1 : במידה ורוצים לשנות מידי פעם (לא קבוע) הConnectionString מכאן ולהבא ולשמור את השינוי להפעלה הבאה[/u:vf9pa0ji][/size:vf9pa0ji]
    הנה הקוד, הוא משנה את ההגדרה של הקונקשיין סטרינג הספציפי:

    var config =  ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
    connectionStringsSection.ConnectionStrings["השם של הקונקשיין שלנו"].ConnectionString = "Data Source=blah;Initial Catalog=blah;UID=blah;password=blah";
    config.Save();
    ConfigurationManager.RefreshSection("connectionStrings");
    

    הקוד הזה מצריך Referance + Using ל System.Configuration.
    שימו לב, פיתרון זה הוא מסורבל ומיותר למקרה שבאופן קבוע אנו רוצים לבחור את מקור הנתונים בזמן ריצה.
    לשם כך הפיתרון השני.

    [size=150:vf9pa0ji][u:vf9pa0ji]פיתרון 2 : כשרוצים שהConnectionString ייקבע בזמן ריצה לפי פרמטר כל שהוא[/u:vf9pa0ji][/size:vf9pa0ji]
    במקרה כזה, בשעת יצירת הדטה סט אפשר לבחור שלא ישמור את הConnectionString כהגדרה כי ממילא לא יעשה בה שימוש.

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

    var NewDa = new XxxxDataSetTableAdapters.XxxxTableAdapter();
    NewDa.Connection = getConnection();
    

    כאשר הפונקציה getConnection נראית מעין זו:

    System.Data.SqlClient.SqlConnection getConnection()
    {
        if (true) //כאן בחינה/ברירה מה הקונקשיין המתאים
        {
            return new System.Data.SqlClient.SqlConnection("...");
        }
        else
        {
            return new System.Data.SqlClient.SqlConnection("...");
        }
    }
    

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

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


  • הודעת שגיאה: System.InvalidOperationException
    dovidD dovid

    מאוד מבין את הסיטואציה המעצבנת של בעיה שלא ניתנת לדיבוג קל.
    אבל גם אני חושב שקצת קוד יעזור.
    באופן כללי, כיון שהבעיה היא סביב יצירת הטופס ההתחלתי, מה שמעניין זה הבנאי שלו (New) ואולי גם האירוע טעינה (OnLoad).

    פורסם במקור בפורום CODE613 ב09/09/2013 17:01 (+03:00)


  • מדריך ארכיטקטורת תוכנה - שיעור 3 קריאת שמות
    dovidD dovid

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

    פורסם במקור בפורום CODE613 ב08/09/2013 13:33 (+03:00)


  • המרת מתאר צורה ל-GraphicsPath
    dovidD dovid

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

    אכן גם במציאת הספריות אינני יכול לעזור לך, אבל אני מכוון אותך.

    פורסם במקור בפורום CODE613 ב25/08/2013 18:25 (+03:00)


  • WinForms:ListBox יצירת ארוע שיקפוץ לאחר שינוי מספר השורות
    dovidD dovid

    אפשר במקום לעקוב אחרי הליסטבוקס לעקוב אחרי ליסט (לליסט יש אירוע שינוי) ולקשר את הליסטבוקס לליסט.

    הנה דוגמת קוד:

    Dim binList As New BindingList(Of String)
    
    AddHandler binList.AddingNew, Sub(s, e1) Beep()
    
    binList.Add("1")
    binList.Add("2")
    binList.Add("3")
    binList.Add("עוד")
    binList.Add("ועוד")
    
    
    ListBox1.DataSource = binList
    

    השורה הראשונה יוצרת סוג של ליסט (מיוחד קצת, כי הרגיל הוא לא מתרפרש אחרי שינויים),
    שורה 3 רושמת אירוע,
    ושורה 13 מאגדת את הליסט לליסטבוקס.

    פורסם במקור בפורום CODE613 ב21/08/2013 19:53 (+03:00)


  • הקפצת ארוע לפני מעבר למצב שינה
    dovidD dovid

    א. אין היגיון לטיימר כ"כ צפוף, הכי מהר שהמחשב מכבה לבד זה דקה שזה אלף ולא מאה.
    ב. בשביל לדחות את הטיימר לפי ההוראות של מיקרוספט מספיק
    esFlags = EXECUTION_STATE.ES_CONTINUOUS Or EXECUTION_STATE.ES_SYSTEM_REQUIRED

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


  • הקפצת ארוע לפני מעבר למצב שינה
    dovidD dovid

    @רחמים

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

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

    מה יכול להיות? לא יודע. נסה להחליף את הערך הזה: &H1 בזה &H40.

    כדי למנוע מהמשתמש להכניס לישון ידנית זה דורש מן הסתם הרשאות מנהל.
    אינני יודע לעת עתה על דרך לזה.

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


  • הקפצת ארוע לפני מעבר למצב שינה
    dovidD dovid

    @רחמים

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

    זה הקוד שיש שמסתובב באינטרנט, אני לא יכול לנסות, תנסה אתה:

    Private Declare Function SetThreadExecutionState Lib "kernel32" (ByVal esFlags As EXECUTION_STATE) As EXECUTION_STATE
    Public Enum EXECUTION_STATE As Integer
        ES_CONTINUOUS = &H80000000
        ES_DISPLAY_REQUIRED = &H2
        ES_SYSTEM_REQUIRED = &H1
    End Enum
    Public Function PowerSaveOff() As EXECUTION_STATE
        Return SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED Or EXECUTION_STATE.ES_DISPLAY_REQUIRED Or EXECUTION_STATE.ES_CONTINUOUS)
    End Function
    Public Function PowerSaveOn() As EXECUTION_STATE
        Return SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS)
    End Function
    

    קריאה לPowerSaveOff אמורה לנטרל את ההירדמות האוטומטית.
    כשגומרים את הפעולה, לקרוא לPowerSaveOn כדי להחזיר את המצב הרגיל.

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


  • הקפצת ארוע לפני מעבר למצב שינה
    dovidD dovid

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

    פורסם במקור בפורום CODE613 ב09/10/2013 15:21 (+03:00)


  • הקפצת ארוע לפני מעבר למצב שינה
    dovidD dovid

    שא"א לבטל זה אפשר להבין. אתה מעוניין לבטל?
    והודעה, מה פירוש א"א? היא מופיעה רק לאחר השינה?

    פורסם במקור בפורום CODE613 ב20/08/2013 11:21 (+03:00)


  • מעקב אחר שינוי תוכן תיקיה
    dovidD dovid

    יש לך בToolBox בWinForms את הפקד FileSystemWatcher.
    הוא זמין ברחבי הדוטנט בלי רפרנס, והוא נמצא בניימספייס System.IO.
    אם אני זוכר טוב, יש לו כמה אירועים (מחיקה, חדש וכו'), ואחד כללי.

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


  • קריאת קובץ משרת והחזרתו אל תוך משתנה ב #C
    dovidD dovid

    @אבי

    מה זה ה README.TXT

    שם הקובץ המרוחק.
    ולפני כן הנתיב.

    פורסם במקור בפורום CODE613 ב20/08/2013 11:09 (+03:00)


  • קריאת קובץ משרת והחזרתו אל תוך משתנה ב #C
    dovidD dovid

    הנה קטע קוד מstackoverflow

    WebClient request = new WebClient();
    string url = "ftp://ftp.microsoft.com/developr/fortran/" +"README.TXT";
    request.Credentials = new NetworkCredential("anonymous", "anonymous@example.com");
    
    try
    {
      byte[] newFileData = request.DownloadData(url);
      string fileString = System.Text.Encoding.UTF8.GetString(newFileData);
      Console.WriteLine(fileString);
    }
    catch (WebException e)
    {
    
    }
    

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


  • עזרה DataSet דחוף!
    dovidD dovid

    להוסיף למסד? או רק לדטהסט מהמסד?
    ואני לא מכיר את זה שזה מוסיף קונקשיין חדש.
    אני בחלונית Data Source מקליק בימיני על הDataSet ובוחר בConfigure וכו'.
    לא יוצר שום קונקשיין חדש.

    פורסם במקור בפורום CODE613 ב18/08/2013 14:09 (+03:00)


  • ניגון שני קבצי wav בו זמנית
    dovidD dovid

    @רחמים

    @דוד ל.ט.
    כנראה הוא משותף (Shared) לכל הApplicationDomain בקיצור, פר אפילקציה. אבל אתה לא תיצור נוספת רק להשמע סימולטנית...

    לכן עניתי לך מה שעניתי.

    לפי מה שאתה אומר אז הפתרון הוא לעשות טריד לא משותף, לא? וא''כ איך עושים טרידים לא משותפים?

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

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


  • ניגון שני קבצי wav בו זמנית
    dovidD dovid

    @magicode

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

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

    @רחמים

    מה ההבדל בין שני Threads באותה תוכנית לבין תוכנית אחת שנפתחה פעמיים? מדוע הSoundPlayer לא נותן כאן וכן נותן כאן?

    השאלה מצויינת...
    כנראה הוא משותף (Shared) לכל הApplicationDomain בקיצור, פר אפילקציה. אבל אתה לא תיצור נוספת רק להשמע סימולטנית...
    לכן עניתי לך מה שעניתי.

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


  • ניגון שני קבצי wav בו זמנית
    dovidD dovid

    עם הפונקצייה System.Media.SoundPlayer כנראה אי אפשר.
    תנסה עם DIrectX, או עם המדיה פלייר של Windows.

    פורסם במקור בפורום CODE613 ב18/08/2013 11:29 (+03:00)

  • 1
  • 2
  • 497
  • 498
  • 499
  • 500
  • 501
  • 505
  • 506
  • 499 / 506
  • התחברות

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

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