PracticU

פרמטרים לפונקציה Main

בלי כתוביותעם כתוביות
PracticU › קורס יסודות התכנות - שפת C# .NET - קורס תכנות למתחילים - דוט-נט / סי-שארפ - חומר לימוד של מדעי המחשב › פרמטרים לפונקציה Main
מילון מושגים:
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
שורת פקודה - ממשק טקסטואלי שבו מקלידים פקודות למערכת ההפעלה ומקבלים תגובה בטקסט, במקום להשתמש בעכבר.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
Visual Studio - סביבת פיתוח משולבת (IDE) של מיקרוסופט לכתיבה, ניפוי והרצה של קוד, בעיקר בשפות .NET.
CMD - שורת הפקודה הקלאסית של Windows (Command Prompt), להרצת פקודות ותוכניות בממשק טקסטואלי.
נתיב - מחרוזת שמתארת את מיקומו של קובץ או תיקייה במערכת הקבצים, או כתובת של משאב בתוך אתר.
דיבאג - תהליך של איתור, הבנה ותיקון תקלות בקוד, לעיתים בעזרת כלי שמאפשר לעצור ולעקוב אחר ריצת התוכנית.

פרמטרים לפונקציה Main
הסרטון מסביר את המערך args שמקבלת הפונקציה Main ממערכת ההפעלה, ואיך מפעילים את התוכנית עם פרמטרים משורת הפקודה.
השלבים העיקריים
1. מי קורא ל-Main: התוכנית לא קוראת ל-Main בעצמה. מערכת ההפעלה מפעילה אותה, ואם מעבירים לה ערכים, הם נכנסים למערך args מסוג string.
2. שורת הפקודה: אחרי שם הקובץ הפעיל כותבים רווח ואז פרמטרים, למשל MainArguments.exe 123 abc. פרמטר שמכיל כמה מילים נכתב בגרשיים, כדי שייחשב כפרמטר אחד.
3. גרירת קבצים: כשגוררים קבצים על תוכנת כיווץ, מערכת ההפעלה שולחת את שמות הקבצים לתוכנית כפרמטרים. כך עובדת גם תוכנה שמצפינה קבצים שגוררים עליה.
4. בדיקה והמרה: לפני השימוש בערכים בודקים את args.Length. אם הערכים אינם תקינים מציגים הודעת שימוש ועוצרים בעזרת return. לאחר מכן ממירים את הערכים למספרים בעזרת Convert.ToInt32.
הרצה מהסביבה
- ב-Visual Studio: Ctrl+Shift+B מבצע בילד, ואחר כך מריצים מחלון cmd בנתיב של קובץ ה-exe.
- בלי לצאת מהסביבה: בחלונית Debug של מאפייני הפרויקט כותבים את הפרמטרים בשדה Command line arguments. אחר כך Ctrl+F5 מדמה את שליחתם.
שימו לב
הפרמטרים תמיד מגיעים כמחרוזות, ולכן צריך להמיר אותם למספרים לפני חישוב. הסרטון מציין שטיפול במקרה שבו המשתמש מכניס ערך שאינו מספר ייעשה בהמשך הקורס.
כך התוכנית מקבלת מידע מבחוץ בזמן ההפעלה, בלי לבקש אותו מהמשתמש בתוך התוכנית.
השיעור הבא בקורס: ייצוג מספרים במחשב

פרקי ההרצאה: פרמטרים לפונקציה Main

  1. 00:00

    פרמטרים למיין: מערך args

  2. 00:50

    מי קורא למיין: מערכת ההפעלה

  3. 03:13

    מתי מעבירים פרמטרים לתוכנית

  4. 04:14

    דוגמה: תוכנת ארכיון מקבלת קבצים

  5. 05:10

    כתיבת תוכנה שקוראת פרמטרים

  6. 06:06

    הרצה מ-Command Line בתיקיית הפרויקט

  7. 07:26

    פרמטר אחד שמכיל רווחים

  8. 08:22

    בדיקת מספר הפרמטרים והודעת שימוש

תמלול ההרצאה: פרמטרים לפונקציה Main

