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

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


eido300

Recommended Posts

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

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

תודה.

עוד שאלה (לא ממש קשורה)- ראיתי באתרים שמלמדים שפות תכנות ומביאים קטעי קוד, שהם מביאים קטעי קוד לשפות הרגילות (c ++c וכו') ול- #F, מה זה #F?

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

  • תגובות 101
  • נוצר
  • תגובה אחרונה

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

http://msdn.microsoft.com/en-us/library/53ezey2s.aspx

לשאלתך השנייה: זו עוד שפת תכנות כמובן. #F היא שפה ממשפחת השפות של דוטנט, כמו #C. ההבדל העיקרי בינה לבין השפות שאתה מכיר היא שזו שפת תכנות פונקציונלית, ולא אימפרטיבית.

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

א. תודה רבה על הרצון לעזור.

ב. יש כ"כ הרבה דברים שאני לא מצליח לעשות, לדוגמא- בשביל שעון מעורר צריך לכתוב לו באיזה שעה לפעול, אז ניסיתי לעשות textbox שבו יכניסו את השעה ובעזרת buttum לשים את זה במשתנה של datetime, אבל מתברר שזה בלתי אפשרי כי זה מחרוזת וא"א לשים מחרוזת בתור datetime, אז ניסיתי לשים את זה תוך כדי המרה לint וזה גם לא עזר, אז אני לא יודע איך להעביר את זה.

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

חוץ מזה איך אני מגדיר לו איזה שיר, הרעיון היה שאני יוכל לטעון לו כל פעם שיר אחר, איך עושים את זה?

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

בקיצור נראה לי שקצת נסחפתי הפעם.

אני אשמח אם יסבירו לי את זה, (אבל זה נראה לי הרבה אז אני יבין אם לא יסבירו...).

שוב תודה רבה.

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

בדרך כלל מספיק לחפש בגוגל. לדוגמה בשביל להמיר מחרוזת ל-DateTime, מחפשים בגוגל string to datetime, ובטוח מוצאים הרבה הסברים.

אף פעם על תעתיק קוד על עיוור. תבין מה הקוד הזה עושה.

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

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

חוץ מזה איך אני מגדיר לו איזה שיר, הרעיון היה שאני יוכל לטעון לו כל פעם שיר אחר, איך עושים את זה?

תכתוב:


using System.Diagnostics;
OpenFileDialog ofd = new OpenFileDialog();
if(ofd.ShowDialog() == DialogResults.OK){
Process.Start(ofd.FileName);
}

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

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

הוא יפתח חלון שישאל את המשתמש איזה שיר הוא רוצה - זאת חלק מהמטרה.

הקוד ששמתי הוא בתור דוגמה.

שיעשה:


using System.Diagnostics;
string file;
OpenFileDialog ofd = new OpenFileDialog();
}(if(ofd.ShowDialog == DialogResults.OK
file = ofd.FileName;
{

באירוע שבו צריך להפעיל את המוסיקה שיכתוב:


;(Process.Start(file

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

תודה רבה לכולם.

קוד:


string file;
OpenFileDialog ofd = new OpenFileDialog();
}(if(ofd.ShowDialog == DialogResults.OK
file = ofd.FileName;
{
using System.Diagnostics;

השגיאה שלי באמת הייתה בגלל שלא הוספתי את הusing.

תוכלו להסביר לי על המשפט if הזה?

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

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

במקרה של OpenFileDialog התוצאות האפשריות הן OK (אם המשתמש בחר קובץ ולחץ על "פתח") או Cancel (אם המשתמש לחץ על ביטול או סגר את החלון ע"י ה-X). ה-if בודק שהמשתמש אכן לחץ על "פתח".

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

ofd.Dispose();

או לחילופין, לעטוף את כל העסק ב-using:

string file;
using (OpenFileDialog ofd = new OpenFileDialog()) {
if(ofd.ShowDialog() == DialogResults.OK) {
file = ofd.FileName;
}
}

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

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

אשמח לתגובות, תודה.

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

ארכיון

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


×
  • צור חדש...