טוב,
אז במומנט התשובה נמצאת בקישור הזה: http://momentjs.com/docs/#/durations/minutes/
צריך להשתמש במאפיין duration, ככה:
sum += moment.duration(hour.SumTime).asHours()
פורסם במקור בפורום CODE613 ב25/07/2017 01:00 (+03:00)
טוב,
אז במומנט התשובה נמצאת בקישור הזה: http://momentjs.com/docs/#/durations/minutes/
צריך להשתמש במאפיין duration, ככה:
sum += moment.duration(hour.SumTime).asHours()
פורסם במקור בפורום CODE613 ב25/07/2017 01:00 (+03:00)
תודה!
לא הבנתי, אתה אומר שאין אפשרות לעשות זאת בJS? אני מנסה לעשות את זה אצל הלקוח ולא בשרת..
ב. חיפשתי במומנט ולא בדיוק מצאתי.. כי אני לא רוצה להשוות בין שני תאריכים, אלא יש לי מערך שמכיל את כל הזמנים הללו, ופשוט לחשב את כולם.
מדובר בתוכנה שמחשבת שעות עבודה, יש לי מערך שמכיל את כל השעות (תאריך התחלה, סיום וסך השעות), ואני רוצה לסכם את סך השעות הכולל.
פורסם במקור בפורום CODE613 ב25/07/2017 00:47 (+03:00)
יש לי שתי שאלות בנושא:
א. אני מקבל ערך של אובייקט TimeSpan של C# (דרך API) שמייצג לי הפרש זמן בין שעות, (למי שלא מכיר זה נראה כך: 01:30:46, דהיינו שעה וחצי ו46 שניות). אני רוצה לרוץ על מערך של שעות שיש לכל אחד את המאפיין הזה, ולחשב את הסך הכולל שלהם.
איך לעשות את זה? ניסיתי לחפש בסטאק ולא הצלחתי למצוא מזור..
ב. בהנחה שיש לי אובייקט שמכיל תאריך התחלה ותאריך סיום, ואני רוצה להציג את ההפרש באופן הזה, איך אפשר לעשות זאת בJS?
תודה מראש!
פורסם במקור בפורום CODE613 ב25/07/2017 00:27 (+03:00)
@דוד ל.ט.
רחמים פתרון יפה, אבל אם כבר לפי איבר מסויים אז הבנתי שזה הname רק שצריך את המאפיין גם של הID. אז אם ככה uniq[i.name].
וavr416 פעם הבאה חוץ מהבעיה תסביר מה המטרה הרצוייה, והם שייך מקרה של id שונה ושם זהה ומה הדין בכהאי גונא ומדוע
רחמים כל הכבוד על הפתרון הפשוט!!
דוד, תודה ענקית על ההסברים, אם כי עדיין לא הבנתים לגמרי.
אבאר קצת יותר, אני בונה דוח שמאפשר למשתמש להציג את התוצאות של כל המבחנים שהתקיימו בתקופה מסויימת, במקצוע מסויים לבחירתו.
אני מאפשר לו לבחור עבור אילו כיתות או שכבות הוא רוצה להציג את התוצאות, ואני רוצה להציג את המקצוע רק כאשר קיימים עבורו מבחנים באותה תקופה.
לכן, אני בודק בדטה בייס, באילו מקצועות התקיימות מבחנים בתאריכים הללו, לאותם כיתות, ורק אז אני מציג את שם המקצוע בסלקטבוקס.
הענין הוא שכיון שהוא יכול לבחור כמה כיתות, אז הנתונים שאני מקבל מהדטה בייס שונים בהרבה פרטים שלא כ"כ משמעותיים כרגע עבורי, ומה שמעניין אותי זה רק באיזה מקצוע התקיים המבחן, דהיינו הID של המקצוע, וגם השם שלו (כדי להציג למשתמש).
הID והName הם תמיד זהים, ולא משתנים. מה שכן משתנה זה הרבה דברים אחרים, למשל איזה כיתה, איזה מורה וכו'.
@דוד ל.ט.
אם אתה משתמש בfindIndex אז אתה יכול לשכוח מהmap.
בשורה שתיים עשית מצויין אבל א. זה מסנן רק לפי הname ב. אתה צריך להוציא את האינדקסים של המקור, והmap מפסיד אותם לגמרי כפי שכתבת.
אם אתה מחפש רק לפי השם או אפי' אם לפי שתי המאפיינים ולא "איך אני משווה את כל המאפיינים" אז נורא פשוט. עם findIndex:
מעולה!! באמת לא הבנתי כ"כ איך התכוונת עם הfindIndex הרי לא מעניין אותי כ"כ האינדקס, אלא מעניין אותי שייתן לי את המערך הuniq.
למה הmap הורס את האינדקסים של המערך המקורי? הרי הוא לא משנה את המקור, הוא בסה"כ מחזיר מערך חדש ע"פ התנאי שאני מעביר לו, לא?
אז אם כן, מה הבעיה שתוך כדי הmap הוא גם ירוץ על המקורי ויחזיר לי את האינדקס שלו??
תודה רבה רבה!
פורסם במקור בפורום CODE613 ב20/07/2017 20:47 (+03:00)
@דוד ל.ט.
אגב תחשוב, מה היית עושה עם linq? גם שם זה לא פשוט. השוואה לפי כלל המאפיינים קיימת בהשוואת struct, אבל במחלקות אין ברירה חוץ מרפלקשיין. כמובן תמיד ניתן להכין באובייקט מתודת השוואה ו/או לדרוס את הGetHashCode או להשתמש בIComparer וכו'.
אגב ראיתי כשמונה ספריות פופולריות של linq בjs ולבטח יש עוד הרבה...
עוד לא יצא לי שהייתי צריך להשתמש בדבר כזה..
פשוט אני מקבל דטה שהיא מערך של שיעורים, ואני צריך להגיע למצב של ליסט רק של השיעורים שלא כפולים, מאידך אני צריך גם את שאר המידע שיש על כל שיעור, כגון המזהה שלו (לצורך החיפוש אח"כ) ועוד פרמטרים.
לפי מה שכתבת אז אני חושב שהיה אפשר גם לכתוב ככה, כדי להשיג אח"כ גם את התוכן:
var array = [{id:15, name: "עברית"},{id:15, name: "עברית"},{id:15, name: "עברית"},{id:16, name: "תורה"}]
var uniq = array.map(x=>x.name).filter((v,i,arr) => arr.indexOf(v) ===i )
var uniqArr = uniq.map(x => array[array.findIndex(y => y.name === x.name)])
console.log(uniq)
console.log(uniqArr)
אבל משום מה זה לא עובד..
כלומר הוא יוצר לי מערך ייחודי רק של הname. אולם, אח"כ הוא מחזיר לי כאילו השם הזה לא קיים במערך המקורי. -1
אא"כ אני כותב לו את השם המפורש דהיינו =='עברית' ואז אכן הוא מחזיר לי את האינדקס.. אלא שכמובן שאני לא יודע מה יהיה אותו תוכן..
פורסם במקור בפורום CODE613 ב20/07/2017 10:26 (+03:00)
בלי שימוש בספריות חיצוניות, אפשר גם כך:
var array = [{id:15, name: "עברית"},{id:15, name: "עברית"},{id:15, name: "עברית"},{id:16, name: "תורה"}]
var uniqArr = [array[0]]
for(var i =0;i<array.length;i++){
if(!hasEqual(array[i], uniqArr))
uniqArr.push(array[i])
}
function hasEqual(obj, arr) {
for (i=arr.length;i--;)
if (hasObjEqual(obj, arr[i])) return true
return false
}
function hasObjEqual(obj, thisObj) {
for (var prop in obj)
if (obj[prop] !== thisObj[prop]) return false
return true
}
console.log(uniqArr)
https://codepen.io/avrahamAhituv/pen/VWJgRZ
פורסם במקור בפורום CODE613 ב20/07/2017 00:06 (+03:00)
מישהו מוכן להסביר לי מדוע הקוד הבא לא עובד???
כלומר, הוא עובד, אבל מחזיר לי את כל האובייקטים חזרה למרות ששלושה מהם הם כפולים?
var array = [{id:15, name: "עברית"},{id:15, name: "עברית"},{id:15, name: "עברית"},{id:16, name: "תורה"}]
var uniqArr = array.filter(function (v, i, arr) {
return arr.indexOf(v) === i
})
console.log(uniqArr)
הנה קישור לקודפן שם אפשר לראות את הקוד בפעולה (בקונסולה כמובן) <!-- s:-) --><img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":-)" title="מחייך" /><!-- s:-) -->
אם התשובה היא בגלל שלעולם כל אובייקט שונה מחברו, גם אם המפתחות (זה המילה בעברית :lol: ) אותו דבר.. אז היש דרך מהירה ופשוטה לעשות uniq על אובייקטים? או שמא צריך לרוץ בלולאה ולנסות להשוות keys??
תודה מראש!
פורסם במקור בפורום CODE613 ב19/07/2017 23:22 (+03:00)
אם מישהו רוצה להוריד את כל הספרים..
פשוט להריץ את הסקריפט שיש כאן: http://www.mssmallbiz.com/ericligman/Key_Shorts/Eligman_DownloadAll_PowerShell.txt
בpowerShell
(לא לשכוח לשנות את התיקייה בהתחלה לנתיב הנכון במחשב שלכם, וצריך שזה יהיה תיקייה קיימת)
להריץ אותו
אח"כ אפשר למחוק את מה שלא רוצים
פורסם במקור בפורום CODE613 ב13/07/2017 21:24 (+03:00)
משהו נחמד שקורה מחר, אולי יעניין מישהו:
יום וחצי מרוכזים של מפתחים, מאפיינים ומעצבי חוויית משתמש לפיתוח אפליקציות/אתרים/משחקים בנושאי תורה וחסד
התכנסות - יום חמישי, י"ט בתמוז (13.7), 9:00 בבוקר
זמן סיום משוער - יום שישי, כ' בתמוז (14.7), 12:00 בצהריים
כולל ארוחות וכיבוד לאורך האירוע והפסקה לתפילות
מיקום: https://goo.gl/maps/TTJ3gDiuLF72
לפרטים נוספים: אלעד כהן - 052-5710099
למתן חסות: אושרי מיימון - 054-4925098
ניתן להירשם בקישור הזה
ניתן לצפות ברשימת הנושאים לפיתוח בקישור הזה
אין לי קשר להנ"ל ואינני יודע מי עומד מאחורי זה, שמעתי על זה היום במקרה, ואקווה שזה יביא תועלת לעם ישראל
פורסם במקור בפורום CODE613 ב12/07/2017 12:21 (+03:00)
אני אשמח לבוא
פורסם במקור בפורום CODE613 ב27/06/2017 23:15 (+03:00)
עוד רעיון:
תוכנה למניעת שכחת ילדים ברכב.
תוכנה וובית (אתר אינטרנט או אפליקציה) מציגה את כל ילדי המעון / גן וכדו'.
כל הורה שמביא את הילד, מסמן בטאבלט שהביא את הילד שלו.
כל הילדים שלא סומנו שהגיעו עד שעה מסויימת, האתר שולח סמס להורים שלהם מדוע לא הגיעו.
כל הילדים שלא סומנו עד שעה מאוחרת יותר, וההורים שלהם לא התקשרו / שלחו הודעה /מייל לעדכן על החיסור שלהם - המטפלת תתקשר אליהם.
גילוי נאות: הרעיון איננו שלי והוא לקוח מכאן: http://www.kipa.co.il/הורים-וילדים/באבני-חפץ-מונעים-שכחת-ילדים-ברכב-על-ידי-טכנולוגיה-/
זה לא נראה לי פרוייקט מסובך מדי, ואם תעשה אותו טוב - תוכל לנסות ולשווק אותו ולעשות ממנו קצת כסף <!-- s:-) --><img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":-)" title="מחייך" /><!-- s:-) -->
פורסם במקור בפורום CODE613 ב21/06/2017 22:33 (+03:00)
https://www.visualstudio.com/downloads/
תוריד את גרסת ה Community - היא בחינם!
פעם היה express והקומיוניטי היא המחליף שלה, גרסה יותר מלאה, ובחינם לשימוש עסקי עד 5 מפתחים בחברה.
פורסם במקור בפורום CODE613 ב09/06/2017 13:02 (+03:00)
ניסיתי גם עם קובץ הדוגמא משם וזה עבד, כשבאתי לבנות פרוייקט חדש (ניסיתי קונסול אפליקיישן וגם WPF)
הוא מצייר בירוק את השורה
ולמטה בerror list הוא כותב
'TemplateService' is obsolete: 'Use RazorEngineService instead'
ירוק זה לא שגיאה, זה רק אומר לך שזה מיושן ויש היום תחביר חדש.
אתה יכול לחפש בגיטהב אחר התיעוד ולמצוא מה התיעוד החדש, או להמשיך לעשות איך שהוא עושה וזה יעבוד לך.
פורסם במקור בפורום CODE613 ב13/06/2017 18:32 (+03:00)
לפי מה שהבנתי ההrazorEngine אמור לשתול שדות בHTML.
לא כך?
וזה מה שאני מתקשה איתו.
מנוע הרייזור יודע להמיר קובץ רייזור, דהיינו קובץ עם סיומת cshtml לקובץ הטמל סטנדרטי.
קובץ הרייזור מאפשר לך לייצר הטמל דינמי, ולא רק סטטי.
אבאר דברי:
HTML - היא בסך הכל שפת סימון להצגת נתונים, היא מגדירה אלמנטים שהמנוע של הדפדפן יודע לפרש איך להציג אותם. למשל H1 זה כותרת ראשית, והCSS מגדיר את העיצוב שלהם, באיזה צבע, גודך וכדו'.
כדי לייצר HTML דינמי, אתה חייב להשתמש בשפת תכנות מסוימת, למשל C#, PHP, JS וכו'.
מנוע הרייזור הוא עושה את העבודה הזאת בסביבת דוטנט.
הוא מאפשר לך לשלב קוד C#, משתנים, מאפיינים וכו' בתוך קוד HTML, כך שלאחר מכן בשעת ריצת התוכנית תוכל לשתול שם את התוכן של הקובץ באופן דינמי, והרייזור ידע לפענח את זה ולהפיק לך קובץ HTML רגיל.
הרייזור מפיק לך סטרינג של HTML.
הרייזור בד"כ נמצא בפרוייקטי ווב, ולכן כאשר רוצים להשתמש בו בתוכנה שולחנית צריך להשתמש בפרוייקט שהבאתי לך (או כל דבר דומה אחר).
אח"כ אתה לוקח את הסטרינג הזה ומפיק ממנו PDF עם ספריות שיודעות להמיר HTML לPDF.
מובן?
פורסם במקור בפורום CODE613 ב13/06/2017 18:31 (+03:00)
לגבי הrazorEngine
ייבאת את הספריה דרך nuGet?
אם כן, הוספת את הרפרנס הזה:
using RazorEngine.Templating;
הורדתי את פרוייקט הדוגמה שלו וזה עובד לי.
פורסם במקור בפורום CODE613 ב13/06/2017 18:23 (+03:00)
יש למישהו איזה המלצה לעורך HTML שולחני טוב,
אם לא, אז יש לי כבר כמה...עם הRazorEngine שאברהם הביא כאן, לא הסתדרתי
הורדתי את הספריה, והשורה הזאת לא נתמכת var templateService = new TemplateService();
לא הבנתי מה הקשר בין שני חלקי ההודעה שלך.. ונראה לי שגם דוד לא הבין ולכן הוא שאל.
אתה מחפש עורך HTML, דהיינו עורך קוד כדי שאתה תוכל לכתוב בו את הHTML? אם כן, הכי מומלץ זה Webstorm שהוא בתשלום, או Visual studio code שהוא חינמי לגמרי ויש לו מלא הרחבות שעושות את העבודה מעולה!
אבל אם זו כוונתך, אז כמו שדוד שאל, מה הקשר לנושא? כבר גמרת את כל הפרוייקט??
וגם מה זה קשור לrazorEngine שהוא בסה"כ מנוע שיודע לרנדר את הטמפלייט שכתבת ברייזור לקובץ הטמל..
פורסם במקור בפורום CODE613 ב13/06/2017 18:18 (+03:00)
הנה הספריה
https://antaris.github.io/RazorEngine/
הנה מדריך בנושא
http://www.brainysolutions.org/Blog/Detail/329/generate-html-email-text-using-razor-in-net-console-application
וחוצמזה.. לא הבנתי שהוא מחפש דווקא תוכנה שולחנית, ולא משהו וובי :shock:
פורסם במקור בפורום CODE613 ב08/06/2017 18:13 (+03:00)
יריץ אותו לוקלית.
זכורני גם שישנה אפשרות לשלב את המנוע של רייזור בפרוייקט רגיל. נראה לי שפעם ראיתי את זה איפהשהו..
פורסם במקור בפורום CODE613 ב08/06/2017 18:07 (+03:00)
איפה אני הולך לכתוב את הטקסט שאני רוצה לקבל לקובץ? ואיך אני ממזג לו את השמות.
יצרתי דף HTML ואני לא יודע איך אני קורא לייצא אותו.
אני המלצתי לך להשתמש ברייזור, כי אני לא מכיר את מה שsoft המליץ.
בשביל רייזור אתה צריך פרוייקט asp.net mvc שמשתמש במנוע של רייזור.
הRazor בעצם מאפשר לך לכתוב קוד HTML ולשלב בתוכו משתנים של C # בקלות, כך שכאשר הדף מרונדר הוא מציג את תוכן המשתנה במקום המתאים.
יש לך כאן מדריך בעברית ASP.NET MVC
בהצלחה!
פורסם במקור בפורום CODE613 ב08/06/2017 15:13 (+03:00)
- הצלחתי להדפיס קוד HTML לPDF.
אותיות עבריות הוא מדפיס לג'יבריש, אני מפחד שהוא חסיד סאטמר. :lol: :lol:
אתה צריך להוסיף לתגית הhead של הדף את התגית הזאת:
<meta charset="utf-8" />
והדף עצמו נראה כך:
<!DOCTYPE html>
<html lang="he">
<head>
<meta charset="utf-8" />
<title>זה הכותרת של הדף</title>
<!--כאן אתה מוסיף הפניה לקובץ הCSS של הגדרות העיצוב -->
</head>
<body>
כאן נמצא התוכן שאתה רוצה שהמשתמש יראה...
</body>
</html>
הנה קישור למדריך HTML בסיסי בעברית, ולא חסרים כאלה במרשתת
פורסם במקור בפורום CODE613 ב07/06/2017 22:57 (+03:00)