הטקסט המלא של הדקות הראשונות בהרצאה «פרמטרים לפונקציה Main» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

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

  2. 00:27

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

  3. 01:15

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

  4. 01:25

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

  5. 01:44

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

  6. 02:08

    למה אנחנו בעצם צריכים את זה קורה לפעמים שאנחנו רוצים להפעיל תוכנית דרך לדוגמא ה-CommandLine. CommandLine זה החלון DOS שאנחנו יכולים לראות אותו כאשר אנחנו לוחצים על בקש Windows ו-R ואז בוחרים ב-CMD ולוחצים Enter.

  7. 02:31

    החלון הזה שאתם רואים כאן זה בעצם חלון DOS שמסוגל להריץ פקודות. אנחנו יכולים לפנות לקובץ ה-Execution שלנו, לדוגמא myproject.exe, לרשום רווח ולהתחיל לשלוח לו את המשתנים.

  8. 02:46

    לדוגמה אנחנו רוצים לשלוח לו שני ערכים, ללחוץ על Enter ואנחנו רוצים לראות שהתוכנית מקבלת את הערכים האלה ועושה איתם דבר מסוים. לדוגמה, מציגה לנו את המכפלה שלהם.

  9. 03:03

    אז לפעמים אנחנו רוצים להריץ תוכנות דרך ה-Command Line ולתת להם משתנים. מתי עושים את זה? מתי שיש משמעות בעצם להריץ תוכנה דרך ה-Command Line.

  10. 03:13

    מתי שהתפקיד שלה זה לרוץ דרך ה-Command Line. נניח שזו מטלה מסוימת, איזשהו ג'וב מסוים שאנחנו רוצים לאפשר להריץ אותו דרך הקומנדליין ולאפשר למשתמש לשלוח לו משתנים.

  11. 03:26

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

  12. 03:46

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

  13. 04:13

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

  14. 04:32

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

  15. 04:46

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

  16. 05:00

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

  17. 05:25

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

  18. 05:57

    רואים שלא בעצם ראינו שום דבר שקיים בו אם אנחנו מריצים אותו דרך הקומנד ליין אז הקומנד ליין כבר נפתח מראש ולכן הוא יוכל להריץ את הקובץ בלי להיסגר ובואו נריץ אותו דרך הקומנד ליין מכ"ש Windows והלחצה E-R מכ"ש R כתיבת CMD Enter לאחר מכן אנחנו צריכים להגיע בדיוק לנתיב של הקובץ אוקיי אז אנחנו רואים שאנחנו נמצאים בתוך נתיב C.2 My Programs ואנחנו

  19. 06:31

    צריכים להגיע ל-Main Arguments לא משנה את הנתיב Main Arguments ונשנה אותו ל-Dim ונשנה אותו ל-Debug ולאחר מכן אנחנו נוכל להריץ את הקובץ MainArguments.exe ולשלוח לו משתנים.

  20. 07:17

    בואו נשלח את low123abc ואנחנו רואים שהקובץ רץ ואכן נשלחו לנו פרמטרים argsLength3 ו-low123abc. שימו לב שהפרמטרים נשלחים עם רווחים.

  21. 07:40

    אם אנחנו רוצים לשלוח פרמטר אחד שיהיה מורכב ממספר מילים, בואו נעשה את זה פה. אבל אנחנו צריכים לשלוח אותו עם דרשיים This is a single parameter בואו נראה שוב פעם יש לנו שלושה ערכים שנשלחו לקובץ לואו 1-3 This is a single parameter אוקיי אז בואו נשאיר את התוכנית הזאת פתוחה אפשר לעשות פה ויכוי מסך על ידי CLS אנחנו עדיין נמצאים

  22. 08:10

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

  23. 08:30

    אוקיי, איך אנחנו עושים את זה? קודם כל אנחנו בודקים האם args.length שווה 2, או יותר דיוק בואו נבדוק אם הוא שונה מ-2. אם הוא שונה מ-2 בואו נדפיס ליוזר illegal usage please send two arguments, two numbers ואנחנו יכולים לפעמים גם לכתוב נהוג בעצם לכתוב מה ה-usage האמיתי, מה השימוש האמיתי.

  24. 09:11

    מיין ארגומנטס זה בעצם השם של התוכנית שלנו אפשר אפילו עם גרשיים נקודה אקזיט לאחר מכן רווח 100 200 או אפשר להגיד למשתמש first number second number בצורה כזאת המשתמש יודע שפה הוא חייב להכניס לנו ערכים נהוג לעשות את זה עם סוגריים מעובעות או סוגריים משולשות בצורה כזאת יש

לקורס המלא: קורס C# למתחילים אונליין

ההרצאה הקודמת: enum

ההרצאה הבאה: ייצוג מספרים במחשב

הרצאות קשורות מקורסים אחרים

  • The main Arguments
  • Main Layout
  • מצביע לפונקציה - Delegate
  • פונקציה Scalar - עם פרמטרים

קורסים נוספים במסלול

  • קורס פיתוח משחקים יוניטי - Unity - שפת #C