ABA


"אני מקבל שגיאה exception בתוכנה שלי ולא מבין למה:"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15917 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15917
Nexus

   12:15   26.05.10   
אל הפורום  
  אני מקבל שגיאה exception בתוכנה שלי ולא מבין למה:  
 
   ערכתי לאחרונה בתאריך 26.05.10 בשעה 12:21 בברכה, Nexus
 
אני משתמש על אותו הרעיון ממש זהה על קובץ אחר ואין שום בעיה כשהעתקתי את הקטע של הקוד רק שיניתי את שם הפונקציה ושם הקבצים בתוכנה פתאום הוא זורק לי שגיאה.


אז דבר ראשון אני מוריד קובץ:


Client.DownloadFile(satellite_address, satellite_dir + satellite_file_name);

בדקתי את זה והקובץ תקין ואין לי בעיה להשתמש בו בקוד שלי הקובץ יורד ב constructor.

אחרי זה פעם ראשונה שאני משתמש בקובץ זה מעלה אותו ל picturebox2 במקום של form1_load ואין בעיה עם זה.

המקום השני שאני משתמש בקובץ הוא פה בפוקנציה הזו:


private void timer5_Tick(object sender, EventArgs e)
{

string Next_File;
bool file_compare;
int i;
bool bad_file;
file_array_dl = Directory.GetFiles(satellite_dir, "satellite*.jpg");


if (file_array_dl.Length == 0)
{
label6.Text = "Directory is empty therefore Showing sample image";
pictureBox1.Load(@"d:\Weather_Michmoret.bmp");
realtime_write_to_Log("Last Downloaded file is :" + satellite_dir + satellite_file_name + @"\satellite.jpg");
}
else
{
//i = file_array_dl.Length; // Need to change to last_file_image()
i = last_satellite_file();
last_file = satellite_dir + @"\satellite" + i.ToString("D3") + ".jpg";
File.Copy(last_file, bad_file_test_dir + testing_file);
bad_file = Bad_File_Testing(bad_file_test_dir + testing_file);
if (bad_file == true)
{

File.Delete(bad_file_test_dir + testing_file);
if (File.Exists(last_file))
{
file_compare = File_Utility.File_Comparison(satellite_dir + satellite_file_name, last_file);
if (file_compare == true)
{

return;
}
//i = 0;
//i = file_array_dl.Length + 1; // Need to change to last_file_image()
i = last_satellite_file() + 1;
Next_File = satellite_dir + @"\satellite" + i.ToString("D3") + ".jpg";
File.Copy(satellite_dir + satellite_file_name, Next_File);
realtime_write_to_Log("Last Downloaded file is :" + Next_File);
pictureBox2.Load(Next_File);
}
else
{
File.Delete(last_file);

File.Delete(bad_file_test_dir + testing_file);
}
}

}

וגם פה אין בעיה עד שהוא מנסה לקורא לפונקציה:


i = last_satellite_file();

אז הוא הולך לפונקציה הזו ושם זורק לי את השגיאה זו הפונקציה:


private int last_satellite_file()
{

int max_image_files_number = 0;
string files_names = Directory.GetFiles(satellite_dir, "satellite*.jpg");
for (int i = 0; i < files_names.Length; i++)
{
string current_name = files_names;
int start_index = current_name.LastIndexOf("satellite") + 9; // we get the starting index of radar and then add the length of 'radar', which is 5
int last_index = current_name.LastIndexOf('.');
string image_file_number = current_name.Substring(start_index, last_index - start_index);
int image_file_number_converted = Convert.ToInt32(image_file_number);
if (image_file_number_converted > max_image_files_number)
{
max_image_files_number = image_file_number_converted;
}
}
return max_image_files_number;
}

והשגיאה שהוא נותן לי זה :



Formatexception was unhandled.
Input string was not in a correct format.
Make sure your method arguments are in the right format.
When converting a string to DateTime, Parse the string to take the date before putting each variable into the DateTime Object.

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

תודה על העזרה.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  שאלה ronen333  26.05.10 12:33 1
     הבנתי את העיקרון של הרעיון: Nexus 26.05.10 12:57 2
     את התמונות אני ממספר רק אחרי השוואה: Nexus 26.05.10 20:14 4
  מצאתי את הבעיה לשגיאה למה היא נגרמה: Nexus 26.05.10 20:12 3

       
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   12:33   26.05.10   
אל הפורום  
  1. שאלה  
בתגובה להודעה מספר 0
 
   לפי מה אתה ממספר את התמונות?
כי לפי מה שאני רואה הפעולה די טיפשית, אתה עובר קובץ קובץ רק כדי לדעת כמה קבצים יש.
עכשיו תחשוב על זה, אם אתה מעלה את המונה של כל תמונה ב1, אז אתה פשוט יכול לקחת את האוסף קבצים ולבדוק את הCOUNT מינוס 1.

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nexus

   12:57   26.05.10   
אל הפורום  
  2. הבנתי את העיקרון של הרעיון:  
בתגובה להודעה מספר 1
 
   אני אבדוק את זה עם מיספור התמונות כן אני ממספר את התמונות לפי 001 002 והלאה.

בקשר לטיימר אני אבדוק את זה גם.
תודה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nexus

   20:14   26.05.10   
אל הפורום  
  4. את התמונות אני ממספר רק אחרי השוואה:  
בתגובה להודעה מספר 1
 
   של גודל ותוכן ורק אם הקובץ הבא שונה אז הוא ממספר אותו למספר 002 והקובץ הבא ל 003 וככה הלאה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nexus

   20:12   26.05.10   
אל הפורום  
  3. מצאתי את הבעיה לשגיאה למה היא נגרמה:  
בתגובה להודעה מספר 0
 
   אני הורדתי את הקובץ הראשוני מהאתר לאתר ספציפי במקרה הזה בשם satellite
ושם הקובץ הוא satellite.jpg

נראה לי שבגלל שמדובר בטיימר שאותו כיוונתי בכוונה ל 3 שניות אז הוא דרס כל הזמן את הקובץ הקיים.

עכשיו מה שעשיתי אני מוריד את הקובץ לספרייה זמנית שם אני מבצע על הקובץ גם בדיקת תקינות ואז בודק אם הספרייה satellite ריקה הוא מעתיק לשם את הקובץ מהספרייה הזמנית ויוצר קובץ ראשוני satellite001.jpg
ואז הוא עושה השוואה בין הקובץ בספרייה הזמנית שיורד כל 3 שניות לבין הקובץ בספרייה הקבוע satellite משווה גם גודל קובץ וגם תוכן ורק םא הקבצים שונים הוא מעתיק שוב מהספרייה הזמנית את הקובץ לספרייה הקבועה ומגדיל את מספר הקובץ באחד קרי הקובץ הבא הוא satellite002.jpg

בכל מקרה עכשיו זה עובד.

תודה על העזרה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net