שאלה על visual studio.net 2003

שאלה על visual studio.net 2003

אני עובד על פרוייקט asp.net שמתי לב כשאני לוחץ על כפתור ימני, יש שם אפשרויות לעבור לקוד (codebehind) אחד מהם זה view code- וזה בשביל לעבור לקוד ביהיינד בצד שרת, שמתי לב שמעליו יש אפשרות של view client script(כלומר צד לקוח) משום מה האפשרות הזאת אפורה -לא מאופשרת, אני אמור לעשות משהו כדי שהיא תתאפשר ואוכל ללחוץ עליה,ואם כן מה?
 

gilad g

New member
ניחוש פרוע..

אמור להיות לך client script כלשהו?
 
תודה, דווקא חשבתי על זה..

ניסיתי את זה, שמתי script בhead עשיתי שמירה עברתי למצב desgin ועדיין זה לא מאופשר. בכול מקרה זה לא כל כך עקרוני, אבל בכול מקרה תודה.
 
שאלה אחרת -בנושא char.IsNumber

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

itaym02

New member
דרך אחת שאני מכיר

בעזרת מטודה parse של int. אם תעשה זאת בתוך בלוק של try-catch יתפש לך Exception אם לא כל המחרוזת היא מספרים. החסרון: try-catch הוא מנגנון שגוזל זמן\ביצועים
try { int.Parse(string s); } catch { //Not all of s where numbers }​
 
תודה, אבל כנראה שאתה צודק וזה

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

בעיקרון זה באותו סגנון שהצעת Double.TryParse הנה הסבר:
The TryParse method is like the Parse method, except this method does not throw an exception if the conversion fails. If the conversion succeeds, the return value is true and the result parameter is set to the outcome of the conversion. If the conversion fails, the return value is false and the result parameter is set to zero.​
 

itaym02

New member
הופס

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

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

1.בכול מקרה כולם מגיעים לשיטה הבסיסית של לולאה ובדיקת תווים-בד"כ אין שם קסמים של הוקוס פוקוס. פשוט חיפשתי אם השיטה הזו כבר קיימת. עכשיו לב שיש אופרטור שימושי , שרק עכשיו שמתי לב לקיומו אופרטור Like
If Me.txtInput.Text Like "######" Then​
במקרה זה אני בודק שהקלט הוא 6 ספרות בלבד #-תו של סיפרה אחת
 

gilad g

New member
כמובן..

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

אולי אפשר לכתוב מחלקה קצרה בvb.net שתבקש 2 פרמטרים,טקסט,ותבנית לבדיקה ולהשתמש איתה ב#C?
 

gilad g

New member
אפשר...

אבל זה נראה לי טיפה מיותר...
הנה מה ש-reflector נותן ב-decompile:
if (StringType.StrLike("123", "###", 0)) { Console.WriteLine("OK"); }​
StringType היא מחלקה שנמצאת ב-Assembly ששמו Microsoft.VisualBasic... מוסיפים אליו reference וזהו
 
למעלה