שלום לכולם,

שלום לכולם,

אז לפני בערך חמש שעות (טרי טרי טרי) פתחתי בפעם הראשונה את הספר הכבד שקניתי אלוהים יודע מתי ותמיד דחיתי ללימוד #C.
אחרי חמש שעות שהורדתי את כל התכונות ועקבתי אחרי הספר אפילו hello world לא הצלחתי לייצר :-\

אבל בכל אופן אני שמח לגלות את הפורום הזה- אשמח להיעזר ולשאול שאלות:) ומי יודע, אולי יום אחד אצליח לעזור למישהו :-O

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

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

vinney

Well-known member
איזה ספר? איזה מהדר? איזה עורך?

מה זה "לא מצליח"? אנחנו אמורים לנחש?
 
שניה, שניה, שניה...

חחח, אני בעצמי מנסה להבין
אז ככה:

ספר:
סדנת לימוד #C של הוצאת הוד-עמי, ייעוץ מקצועי: ארז קורן
מהדר: Visual Studio Express 2012
עורך: Notepad++

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

עשיתי הכל
פתחתי תיקייה ב-C
פתחתי את העורך רשמתי אחד לאחד מה שרשום שם- שמרתי את זה כמו שהתבקשתי באותו השם אפילו
פתחתי את המהדר ורשמתי את הפקודות כמו שרשום בספר ואין Hello World :
 

vinney

Well-known member
למה שלא תעשה משהו פשוט?

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

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

vinney

Well-known member
עכשיו רק נשים "בעית קומפילציה ב#C" בכותרת

והנה - שאלת שאלה ראשונה בפורום שמישהו אולי אפילו יוכל לענות עליה! מזל טוב!

עד שמישהו יענה... למה אתה משתמש בעורך חיצוני ומקמפל משורת פקודה? יש עורך מצויין בVISUAL STUDIO, והקומפיילר מובנה בתוך הסביבה.
 
לפחות הצלחתי במשהו היום :))))

לשאול שאלה בנושא :))))

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


השערות שלי לבעיה:

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

nocgod

New member
תנסה ככה

תפעיל את VS2012
תלחץ File - New - Project או שאתה יכול ללחוץ ישירות CTRL SHIFT N (כמו לייצר תיקייה חדשה בexplorer)
יפתח לך חלון שנקרא New Project, בחלון בצד שמאל תבחר Visual C# ובצד ימין יפתחו לך כל מיני אופציות מבין האופציות תבחר בבקשה Console Application
מתחת לחלונות תוכל למצוא את השדות Name ו Solution name, הם מגדירים את שם הפרוייקט ואת שם "תיק" הפרוייקטים (אין לי האמת איך לתרגם solution בצורה יותר מדוייקת)
תשנה את השתי השדות ל MyFirstProgram ותלחץ על OK
התוכנה תחשוב קצת ולבסוף תציג לך חלון שבצד ימין שלו יהיה Solution Explorer ובוא תוכל למצוא את כל הפרוייקטים בsolution הנוכחי (אל תדאג אתה תבין מה זה טיפה יותר מאוחר בתהליך הלימודים)
בכל פרוייקט בsolution explorer תוכל למצוא תיקיות properties ו reference אל תדאג לגביהם כרגע, יותר מאוחר תלמד מה עושים איתן.
יהיה לך קובץ אחד ויקראו לו Program.cs והוא גם יהיה פתוח בצד שמאל של המסך.
הקוד בו יהיה כזה

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{

}
}
}


מה שאני רוצה שתעשה זה תוסיף בתוך הסוגריים של הMain את הפקודה הבאה

Console.WriteLine("Hello world");


לאחר שתוסיף את השורה הזאת תלחץ על לחצן start (אתה תזהה אותו בחלק העליון המרכזי של המסך, יהיה לידו משולש ירוק וכיתוב start), או תיכנס לDebug - Start without debugging או תלחץ על CTRL F5 (כל הדברים שציינתי שקולים אחד לשני)
הדבר הזה עושה הרצה של הקוד שכתבת.

תגיד לי אם עבד.
 

vasermann

New member
נראה לי שזו הבעיה -

כשאתה פותח חלון של הקונסול וכותב את הפקודה של הקימפול (שהיא csc hello.cs) אתה כותב לפני זה את הנתיב המלא של הקובץ (...c:\tycs) וזה מה שיוצר את הבעיה.
אחרי שאתה עובר לתיקייה הזו (ע"י הפקודה CD שאתה רושם בשורה הראשונה של הצילום שצירפת), תכתוב פשוט csc hello.cs וזהו.
 

vinney

Well-known member
זה עקרונית בסדר

מה שלא בסדר זה ה "<" לפני הcsc. צריך להחליף אותו ב"\".

או לעשות את מה שהצעת.
 

nocgod

New member
לפי מה שהבנתי מMSDN

הוא לא יכול להריץ csc סתם ככה מcmd. הוא קודם צריך להכניס אותו ועוד דברים ל env. path ורק אז, או לפתוח cmd דרך VS ששם הוא כבר מוכן עם הpath והכל.
אני בכל זאת לא מבין למה הוא מנסה לכתוב קוד C# בnpp ולקמפל בcmd
על אותו משקל היה יכול לכתוב c ב nano...
 
Try running from VS cross tools terminal

As noted by others, you probably need a bunch of environment variables for the compilation. If you have vs installed, you'll find it under visual studio tools in start menu

You should make a note to self to ignore some advices mentioned above. Starting with npp + command line compilation is brilliant, and in the long run will put you far ahead other coders

Good luck!
 

nocgod

New member
even though your experience surpasses mine

I must disagree on that saying.
Using npp to write C# or Java is counter productive in any way I see it.
since it doesn't do auto completing it would discourage people to long and describing names to methods, classes and variables
not using the code snippets will result in writing over and over again the same boil plate code, for example Exceptions, try catch blocks and properties
even the process of importing the needed resources will be long and tiresome and will bring the coder to import whole bunches of namespaces not needed
and wasting time on finding the needed namespaces to import.
 
Experience is irrelevant, and you're right

It is counter-productive.
But productiveness is not important when you start to *learn* something.
It is very important not to skip stages when learning. BTW it's also very important to code without debugger in phase 1.

IMHO.
 

Etnozam

New member
לא מסכים.

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


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

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

vinney

Well-known member
לא חושב שזה נכון

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

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