קוד לפתיחת קובץ ב#c. - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

קוד לפתיחת קובץ ב#c.


eido300

Recommended Posts

תדאג לתת שמות אינפורמטיביים למשתנים שלך ולפקדים שלך. לדוגמה לכפתורים button2 ו-button3 אתה יכול לקרוא buttonChooseFIle ו-buttonStartTimer (או משהו בסגנון). כנ"ל לגבי כל ה-textboxים למיניהם, ולמשתנים a ו-save.

לגבי a: שים לב שאתה משתמש בו רק בתוך הפונקציה button3_click. אין סיבה שהוא יהיה שדה של המחלקה כולה (אתה יכול להגדיר אותו מקומית בתוך הפונקציה). חוץ מזה הוא גם לא ממש נחוץ - אתה משתמש בו רק אם ה-Parse נכשל, ובמקרה כזה אתה יכול פשוט לעשות return כדי לצאת מהפונקציה.

לא ממש הבנתי למה נחוץ המשתנה file1. אתה יכול להציג בתיבה את file.

אין צורך לרשום את הביטוי "x == true", מספיק פשוט לכתוב "x". לדוגמה במקום לכתוב משהו כזה: (if (x == true || file != null אפשר לכתוב פשוט (if (x || file != null. זה כי משתנה מסוג bool הוא כבר ביטוי לוגי בפני עצמו, ולהשוות אותו ל-true לא עושה כלום.

ההדפסה של השעה הנוכחית ב-textbox3 קצת מסורבלת. אתה יכול לעשות את זה עם ToString יחיד במקום שלושה.

בשלב הבא אתה יכול להוסיף עוד כמה דברים:

1. כפתור לביטול השעון המעורר.

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

3. שהתוכנה תנגן את הקובץ בעצמה, במקום לפתוח תהליך חיצוני שינגן אותו.

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

קישור לתוכן
שתף באתרים אחרים

  • תגובות 101
  • נוצר
  • תגובה אחרונה
תדאג לתת שמות אינפורמטיביים למשתנים שלך ולפקדים שלך. לדוגמה לכפתורים button2 ו-button3 אתה יכול לקרוא buttonChooseFIle ו-buttonStartTimer (או משהו בסגנון). כנ"ל לגבי כל ה-textboxים למיניהם, ולמשתנים a ו-save.

לגבי a: שים לב שאתה משתמש בו רק בתוך הפונקציה button3_click. אין סיבה שהוא יהיה שדה של המחלקה כולה (אתה יכול להגדיר אותו מקומית בתוך הפונקציה). חוץ מזה הוא גם לא ממש נחוץ - אתה משתמש בו רק אם ה-Parse נכשל, ובמקרה כזה אתה יכול פשוט לעשות return כדי לצאת מהפונקציה.

לא ממש הבנתי למה נחוץ המשתנה file1. אתה יכול להציג בתיבה את file.

אין צורך לרשום את הביטוי "x == true", מספיק פשוט לכתוב "x". לדוגמה במקום לכתוב משהו כזה: (if (x == true || file != null אפשר לכתוב פשוט (if (x || file != null. זה כי משתנה מסוג bool הוא כבר ביטוי לוגי בפני עצמו, ולהשוות אותו ל-true לא עושה כלום.

ההדפסה של השעה הנוכחית ב-textbox3 קצת מסורבלת. אתה יכול לעשות את זה עם ToString יחיד במקום שלושה.

תיקנתי הכל חוץ מfile1 שהוא נחוץ כי אני רוצה שיראו רק את השם של הקובץ לא את כל הכתובת שלו.

בשלב הבא אתה יכול להוסיף עוד כמה דברים:

1. כפתור לביטול השעון המעורר.

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

3. שהתוכנה תנגן את הקובץ בעצמה, במקום לפתוח תהליך חיצוני שינגן אותו.

את 1-2 הצלחתי אבל שלוש אני לא יודע איך עושים, אשמח אם תסביר.

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

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

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

קישור לתוכן
שתף באתרים אחרים

א. עדיין יש מקומות שבהם אתה כותב משהו בסגנון "x == true". כבר אמרתי שזה לא נחוץ.

ב. בשורה שאתה כותב ל-TimeNow אכן המצב יותר טוב שיש רק ToString אחד, אבל למה הבנייה המורכבת הזו של המחרוזת?

ג. סבבה לגבי file1, אבל תן לו ול-file שמות אינפורמטיביים יותר.

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

ה. בשורת ההגדרה של time לא צריך לשים בו שום ערך, משתי סיבות: אתה לא משתמש בערך הזה בשום מקום, וכיוון ש-DateTime הוא struct הוא גם ככה אוטומטית מאותחל לערך הזה (בניגוד ל-class שאוטומטית מאותחל ל-null).

ו. לגבי 3, האמת היא שאני לא יודע איך, ונראה שאין ממש דרך סטנדרטית בדוטנט (קיים אובייקט בשם SoundPlayer אבל הוא יודע לנגן רק wav). אתה יכול לחפש בגוגל, אני בטוח שיש כל מיני דוגמאות (נניח תחפש c# play mp3).

קישור לתוכן
שתף באתרים אחרים

תודה רבה

א.אני אבדוק ואשנה

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

ג. גם על זה אני יעבוד.

ד.1.איך אפשר? 2.אם הוא יעשה את זה זה יזרוק חריג, לא? לכן שמתי את זה בתוך try וcatch שאם מישהו יתחכם זה יראה לו הודעה. 3. איך לדעתך צריך לעשות את זה?.

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

ו.כנ"ל.

תודה רבה

קישור לתוכן
שתף באתרים אחרים

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

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

קישור לתוכן
שתף באתרים אחרים

טוב עוד לא הספקתי לתקן את זה, אבל יש לי בעיה חדשה: הtime.now במקום להראות לדוגמא 15:45 הוא מראה 03:45,

ואז השעון לא עובד. מה לעשות?

עריכה: במחשב אחר זה כן עושה לי 15:45 אז אני אבדוק את זה עוד פעם.

קישור לתוכן
שתף באתרים אחרים

לגבי הבדיקה של הקובץ אם הוא הסוג הנכון- אין לי מושג.

לגבי ההפעלה של השיר ראיתי משהו לגבי DirectShow אני עדיין לא הצלחתי להבין מה זה או למצוא תיעוד של זה ב#c בmsdn,

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

השאר הכל תיקנתי.

תודה.

קישור לתוכן
שתף באתרים אחרים

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

לגבי הפעלת השיר בתוכנה עצמה- בקומפלייר בwindwos form פקד של מדיה פלייר ודרך זה אפשר להפעיל את זה.

קישור לתוכן
שתף באתרים אחרים

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

ב. סבבה (רק סתם הערה - הקומפיילר זה רק מה שהופך את הקוד #C לקובץ exe).

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...