行 1: Imports Microsoft.VisualBasic
行 2: Imports System.Data
行 3: Imports System.Data.SqlClient
行 4: Imports System.Data.OleDb
行 5: Imports System.Configuration.ConfigurationManager
行 6: Imports System.Web
行 7: Imports System.IO
行 8:
行 9:
行 10: Public Class comm
行 11:
行 12: 'Public Shared conn_dbQuote As String = ConnectionStrings("dbQuote").ConnectionString
行 13: 'Public Shared conn_twstock As String = ConnectionStrings("twstock").ConnectionString
行 14: Public Shared conn_24_promotet_r As String = ConnectionStrings("_24_Promote_ConnectionString_Read").ConnectionString
行 15: 'Public Shared conn_24_promotet_w As String = ConnectionStrings("Conn_24_promotet_w").ConnectionString
行 16: 'Public Shared conn_24_promote_r As String = ConnectionStrings("Conn_24_promote_r").ConnectionString
行 17: 'Public Shared conn_24_promote_w As String = ConnectionStrings("Conn_24_promote_w").ConnectionString
行 18: Public Shared Conn_24_News_r As String = ConnectionStrings("_24_news_ConnectionString_Read").ConnectionString
行 19: Public Shared Conn_24_ofund_r As String = ConnectionStrings("_24_ofund_Read").ConnectionString
行 20: 'Public Shared Conn_24_bank_ConnStr As String = ConnectionStrings("_24_bank_ConnStr").ConnectionString
行 21: 'Public Shared conn_24_Dbroot_r As String = ConnectionStrings("Conn_24_DBRoot").ConnectionString
行 22: Public Shared conn_24_global_w As String = ConnectionStrings("_24_Global_ConnectionString_Write").ConnectionString
行 23: Public Shared conn_24_global_r As String = ConnectionStrings("_24_Global_ConnectionString_Read").ConnectionString
行 24: 'Public Shared conn_24_Mem_r As String = ConnectionStrings("Conn_24_Members_r").ConnectionString
行 25: Public Shared conn_CnyesNews_r As String = ConnectionStrings("Cnyes_NewsConnectionStringRead").ConnectionString
行 26: 'Public Shared conn_122_r As String = ConnectionStrings("conn122").ConnectionString
行 27: 'Public Shared conn_122_member_w As String = ConnectionStrings("conn122_member_w").ConnectionString
行 28: 'Public Shared conn_122_twstock As String = ConnectionStrings("Conn_122_twstock").ConnectionString
行 29: 'Public Shared conn_122_global As String = ConnectionStrings("Conn_122_global").ConnectionString
行 30: 'Public Shared conn_NewGlobal_r As String = ConnectionStrings("NewGlobal").ConnectionString
行 31:
行 32: Public Shared NewsImgDomainTag As String = "{@imgDomain}" 'CMS新聞內文圖片tag
行 33: Public Shared NewsImgDomain As String = "http://imgcache.cnyes.com/cnews" 'Tag要repplace的網址
行 34: Public Shared NewsImgDomainSSL As String = "https://b2b.cnyes.com/imgcache" 'Tag要repplace的網址
行 35: Public Shared MobileChartDomain As String = "http://so.cnyes.com/mobilechart/" 'Tag要repplace的網址
行 36: Public Shared MobileChartDomainSSL As String = "https://b2b.cnyes.com/b2bsfunc/mobilechart/" 'Tag要repplace的網址
行 37:
行 38:
行 39:
行 40: ''' <summary>
行 41: ''' 傳回datarow某欄位的值,若是null則傳回--
行 42: ''' </summary>
行 43: ''' <param name="row">datarow</param>
行 44: ''' <param name="id">datarow欄位名稱</param>
行 45: ''' <param name="mt">FormatNumber到小數幾位</param>
行 46: ''' <param name="dflag">是否是日期,是則回傳yyyy/MM/dd</param>
行 47: ''' <returns></returns>
行 48: ''' <remarks></remarks>
行 49: Public Shared Function GetV(ByVal row As DataRow, ByVal id As String, Optional ByVal mt As String = "", Optional ByVal dflag As Boolean = False) As String
行 50: Dim value As String = "--"
行 51:
行 52: If Not IsDBNull(row(id)) Then
行 53: If mt = "" Then
行 54: If dflag = False Then
行 55: value = row(id).ToString.Trim()
行 56: Else
行 57: value = CType(row(id), Date).ToString("yyyy/MM/dd")
行 58: End If
行 59: Else
行 60: value = FormatNumber(row(id), CInt(mt))
行 61: End If
行 62: End If
行 63:
行 64: Return value
行 65: End Function
行 66:
行 67: Public Shared Function GetData(ByVal ProOrSql As String, ByVal culnameAy() As String, ByVal valueAy() As String, ByVal sqltype As CommandType, ByVal connstr As String) As DataTable
行 68:
行 69: Dim BackDT As New DataTable
行 70: Dim conn_R As SqlConnection = New SqlConnection(connstr)
行 71: conn_R.Open()
行 72: Dim dataComm As SqlCommand = New SqlCommand(ProOrSql, conn_R)
行 73: dataComm.CommandType = sqltype
行 74:
行 75: Dim i As Integer
行 76: For i = 0 To culnameAy.Length - 1
行 77: dataComm.Parameters.Add(New SqlParameter(culnameAy(i), SQLSafe(valueAy(i))))
行 78: Next
行 79:
行 80: Dim dataR As SqlDataReader
行 81:
行 82: Try
行 83: dataR = dataComm.ExecuteReader()
行 84:
行 85: Do Until Not dataR.HasRows
行 86: BackDT.Load(dataR)
行 87: Loop
行 88:
行 89: Do Until Not dataR.NextResult
行 90: Do Until Not dataR.HasRows
行 91: BackDT.Load(dataR)
行 92: Loop
行 93: Loop
行 94: Catch ex As Exception
行 95: Err.Clear()
行 96: End Try
行 97:
行 98: dataComm.Dispose()
行 99: conn_R.Close()
行 100:
行 101:
行 102: Return (BackDT)
行 103:
行 104: End Function
行 105:
行 106: Public Shared Function GetDataSet(ByVal ProOrSql As String, ByVal culnameAy() As String, ByVal valueAy() As String, ByVal sqltype As CommandType, ByVal connstr As String) As Data.DataSet
行 107: Dim ds As New DataSet
行 108: Dim conn_R As SqlConnection = New SqlConnection(connstr)
行 109: conn_R.Open()
行 110: Dim dataComm As SqlCommand = New SqlCommand(ProOrSql, conn_R)
行 111: dataComm.CommandType = sqltype
行 112:
行 113: Dim i As Integer
行 114: For i = 0 To culnameAy.Length - 1
行 115: dataComm.Parameters.Add(New SqlParameter(culnameAy(i), SQLSafe(valueAy(i))))
行 116: Next
行 117:
行 118: Dim dataR As New SqlDataAdapter(dataComm)
行 119:
行 120: Try
行 121: dataR.Fill(ds)
行 122:
行 123: Catch ex As Exception
行 124:
行 125: Err.Clear()
行 126: End Try
行 127:
行 128: dataComm.Dispose()
行 129: conn_R.Close()
行 130:
行 131: Return (ds)
行 132:
行 133: End Function
行 134:
行 135:
行 136: Public Shared Function GetDataOutput(ByVal ProOrSql As String, ByVal culnameAy() As String, ByVal valueAy() As String, ByRef totalPage As Integer, ByVal sqltype As CommandType, ByVal connstr As String) As DataTable
行 137:
行 138: Dim BackDT As New DataTable
行 139: Dim conn_R As SqlConnection = New SqlConnection(connstr)
行 140: conn_R.Open()
行 141: Dim dataComm As SqlCommand = New SqlCommand(ProOrSql, conn_R)
行 142: dataComm.CommandType = sqltype
行 143:
行 144: Dim i As Integer
行 145: For i = 0 To culnameAy.Length - 1
行 146: dataComm.Parameters.Add(New SqlParameter(culnameAy(i), SQLSafe(valueAy(i))))
行 147: Next
行 148:
行 149: Dim outputPara As SqlParameter = New SqlParameter("totalPage", SqlDbType.Int)
行 150: outputPara.Direction = ParameterDirection.Output
行 151: dataComm.Parameters.Add(outputPara)
行 152:
行 153: Dim dataR As SqlDataReader
行 154:
行 155: Try
行 156: dataR = dataComm.ExecuteReader()
行 157: If dataR.Read Then
行 158: totalPage = dataR(0)
行 159: End If
行 160:
行 161: dataR.NextResult()
行 162: BackDT.Load(dataR)
行 163:
行 164: Catch ex As Exception
行 165:
行 166: Err.Clear()
行 167: End Try
行 168:
行 169: dataComm.Dispose()
行 170: conn_R.Close()
行 171:
行 172: Return (BackDT)
行 173:
行 174: End Function
行 175:
行 176: Public Shared Function UpateData(ByVal ProOrSql As String, ByVal culnameAy() As String, ByVal valueAy() As String, ByVal sqltype As CommandType, ByVal conn As String) As String
行 177: Dim conn_w As SqlConnection
行 178: Dim msg As String = ""
行 179: conn_w = New SqlConnection(conn)
行 180: conn_w.Open()
行 181: Dim dataComm As SqlCommand = New SqlCommand(ProOrSql, conn_w)
行 182: dataComm.CommandType = sqltype
行 183:
行 184: Dim i As Integer
行 185: For i = 0 To culnameAy.Length - 1
行 186: dataComm.Parameters.Add(New SqlParameter(culnameAy(i), SQLSafe(valueAy(i))))
行 187: Next
行 188: Try
行 189: dataComm.ExecuteNonQuery()
行 190: Catch ex As Exception
行 191: msg = ex.ToString
行 192: Err.Clear()
行 193: End Try
行 194:
行 195: dataComm.Dispose()
行 196: conn_w.Close()
行 197:
行 198: Return (msg)
行 199:
行 200: End Function
行 201:
行 202: Public Shared Function SQLSafe(ByVal pStr As String) As String
行 203: '檢查存入的資料
行 204:
行 205: Dim errSpec As Boolean = False
行 206: Dim strStr As String = "" '傳入的原始資料(保留英文大小寫)
行 207: If pStr Is Nothing Then
行 208: strStr = ""
行 209: Else
行 210: strStr = pStr.ToString.Trim()
行 211: End If
行 212:
行 213: Dim strOK As String = strStr.ToLower() '被檢查的資料
行 214: Dim flag As Boolean = False
行 215:
行 216: Dim SpecStr As String() = New String(23) {}
行 217:
行 218: SpecStr(0) = "net%20user"
行 219: SpecStr(1) = "cmdshell"
行 220: SpecStr(2) = "%3C"
行 221: SpecStr(3) = "exec%20master.dbo.xp_cmdshell"
行 222: SpecStr(4) = "net localgroup administrators"
行 223: SpecStr(5) = "update"
行 224: SpecStr(6) = "exec%20"
行 225: SpecStr(7) = "char("
行 226: SpecStr(8) = "insert"
行 227: SpecStr(9) = "delete"
行 228: SpecStr(10) = "drop"
行 229: SpecStr(11) = "truncate"
行 230: SpecStr(12) = "script"
行 231: SpecStr(13) = "iframe"
行 232: SpecStr(14) = "exec%20"
行 233: SpecStr(15) = "declare"
行 234: SpecStr(16) = "cursor"
行 235: SpecStr(17) = "fetch"
行 236: SpecStr(18) = "cast("
行 237: SpecStr(19) = "'"
行 238: SpecStr(20) = "--"
行 239: SpecStr(21) = """"""
行 240: SpecStr(22) = "|"
行 241: SpecStr(23) = ";"
行 242:
行 243: For i As Integer = 0 To SpecStr.Length - 1
行 244: If strOK.IndexOf(SpecStr(i), 0) > -1 Then
行 245: flag = True
行 246: Exit For
行 247: End If
行 248: Next
行 249:
行 250: If strOK.Length > 20 || flag Then
行 251: HttpContext.Current.Response.End()
行 252: Return ""
行 253:
行 254: Else
行 255: Return strStr
行 256: End If
行 257:
行 258:
行 259: End Function
行 260:
行 261: Public Shared Sub GetTB(ByVal DT As DataTable, ByRef TB As HtmlTable)
行 262: '回傳填好資料的TB
行 263: Try
行 264: For i As Integer = 0 To DT.Rows.Count - 1
行 265: Dim TR As HtmlTableRow = GetTBRow(TB.Rows(0).Cells.Count)
行 266: For j As Integer = 0 To DT.Columns.Count - 1
行 267: If IsDBNull(DT.Rows(i).Item(j)) Then
行 268: TR.Cells(j).InnerText = " "
行 269: ElseIf DT.Rows(i).Item(j).ToString() = "" Then
行 270: TR.Cells(j).InnerText = " "
行 271: Else
行 272: TR.Cells(j).InnerText = DT.Rows(i).Item(j).ToString()
行 273: End If
行 274: Next
行 275: TB.Rows.Add(TR)
行 276: Next
行 277: Catch ex As Exception
行 278: Err.Clear()
行 279: End Try
行 280:
行 281:
行 282: End Sub
行 283:
行 284: Public Shared Function GetTBRow(ByVal TDcount As Integer) As HtmlTableRow
行 285:
行 286: Dim row As New HtmlTableRow
行 287: Try
行 288: For i As Integer = 0 To TDcount - 1
行 289: Dim td As New HtmlTableCell
行 290: td.InnerText = ""
行 291: row.Cells.Add(td)
行 292: Next
行 293: Catch ex As Exception
行 294: End Try
行 295: Return row
行 296: End Function
行 297:
行 298:
行 299: Public Shared Function NoHTML(ByVal Htmlstring As String) As String
行 300:
行 301: '踢除文字中的HTML碼
行 302: Htmlstring = Regex.Replace(Htmlstring, "<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase)
行 303:
行 304: Htmlstring = Regex.Replace(Htmlstring, "<(.[^>]*)>", "", RegexOptions.IgnoreCase)
行 305: Htmlstring = Regex.Replace(Htmlstring, "([\r\n])[\s]+", "", RegexOptions.IgnoreCase)
行 306: Htmlstring = Regex.Replace(Htmlstring, "-->", "", RegexOptions.IgnoreCase)
行 307: Htmlstring = Regex.Replace(Htmlstring, "<!--.*", "", RegexOptions.IgnoreCase)
行 308:
行 309: Htmlstring = Regex.Replace(Htmlstring, "&(quot|#34);", """", RegexOptions.IgnoreCase)
行 310: Htmlstring = Regex.Replace(Htmlstring, "&(amp|#38);", "&", RegexOptions.IgnoreCase)
行 311: Htmlstring = Regex.Replace(Htmlstring, "&(lt|#60);", "<", RegexOptions.IgnoreCase)
行 312: Htmlstring = Regex.Replace(Htmlstring, "&(gt|#62);", ">", RegexOptions.IgnoreCase)
行 313: Htmlstring = Regex.Replace(Htmlstring, "&(nbsp|#160);", " ", RegexOptions.IgnoreCase)
行 314: Htmlstring = Regex.Replace(Htmlstring, "&(iexcl|#161);", "¡", RegexOptions.IgnoreCase)
行 315: Htmlstring = Regex.Replace(Htmlstring, "&(cent|#162);", "¢", RegexOptions.IgnoreCase)
行 316:
行 317: Htmlstring = Regex.Replace(Htmlstring, "&(pound|#163);", "£", RegexOptions.IgnoreCase)
行 318: Htmlstring = Regex.Replace(Htmlstring, "&(copy|#169);", "©", RegexOptions.IgnoreCase)
行 319: Htmlstring = Regex.Replace(Htmlstring, "&#(\d+);", "", RegexOptions.IgnoreCase)
行 320:
行 321:
行 322: Htmlstring.Replace("<", "")
行 323: Htmlstring.Replace(">", "")
行 324: Htmlstring.Replace(vbCr & vbLf, "")
行 325: Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim()
行 326:
行 327: Return Htmlstring
行 328: End Function
行 329:
行 330: Public Shared Function ddrmConvert(ByVal cData As String, ByVal ddrmString As String) As String
行 331:
行 332: Dim ddrm36() As String = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
行 333: If (cData / 36 < 36) Then
行 334:
行 335: ddrmString = ddrm36(cData Mod 36).ToString() + ddrmString
行 336: Return ddrmString
行 337:
行 338: Else
行 339:
行 340: ddrmString = ddrm36(cData Mod 36).ToString() + ddrmString
行 341:
行 342: Dim tempD As Double = 0
行 343:
行 344: tempD = cData / 36
行 345:
行 346:
行 347: If tempD.ToString().IndexOf(".") >= 0 Then
行 348: Return ddrmConvert(tempD.ToString().Substring(0, tempD.ToString().IndexOf(".")), ddrmString)
行 349: Else
行 350: Return ddrmConvert(cData / 36, ddrmString)
行 351: End If
行 352:
行 353: End If
行 354: End Function
行 355:
行 356: ''' <summary>
行 357: ''' 新聞的連結
行 358: ''' </summary>
行 359: Public Shared Function GetNewsUrl(ByVal Newsno As String, ByVal datestr As String, ByVal pg As String, ByVal kind As String) As String
行 360: 'Dim path As String = ddrmConvert(Newsno.Substring(0, 12), "") & _
行 361: ' ddrmConvert(Newsno.Substring(12), "")
行 362: 'Dim url As String = "http://news.cnyes.com/Content/" & datestr & "/" & path & ".shtml"
行 363:
行 364: Dim url As String = pg & "?newsno=" & Newsno & "&kind=" & kind
行 365:
行 366: Return url
行 367: End Function
行 368:
行 369: Public Shared Function GetNewsUrlcnYES(ByVal Newsno As String, ByVal datestr As String, ByVal pg As String, ByVal kind As String) As String
行 370: Dim path As String = ddrmConvert(Newsno.Substring(0, 12), "") & _
行 371: ddrmConvert(Newsno.Substring(12), "")
行 372: Dim url As String = "http://news.cnyes.com/Content/" & datestr & "/" & path & ".shtml"
行 373:
行 374: Return url
行 375: End Function
行 376:
行 377:
行 378: ''' <summary>
行 379: ''' 檢查是否是可提供的項目
行 380: ''' </summary>
行 381: Public Shared Function CheckQueryStringKind(ByVal classtype As String(), Optional ByVal pgflag As Boolean = True) As ArrayList
行 382: Dim kind As String = ""
行 383: Dim result As New ArrayList
行 384: If Not HttpContext.Current.Request.QueryString("kind") Is Nothing Then
行 385: kind = SQLSafe(HttpContext.Current.Request.QueryString("kind"))
行 386: Dim flag As Boolean = False
行 387: Dim kindAy() As String = kind.Split(",")
行 388:
行 389: For Each str As String In kindAy
行 390: For Each type As String In classtype
行 391: If str = type Then
行 392: result.Add(type)
行 393: Exit For
行 394: End If
行 395: Next
行 396: Next
行 397: ElseIf pgflag Then
行 398: HttpContext.Current.Response.End()
行 399: End If
行 400:
行 401: Return result
行 402: End Function
行 403:
行 404: Public Shared Function GetReferUrl(ByVal reurl As Uri, ByVal word As String, ByVal ifend As Boolean, Optional ByVal codedefault As Boolean = False, Optional ByVal codetype As String = "") As String
行 405:
行 406: Dim value As String = ""
行 407: If reurl Is Nothing Then
行 408: HttpContext.Current.Response.End()
行 409: Else
行 410: Dim url As String = ""
行 411: If codedefault Then
行 412: If codetype = "" Then
行 413: url = HttpUtility.UrlDecode(reurl.AbsoluteUri, Encoding.Default)
行 414: Else
行 415: url = HttpUtility.UrlDecode(reurl.AbsoluteUri, Encoding.GetEncoding(codetype))
行 416:
行 417: End If
行 418: Else
行 419: url = reurl.AbsoluteUri
行 420: End If
行 421:
行 422: If url.IndexOf(word) < 0 Then
行 423: If ifend Then
行 424: HttpContext.Current.Response.End()
行 425: End If
行 426: Else
行 427: value = url.Substring(url.IndexOf(word & "=") + (word.Length + 1))
行 428: If value.IndexOf("&") > -1 Then value = value.Substring(0, value.IndexOf("&"))
行 429:
行 430: End If
行 431:
行 432: End If
行 433: Return value
行 434: End Function
行 435:
行 436: Public Shared Function GetName(ByVal code As String, ByVal name As String) As String
行 437: Dim value As String = ""
行 438: Select Case code.ToUpper
行 439: Case "VIX"
行 440: value = "VIX恐慌指數"
行 441: Case Else
行 442: value = name
行 443: End Select
行 444: Return value
行 445: End Function
行 446:
行 447: Shared Function getCalcToday(ByVal myDate As String, ByVal myCode As String, ByVal myName As String) As String
行 448:
行 449: 'history.aspx?fccode=USD/TWD&fcname=%e7%be%8e%e5%85%83%2f%e5%8f%b0%e5%b9%a3&rate=exchange
行 450: Dim returnValue As New StringBuilder(5000)
行 451:
行 452: Dim tempI As Integer = 0
行 453:
行 454: If myDate.Length <> 8 Or Integer.TryParse(myDate, tempI) = False Then
行 455: myDate = Date.Now.ToString("yyyyMMdd")
行 456: End If
行 457:
行 458: tempI = 0
行 459:
行 460:
行 461: Dim tempY As Integer = myDate.Substring(0, 4)
行 462: Dim tempM As Integer = myDate.Substring(4, 2)
行 463: Dim tempD As Integer = myDate.Substring(6, 2)
行 464:
行 465: Dim arrM() As String = {"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}
行 466: Dim arrM2() As String = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
行 467:
行 468: Dim arrM3() As String = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}
行 469:
行 470: If myCode = "calendar" And myName = "calendar" Then
行 471:
行 472: returnValue.Append("<div class=""calen""><ul class=""calen_month"">")
行 473: returnValue.Append("<li class=""yr""><cite><a href=""?mydate=" + (tempY - 1).ToString("0000") + tempM.ToString("00") + tempD.ToString("00") )
行 474:
行 475: returnValue.Append(""">«</a></cite>")
行 476:
行 477: returnValue.Append(tempY.ToString())
行 478: returnValue.Append("<cite><a href=""?mydate=" + (tempY + 1).ToString("0000") + tempM.ToString("00") + tempD.ToString("00") )
行 479:
行 480: returnValue.Append(""">»</a></cite></li>")
行 481:
行 482: For i As Integer = 0 To arrM.Length - 1
行 483:
行 484: If i + 1 = tempM Then
行 485: returnValue.Append("<li class=""current""><a href=""?mydate=" + (tempY).ToString("0000") + (i + 1).ToString("00") + "01"">" + arrM(i) + "<span>" + arrM2(i) + "</span></a></li>")
行 486: Else
行 487: returnValue.Append("<li><a href=""?mydate=" + (tempY).ToString("0000") + (i + 1).ToString("00") + "01"">" + arrM(i) + "<span>" + arrM2(i) + "</span></a></li>")
行 488: End If
行 489: Next
行 490: returnValue.Append("</ul>")
行 491:
行 492:
行 493: Dim tempTotalDays As Integer = 30
行 494:
行 495: tempTotalDays = Date.DaysInMonth(tempY, tempM)
行 496:
行 497:
行 498:
行 499:
行 500: returnValue.Append("<ul class=""calen_dy"">")
行 501:
行 502: For i As Integer = 1 To tempTotalDays
行 503:
行 504: Dim tempDayOfWeek As Integer = New DateTime(tempY, tempM, i).DayOfWeek()
行 505:
行 506: If i = tempD Then
行 507: returnValue.Append("<li class=""current""><a href=""?mydate=" + (tempY).ToString("0000") + (tempM).ToString("00") + i.ToString("00") + """>" + i.ToString() + "</a></li>")
行 508: ElseIf tempDayOfWeek = 0 Or tempDayOfWeek = 6 Then
行 509: returnValue.Append("<li><a href=""?mydate=" + (tempY).ToString("0000") + (tempM).ToString("00") + i.ToString("00") + """ class=""hdy"">" + i.ToString() + "</a></li>")
行 510: Else
行 511: returnValue.Append("<li><a href=""?mydate=" + (tempY).ToString("0000") + (tempM).ToString("00") + i.ToString("00") + """>" + i.ToString() + "</a></li>")
行 512: End If
行 513:
行 514: Next
行 515:
行 516: returnValue.Append("</ul></div>")
行 517:
行 518: Else
行 519:
行 520: returnValue.Append("<div class=""calen""><ul class=""calen_month"">")
行 521: returnValue.Append("<li class=""yr""><cite><a href=""?fccode=" + myCode + "&fcname=" + System.Web.HttpUtility.UrlEncode(myName) + "&mydate=" + (tempY - 1).ToString("0000") + tempM.ToString("00") + tempD.ToString("00") )
行 522:
行 523: returnValue.Append(""">«</a></cite>")
行 524:
行 525: returnValue.Append(tempY.ToString())
行 526: returnValue.Append("<cite><a href=""?fccode=" + myCode + "&fcname=" + System.Web.HttpUtility.UrlEncode(myName) + "&mydate=" + (tempY + 1).ToString("0000") + tempM.ToString("00") + tempD.ToString("00") )
行 527:
行 528: returnValue.Append(""">»</a></cite></li>")
行 529:
行 530: For i As Integer = 0 To arrM.Length - 1
行 531:
行 532: If i + 1 = tempM Then
行 533: returnValue.Append("<li class=""current""><a href=""?fccode=" + myCode + "&fcname=" + System.Web.HttpUtility.UrlEncode(myName) + "&mydate=" + (tempY).ToString("0000") + (i + 1).ToString("00") + "01" + """>" + arrM(i) + "<span>" + arrM2(i) + "</span></a></li>")
行 534: Else
行 535: returnValue.Append("<li><a href=""?fccode=" + myCode + "&fcname=" + System.Web.HttpUtility.UrlEncode(myName) + "&mydate=" + (tempY).ToString("0000") + (i + 1).ToString("00") + "01" + """>" + arrM(i) + "<span>" + arrM2(i) + "</span></a></li>")
行 536: End If
行 537: Next
行 538: returnValue.Append("</ul>")
行 539:
行 540:
行 541: Dim tempTotalDays As Integer = 30
行 542:
行 543: tempTotalDays = Date.DaysInMonth(tempY, tempM)
行 544:
行 545:
行 546:
行 547:
行 548: returnValue.Append("<ul class=""calen_dy"">")
行 549:
行 550: For i As Integer = 1 To tempTotalDays
行 551:
行 552: Dim tempDayOfWeek As Integer = New DateTime(tempY, tempM, i).DayOfWeek()
行 553:
行 554: If i = tempD Then
行 555: returnValue.Append("<li class=""current""><a href=""?fccode=" + myCode + "&fcname=" + System.Web.HttpUtility.UrlEncode(myName) + "&mydate=" + (tempY).ToString("0000") + (tempM).ToString("00") + i.ToString("00") + """>" + i.ToString() + "</a></li>")
行 556: ElseIf tempDayOfWeek = 0 Or tempDayOfWeek = 6 Then
行 557: returnValue.Append("<li><a href=""?fccode=" + myCode + "&fcname=" + System.Web.HttpUtility.UrlEncode(myName) + "&mydate=" + (tempY).ToString("0000") + (tempM).ToString("00") + i.ToString("00") + """ class=""hdy"">" + i.ToString() + "</a></li>")
行 558: Else
行 559: returnValue.Append("<li><a href=""?fccode=" + myCode + "&fcname=" + System.Web.HttpUtility.UrlEncode(myName) + "&mydate=" + (tempY).ToString("0000") + (tempM).ToString("00") + i.ToString("00") + """>" + i.ToString() + "</a></li>")
行 560: End If
行 561:
行 562: Next
行 563:
行 564: returnValue.Append("</ul></div>")
行 565:
行 566: End If
行 567:
行 568:
行 569: returnValue.Append("<div class=""todaydate"">" + tempY.ToString() + "年" + tempM.ToString() + "月" + tempD.ToString() + "日 " + arrM3(New DateTime(tempY, tempM, tempD).DayOfWeek()) + "</div>")
行 570:
行 571:
行 572: Return returnValue.ToString()
行 573:
行 574: End Function
行 575:
行 576: End Class
|