הצעה: פורום חדש: דוגמאות קוד
-
להנהלת הפורום: אני מציע להקים אשכול חדש שיהיה מיועד לדוגמאות קוד.
משתמשים יוכלו לפרסם דוגמאות קוד שלהם, או מי שצריך דוגמה ספציפית יוכל לבקש אותה כאן.יש חשיבות שזה יהיה בנפרד מהפורום הרגיל, כי לפעמים "כשמשעמם" רוצים לעבור ולראות דוגמאות קוד....
הדוגמה צריכה להיות קצרה ועניינית כמו כאן:תודה!
פורסם במקור בפורום CODE613 ב30/12/2013 10:29 (+02:00)
-
יוזמה ברוכה,
אני בעד.ובשביל ההתחלה הנה קוד קטן לקבלת שער יציג עדכני:
private double BankOfIsraelExchangeRate(DateTime date, string currency = "01") { double ExchangeRate = 0; string XmlUrl = "http://www.boi.org.il/currency.xml?" + "rdate=" + date.ToString("yyyyMMdd") + @"&curr=" + currency; DataSet dtExchangeRate = new DataSet("BankOfIsraelExchangeRate"); dtExchangeRate.ReadXml(XmlUrl); if (dtExchangeRate.Tables.Count > 1) ExchangeRate = Convert.ToDouble (dtExchangeRate.Tables[1].Rows[0]["RATE"]); // No exchange rate published for this date, then loop 6 days back else if (dtExchangeRate.Tables.Count > 0) { for (int i = 1; i <= 6; i++) { DateTime CheckDate = date.AddDays((-1) * i); string XmlLoopUrl = "http://www.boi.org.il/currency.xml?" + "rdate=" + CheckDate.ToString("yyyyMMdd") + @"&curr=" + currency; DataSet dtLoopExchangeRate = new DataSet("BankOfIsraelLoopExchangeRate"); dtLoopExchangeRate.ReadXml(XmlLoopUrl); // Found valid published exchange rate if (dtLoopExchangeRate.Tables.Count > 1) { ExchangeRate = Convert.ToDouble (dtLoopExchangeRate.Tables[1].Rows[0]["RATE"]); break; } } } return ExchangeRate; }
לקבלת קודי מטבעות נוספים עיין כאן.
הקוד במקורו מכאן, ועשיתי לו שיפוץ קטן כדי להתאימו לזמנינו.פורסם במקור בפורום CODE613 ב30/12/2013 22:35 (+02:00)
-
יפה!!! בדיוק חשבתי לעצמי כשהתחלתי את הפוסט הזה שזו תהיה הדוגמה הראשונה שאני יביא....
"rdate=" + date.Year + date.Month.ToString("00") + date.Day.ToString("00") + @"&curr=" + currency;
אפשר לחסוך את השירשור של השנה, החודש והיום ע"י שימוש בזה:
date.ToString("yyyyMMdd")
משתמשי VB6 וVBA יכולים להשתמש בזה:
format(date,"yyyyMMdd")
כמובן שגם משתמשי VB.NET יכולים להשתמש בזה, אבל אין סיבה לעבוד קשה על פני ToString
פורסם במקור בפורום CODE613 ב31/12/2013 00:20 (+02:00)
-
למה לכתוב פעמים.
למה לא לכתוב ככה.
private double BankOfIsraelExchangeRate(DateTime date, string currency = "01") { // No exchange rate published for this date, then loop 6 days back for (int i = 0; i >= -6; i--) { string XmlLoopUrl = "http://www.boi.org.il/currency.xml?" + "rdate=" + date.AddDays(i).ToString("yyyyMMdd") + @"&curr=" + currency; DataSet dtLoopExchangeRate = new DataSet("BankOfIsraelLoopExchangeRate"); dtLoopExchangeRate.ReadXml(XmlLoopUrl); // Found valid published exchange rate if (dtLoopExchangeRate.Tables.Count > 1) { return Convert.ToDouble(dtLoopExchangeRate.Tables[1].Rows[0]["RATE"]); } } return 0; }
פורסם במקור בפורום CODE613 ב31/12/2013 09:30 (+02:00)