עבור לתוכן

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

Featured Replies

פורסם

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

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

תודה.

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

נערך על-ידי eido300

  • תגובות 101
  • צפיות 10.3k
  • נוצר
  • תגובה אחרונה
פורסם

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

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

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

פורסם
  • מחבר

תודה רבה.

פורסם
  • מחבר

טוב זה מסובך מדי אני מתייאש.

פורסם

מה מסובך?

מה ניסית לעשות? למה להתייאש לפני שביקשת עזרה?

שים לב שיש אפילו דוגמת קוד בלינק שנתתי לך.

פורסם
  • מחבר

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

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

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

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

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

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

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

שוב תודה רבה.

נערך על-ידי eido300

פורסם

בדרך כלל מספיק לחפש בגוגל. לדוגמה בשביל להמיר מחרוזת ל-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 הזה?

נערך על-ידי eido300

פורסם

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 לכאן, (יש שם גם את הקבצי קוד וגם את הקובץ השלם).

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

ארכיון

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

דיונים חדשים