פורסם 2012 בפברואר 1813 שנים מוצג הזמן הנכון מתי הקובץ הבא יגיע אבל הוא לא סופר אחורה אלא נשאר ככה אולי ?
פורסם 2012 בפברואר 1813 שנים מחבר כן, בתוך ה-if הראשון public void timer1_Tick(object sender, EventArgs e) { if (groupBoxSelect.Enabled == false) { timer1.Start(); if (nextFileDelay != null) { double delayForFile = nextFileDelay.nextFileIn; if (delayForPacket > 1) { labelStatus.Text = "Waiting for next file... " + "(" + (delayForPacket) + " milliseconds)"; } else { timer1.Stop(); } delayForFile--; } } }
פורסם 2012 בפברואר 2113 שנים מחבר בסופו של דבר הצלחתי אבל יש לי בעיה קטנה שמציקה לי, לפעמים הטיימר לא מספיק לספור אחורה עד הסוף כי בנתיים כבר מגיע הזמן של הקובץ הבא להישלח אז הוא נשלח, אני חושב שזה בגלל שכשאני יודע מתי יגיע הקובץ הבא (למשל בעוד 5.5 שניות) אז מה שקורה הוא שיש לי CLASS שאני מכניס אליו את הערך הזה ויש לי BackgroundWorker שדוגם את ה-CLASS הזה וכשערך מסויים בוליאני משתנה בהתאם הוא מכניס לפעולה את הטיימר והוא סופר א מספר השניות שהוא לוקח אותם גם מאותו ה-CLASS מאחד הפרופרטי אבל כל זה כנראה לוקח כמה מילישניות וכל זה מצטבר עד שאני מאבד בספירה חצי שנייה - שנייה, השאלה שלי היא איך אני יכול להתגבר על זה ?
פורסם 2012 בפברואר 2113 שנים או שאתה יכול לנסות להתחשב בזה בחישוב הזמן שאתה מפעיל את ה Timer.או שאתה יכול לנסות לעבור שפה - כי באופן תיאורטי, C# וכל שפה שרצה על מכונה וירטואלית (או "מתורגמת לקוד ביניים") לא יכולה להיות Real Time אמיתית.אתה יכול גם לנסות לשנות חלק מהמחלקות הנתונות לך (לרשת אותן ולצמצם את הפעולות שלהן), אבל זה נראה לי יותר מדי מסובך...
פורסם 2012 בפברואר 2213 שנים מחבר לשנות שפה לא רלוונטי כרגע אז מה שנשאר לי זה להתחשב בזמן, האם הכי פשוט לעשות זה למדוד עם datetime מהזמן איך שאני יודע מתי שהקובץ הבא אמור להגיע ועד שהטיימר נכנס לפעולה ולהוריד מהזמן שהטיימר אמור לספור את הזמן הזה ?
פורסם 2012 בפברואר 2213 שנים כן. עדיף למדוד עם Stopwatch, הוא אמור להיות יותר מדויק.http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.